public unsafe static bool ValidateCurrentKey <T>(this T self, LowLevelTransaction tx, TreeNodeHeader *node) where T : IIterator { if (self.RequiredPrefix.HasValue) { var currentKey = TreeNodeHeader.ToSlicePtr(tx.Allocator, node); if (SliceComparer.StartWith(currentKey, self.RequiredPrefix) == false) { return(false); } } if (self.MaxKey.HasValue) { var currentKey = TreeNodeHeader.ToSlicePtr(tx.Allocator, node); if (SliceComparer.CompareInline(currentKey, self.MaxKey) >= 0) { return(false); } } return(true); }