anchor.diff:    Result := True;
   end;
   
  -procedure TTrie.PackNode(var AIterator : TTrieIterator; const ChildrenBackup : array of Pointer);
  -var
  -  j, BitFieldIndex : Integer;
  -begin
  -  PTrieBranchNode(AIterator.NodeStack[AIterator.Level])^.ChildIndex := 0;
  -  if AIterator.NodeStack[AIterator.Level]^.ChildrenCount > 0 then
  -  begin
  -    ReallocMem(PTrieBranchNode(AIterator.NodeStack[AIterator.Level])^.Children, AIterator.NodeStack[AIterator.Level]^.ChildrenCount * sizeof(Pointer));
  -    j := 0;
  -    for BitFieldIndex := 0 to ChildrenPerBucket - 1 do
  -      if GetBusyIndicator(AIterator.NodeStack[AIterator.Level], BitFieldIndex) then
  -      begin
  -        PTrieNodeArray(PTrieBranchNode(AIterator.NodeStack[AIterator.Level])^.Children)^[j] := ChildrenBackup[BitFieldIndex];
  -        SetChildIndex(PTrieBranchNode(AIterator.NodeStack[AIterator.Level]), BitFieldIndex, j);
  -        inc(j);
  -      end;
  -  end
  -  else
  -  begin
  -    FreeMem(PTrieBranchNode(AIterator.NodeStack[AIterator.Level])^.Children);
  -    PTrieBranchNode(AIterator.NodeStack[AIterator.Level])^.Children := nil;
  -    inc(AIterator.BreadCrumbs[AIterator.Level]);
  -  end;
  -end;
  -
   procedure TTrie.FreeTrieBranchNodeArray(const Arr: PTrieNodeArray;
     ChildrenCount, Level: Byte);
   var
  
positive.code:   end;
    Result := ANode^.Base.ChildrenCount;
    inc(ANode^.Base.ChildrenCount);
  end;
  
  function TTrie.Find(const Data; out ANode: PTrieLeafNode; out AChildIndex:
  
negative.code:   inherited;
  end;
  
  procedure TTrie.PackNode(var AIterator: TTrieIterator; const ChildrenBackup: array of Byte; AObjectSize: Cardinal);
  var
    j, BitFieldIndex : Cardinal;
  begin
  