}
if(!_overflowBuffer.hasRemaining())
{
_overflowBuffer.clear();
CompositeWritableBuffer outputBuffer =
new CompositeWritableBuffer(
new WritableBuffer.ByteBufferWrapper(ByteBuffer.wrap(bytes, offset + written, size - written)),
new WritableBuffer.ByteBufferWrapper(_overflowBuffer));
if( outputBuffer.remaining() >= _maxFrameSize ) { written += processHeader(outputBuffer);
if( outputBuffer.remaining() >= _maxFrameSize ) { written += processOpen(outputBuffer);
if( outputBuffer.remaining() >= _maxFrameSize ) { written += processBegin(outputBuffer);
if( outputBuffer.remaining() >= _maxFrameSize ) { written += processAttach(outputBuffer);
if( outputBuffer.remaining() >= _maxFrameSize ) { written += processReceiverDisposition(outputBuffer);
if( outputBuffer.remaining() >= _maxFrameSize ) { written += processReceiverFlow(outputBuffer);
if( outputBuffer.remaining() >= _maxFrameSize ) { written += processMessageData(outputBuffer);
if( outputBuffer.remaining() >= _maxFrameSize ) { written += processSenderDisposition(outputBuffer);
if( outputBuffer.remaining() >= _maxFrameSize ) { written += processSenderFlow(outputBuffer);
if( outputBuffer.remaining() >= _maxFrameSize ) { written += processDetach(outputBuffer);
if( outputBuffer.remaining() >= _maxFrameSize ) { written += processEnd(outputBuffer);
if( outputBuffer.remaining() >= _maxFrameSize ) { written += processClose(outputBuffer);
}}}}}}}}}}}}
_overflowBuffer.flip();
written -= _overflowBuffer.remaining();
}