anchor.diff:                // When unwinding it will go up to the parent of *this node* (that potentially
                 // was removed during the iteration)
                 AIterator.CurNode := AIterator.BackTrack^.Node;
  +              AIterator.CurNodeParent := AIterator.BackTrack^.NodeParent;
                 AIterator.BackTrack^.Node := AIterator.BackTrack^.Node^.Right;
                 AIterator.BackTrack^.NextMove := imLeft;
               end
  
positive.code:     trieAllocators.DeAlloc(TmpNode);
    end;
    AIterator.BackTrack := nil;
  end;
  
  function THashTrie.InternalFind(key: Pointer; KeySize: Cardinal; out
  
negative.code:   BacktrackNode^.NextMove := imLeft;
  end;
  
  function THashTrie.NewKVPTreeNode(const kvp: TKeyValuePair): PKeyValuePairNode;
  begin
    Result := FKeyValuePairNodeAllocator.Alloc;
    Result^.KVP := kvp;
  