private BucketSearchResult splitNonRootBucket(List<Long> path, int keyIndex, K keyToInsert, long pageIndex,
OSBTreeBucket<K, V> bucketToSplit, boolean splitLeaf, int indexToSplit, K separationKey,
List<OSBTreeBucket.SBTreeEntry<K, V>> rightEntries) throws IOException {
OCacheEntry rightBucketEntry = diskCache.allocateNewPage(fileId);
rightBucketEntry.acquireExclusiveLock();
try {
OSBTreeBucket<K, V> newRightBucket = new OSBTreeBucket<K, V>(rightBucketEntry, splitLeaf, keySerializer, keyTypes,
valueSerializer, getTrackMode());
newRightBucket.addAll(rightEntries);