public OSBTreeBonsaiBucket( OCacheEntry cacheEntry, int pageOffset, boolean isLeaf, OBinarySerializer<K> keySerializer, OBinarySerializer<V> valueSerializer, OWALChangesTree changesTree) throws IOException { super(cacheEntry, changesTree); this.offset = pageOffset; this.isLeaf = isLeaf; this.keySerializer = keySerializer; this.valueSerializer = valueSerializer; setIntValue(offset + FREE_POINTER_OFFSET, MAX_BUCKET_SIZE_BYTES); setIntValue(offset + SIZE_OFFSET, 0); setByteValue(offset + IS_LEAF_OFFSET, (byte) (isLeaf ? 1 : 0)); setLongValue(offset + LEFT_SIBLING_OFFSET, -1); setLongValue(offset + RIGHT_SIBLING_OFFSET, -1); setLongValue(offset + TREE_SIZE_OFFSET, 0); setByteValue(offset + KEY_SERIALIZER_OFFSET, keySerializer.getId()); setByteValue(offset + VALUE_SERIALIZER_OFFSET, valueSerializer.getId()); }