ByteBuffer current = super.getByteBuffer(); if (null != current) { current.clear();
if (hasRemaining() && (null == super.getByteBuffer())) { bufferChange(); int bufferRemaining = super.getByteBuffer().remaining(); if (bufferRemaining >= len) { int read = super.read(b, off, len); int res = 0; if (bufferRemaining > 0) { super.getByteBuffer().get(b, off, bufferRemaining); res = bufferRemaining; position += bufferRemaining;
if (hasRemaining() || (null == super.getByteBuffer())) { bufferChange(); if (!super.getByteBuffer().hasRemaining()) {
ByteBuffer currentBuffer = super.getByteBuffer(); if (null != currentBuffer) { byteBufferProvider.releaseByteBuffer(currentBuffer);