anchor.diff:    void _revertToPreviousState() {
       if (!isDirty) return;
   
  -    if (_movedItems != null) _movedItems.clear();
  +    if (_linkedRecords != null) _linkedRecords.clear();
       ItemRecord<V> prev;
       int i = 0;
   
  
positive.code:   Iterable _iterable;
    int _length;
  
    /// Keeps track of moved items.
    DuplicateMap _movedItems;
  
    /// Keeps track of removed items.
    DuplicateMap _removedItems;
  
    ItemRecord<V> _previousItHead;
    ItemRecord<V> _itHead, _itTail;
  
negative.code:    * of 'b' rather then switch 'a' with 'b' and then add 'a' at the end.
     */
    ItemRecord<V> verifyReinsertion(ItemRecord record, item, int index) {
      ItemRecord<V> reinsertRecord = _unlinkedRecords == null ? null : _unlinkedRecords.get(item);
      if (reinsertRecord != null) {
        record = _reinsertAfter(reinsertRecord, record._prev, index);
      } else if (record.currentIndex != index) {
  