public LinkedBuffer writeStartObject()
    {

        LinkedBuffer objectHeader;
        
        if (tail.buffer.length - tail.offset < MAX_MAPHEADER_SIZE)
        {
            tail = new LinkedBuffer(this.nextBufferSize, tail);
        }

        objectHeader = tail;
        tail = LinkedBuffer.wrap(tail.buffer, tail.offset + MAX_MAPHEADER_SIZE, 0);
        objectHeader.next = tail;

        return objectHeader;
    }
Custom eXtream IO output implementation that is 3x faster than MsgpackOutput

@author Alex Shvid
protostuff-msgpack/src/main/java/io/protostuff/MsgpackXOutput.java