@Override public int deserialize(byte[] stream, int offset) { final long fileId = OLongSerializer.INSTANCE.deserializeLiteral(stream, offset); offset += OLongSerializer.LONG_SIZE; final long pageIndex = OLongSerializer.INSTANCE.deserializeLiteral(stream, offset); offset += OLongSerializer.LONG_SIZE; final int pageOffset = OIntegerSerializer.INSTANCE.deserializeLiteral(stream, offset); offset += OIntegerSerializer.INT_SIZE; // Cached bag size. Not used after 1.7.5 offset += OIntegerSerializer.INT_SIZE; if (fileId == -1) collectionPointer = null; else collectionPointer = new OBonsaiCollectionPointer(fileId, new OBonsaiBucketPointer(pageIndex, pageOffset)); this.size = -1; changes.putAll(ChangeSerializationHelper.INSTANCE.deserializeChanges(stream, offset)); return offset; }