private StringBuffer internalReadStringBuffer(StringBuffer buf, int length) throws IOException {
        if ((byteBuffer == null) || (byteBuffer.length < length))
            byteBuffer = new byte[length];
        is.readFully(byteBuffer, 0, length);
        readUTF8Chars(buf, byteBuffer, 0, length);
        return buf;
    }