private byte[] Serialize(IBPlusTreeNode <TKey> node) { var header = new BPlusTreeNodePageHeader { IsLeaf = node.IsLeaf, NextPageIndex = node.NextNodeIndex, PreviousPageIndex = node.PreviousNodeIndex, ParentPageIndex = node.ParentNodeIndex, SizeRange = _nodeEntrySizeRange }; var page = new Page(_pageManager, node.Index, new byte[_pageManager.PageSize]); int cnt = node.Entries.Count; lock (_locker) { for (int i = 0; i < cnt; i++) { var entry = node.Entries[i]; _dbItems[i].RawData = GetIndexEntryBytes(entry); } PageFormatter.FormatFixedSizeItemsPage(page, header, _dbItems.Take(cnt).ToArray()); } return(page.Content); }