anchor.diff:      Result := False;
       exit;
     end;
  -  if FTrieDepth = TrieDepth32Bits then
  -  begin
  -    AIterator.LastResult32 := AIterator.LastResult32 shr BitsForChildIndexPerBucket;
  -    AIterator.LastResult32 := AIterator.LastResult32 and not Integer(BucketMask);
  -  end
  -  else
  -  begin
  -    AIterator.LastResult64 := AIterator.LastResult64 shr BitsForChildIndexPerBucket;
  -    AIterator.LastResult64 := AIterator.LastResult64 and not Int64(BucketMask);
  +  case FTrieDepth of
  +    TrieDepth16Bits :
  +    begin
  +      AIterator.LastResult16 := AIterator.LastResult16 shr BitsForChildIndexPerBucket;
  +      AIterator.LastResult16 := AIterator.LastResult16 and not Word(BucketMask);
  +    end;
  +    TrieDepth32Bits :
  +    begin
  +      AIterator.LastResult32 := AIterator.LastResult32 shr BitsForChildIndexPerBucket;
  +      AIterator.LastResult32 := AIterator.LastResult32 and not Integer(BucketMask);
  +    end;
  +    else
  +    begin
  +      AIterator.LastResult64 := AIterator.LastResult64 shr BitsForChildIndexPerBucket;
  +      AIterator.LastResult64 := AIterator.LastResult64 and not Int64(BucketMask);
  +    end;
     end;
     Result := True;
   end;
  
positive.code:   BucketMask = $F;
    MaxTrieDepth = sizeof(Int64) * BitsPerByte div BitsForChildIndexPerBucket;
    ChildrenPerBucket = BitsForChildIndexPerBucket * BitsForChildIndexPerBucket;
    TrieDepth32Bits = 8;
    TrieDepth64Bits = 16;
  
  
negative.code:           Result := True;
            exit;
          end;
          case ATrieDepth of
            TrieDepth16Bits : AIterator.LastResult16 := AIterator.LastResult16 shl BitsForChildIndexPerBucket;
            TrieDepth32Bits : AIterator.LastResult32 := AIterator.LastResult32 shl BitsForChildIndexPerBucket;
            else AIterator.LastResult64 := AIterator.LastResult64 shl BitsForChildIndexPerBucket;
          end;
          AIterator.ANodeStack[AIterator.Level] := NextNode(PTrieBranchNode(AIterator.ANodeStack[AIterator.Level - 1]), AIterator.Level - 1,
                                                            GetChildIndex(PTrieBranchNode(AIterator.ANodeStack[AIterator.Level - 1]),
                                                            AIterator.BreadCrumbs[AIterator.Level - 1]));
  