anchor.diff:        prevRecord._next = record;
       }
   
  +    if (_movedItems == null) _movedItems = new DuplicateMap();
  +
       _movedItems.put(record);
       record.currentIndex = index;
       return record;
  
positive.code:     }
  
      // Attempt to see if we have seen the item before.
      record = _movedItems.get(item, index);
      if (record != null) {
        // We have seen this before, we need to move it forward in the collection.
        _moveAfter(record, previousRecord, index);
      } else {
        // Never seen it, check evicted list.
        record = _removedItems.get(item);
        if (record != null) {
          // It is an item which we have evicted earlier: reinsert it back into the list.
          _reinsertAfter(record, previousRecord, index);
  
negative.code:   int _length;
  
    /// Keeps track of moved items.
    DuplicateMap _movedItems;
  
    /// Keeps track of removed items.
    DuplicateMap _removedItems;
  
    ItemRecord<V> _previousItHead;
    ItemRecord<V> _itHead, _itTail;
  