public void append(final ByteBuffer alreadyEncoded) throws java.io.IOException {
        if (alreadyEncoded.remaining() == 0) {
            return;
        }
        final int length = alreadyEncoded.limit() - alreadyEncoded.position();
        if (shouldCopy(length)) {
            makeRoom(length);
            current.put(alreadyEncoded);
        } else {
            scratch();
            add(alreadyEncoded);
        }
    }
Data store for AbstractByteWriter. Tested in unit tests for ByteWriter.

@author Steinar Knutsen
vespajlib/src/main/java/com/yahoo/io/BufferChain.java