ByteBuffer () { if (!isPreTombstone()) { throw new AssertionError("Bug: only PRE_TOMBSTONES could detach buffer. " + this); } final ByteBuffer buffer = this.data; if (buffer == null) { throw new AssertionError("Bug: buffer already detached, .data is null. " + this); } this.data = null; return buffer; }