Assume you have an attribute list for an object (originalList)
which looks like this:
{ATTR_Size, "large"},
{ATTR_Color, "orange"},
{ATTR_Shape, "square"}
If you receive a new tag list containing some changes (changeList),
which looks like this:
{ATTR_Size, "large"},
{ATTR_Shape, "triangle"}
If you call FilterTagChanges(), changeList will be modified to
contain only those attributes which are different from those
in originalList. All other items will have their tag values set to
TAG_IGNORE. The resulting changeList will become:
{TAG_IGNORE, "large"},
{ATTR_Shape, "triangle"}
If 'apply' was set to 0, originalList would be unchanged. If 'apply'
was non-zero, originalList would be changed to:
{ATTR_Size, "large"},
{ATTR_Color, "orange"},
{ATTR_Shape, "triangle"}