private void searchAndFetchInternal(Value value, int minimumBytes) throws PersistitException {
        Buffer buffer = null;
        try {
            int foundAt = search(_key, false);
            LevelCache lc = _levelCache[0];
            buffer = lc._buffer;
            fetchFromBufferInternal(buffer, value, foundAt, minimumBytes);
            _volume.getStatistics().bumpFetchCounter();
            _tree.getStatistics().bumpFetchCounter();
        } finally {
            if (buffer != null) {
                buffer.releaseTouched();
            }
            _treeHolder.verifyReleased();
        }
    }