anchor.diff:      }
   
       // Attempt to see if we have seen the item before.
  -    record = _movedItems.get(item, index);
  +    record = _movedItems == null ? null : _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);
  +      record = _removedItems == null ? null : _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);
  
positive.code:       _addToRemovals(_unlink(record));
        record = nextRecord;
      }
      _removedItems.clear();
  
      if (_additionsTail != null) _additionsTail._nextAdded = null;
      if (_movesTail != null) _movesTail._nextMoved = null;
  
negative.code:       prevRecord._next = record;
      }
  
      if (_movedItems == null) _movedItems = new DuplicateMap();
  
      _movedItems.put(record);
      record.currentIndex = index;
      return record;
  