class Buffer {

	public ByteBuffer getNioBuffer() {
		synchronized (recycleLock) {
			ensureNotRecycled();
			// the memory segment returns a distinct buffer every time
			return memorySegment.wrap(0, currentSize);
		}
	}

	public  Buffer(MemorySegment memorySegment, BufferRecycler recycler);
	public  Buffer(MemorySegment memorySegment, BufferRecycler recycler, boolean isBuffer);

}