}
private BucketSearchResult splitBucket(List<OBonsaiBucketPointer> path, int keyIndex, K keyToInsert) throws IOException {
final OBonsaiBucketPointer bucketPointer = path.get(path.size() - 1);
OCacheEntry bucketEntry = diskCache.load(fileId, bucketPointer.getPageIndex(), false);
bucketEntry.acquireExclusiveLock();
try {
OSBTreeBonsaiBucket<K, V> bucketToSplit = new OSBTreeBonsaiBucket<K, V>(bucketEntry, bucketPointer.getPageOffset(),
keySerializer, valueSerializer, getTrackMode());
final boolean splitLeaf = bucketToSplit.isLeaf();