public final void append( byte[] chars ) { append( chars, 0, chars.length );
public final void append( byte value ) {  byte[] chunk;    boolean lastchunk = ( m_lastChunk + 1 == m_array.length );  if ( m_firstFree < m_chunkSize )  chunk = m_array[m_lastChunk]; else {   int i = m_array.length;  if ( m_lastChunk + 1 == i ) { byte[][] newarray = new byte[i + 16][];  System.arraycopy( m_array, 0, newarray, 0, i );  m_array = newarray; }   chunk = m_array[++m_lastChunk];  if ( chunk == null ) {   if ( m_lastChunk == 1 << m_rebundleBits && m_chunkBits < m_maxChunkBits )    m_innerFSB = new FastByteBuffer( this );   chunk = m_array[m_lastChunk] = new byte[m_chunkSize];  }  m_firstFree = 0; }   chunk[m_firstFree++] = value;
    public final void append( byte[] chars ) {        append( chars, 0, chars.length );    }