@Override
    public void close() throws IOException {
        if (fileChannel != null) {
            fileChannel.close();
        }
        if (rf != null) {
            rf.close();
        }

        // GC
        threadLocalByteBuffer.set(null);
        threadLocalByteBuffer = null;
    }