anchor.diff:      }
     }
   
  -  ItemRecord get(key, int hideIndex) {
  +  /// Returns an [ItemRecord] having [ItemRecord.item] == [item] and [ItemRecord.currentIndex] >=
  +  /// [hideIndex]
  +  ItemRecord get(item, int hideIndex) {
       ItemRecord record;
       for (record = head; record != null; record = record._nextDup) {
         if ((hideIndex == null || hideIndex < record.currentIndex) &&
  
positive.code:     assert(isDirty == false);
    }
  
    /**
     * A [_CollectionChangeRecord] is considered dirty if it has additions, moves
     * or removals.
     */
    bool get isDirty => _additionsHead != null ||
                        _movesHead != null ||
                        _removalsHead != null;
  
negative.code:   /**
     * This is the core function which handles differences between collections.
     *
     * - [record] is the record which we saw at this position last time. If [:null:] then it is a new
     *   item.
     * - [item] is the current item in the collection
     * - [index] is the position of the item in the collection
     */
  