X++:
{
...
seedSet = Set::difference( newSet, oldSet ); // зародыши: новые значения будут браться отсюда
if( seedSet.empty() )
return ret; // не на что менять - поэтому ничего менять не нужно (gl00mie)
deadSet = Set::difference( oldSet, newSet ); // мертвенькие: они исчезнут
seedEnum = seedSet.getEnumerator();
deadEnum = deadSet.getEnumerator();
while ( deadEnum.moveNext() && seedEnum.moveNext() )
{
ret.addEnd([deadEnum.current(), seedEnum.current()]);
}
return ret;
}
Вот теперь - хорошо.