public final String getString(String charsetName) {
        if (position >= origin + limit) throw new IllegalArgumentException("limit excceed: " + position);

        byte[] buf = buffer;
        final int len = (0xff & buf[position]);
        if (position + len + 1 > origin + limit) throw new IllegalArgumentException("limit excceed: "
                                                                                    + (position + len + 1 - origin));

        try {
            String string = new String(buf, position + 1, len, charsetName);
            position += len + 1;
            return string;
        } catch (UnsupportedEncodingException e) {
            throw new IllegalArgumentException("Unsupported encoding: " + charsetName, e);
        }
    }
public final String getString ( String charsetName ) { if ( position >= origin + limit ) throw new IllegalArgumentException ( "limit excceed: " + position ) ; byte [ ] buf = buffer ; final int len = ( 0xff & buf [ position ] ) ; if ( position + len + 1 > origin + limit ) throw new IllegalArgumentException ( "limit excceed: " + ( position + len + 1 - origin ) ) ; try { String string = new String ( buf , position + 1 , len , charsetName ) ; position += len + 1 ; return string ; } catch ( UnsupportedEncodingException e ) { throw new IllegalArgumentException ( "Unsupported encoding: " + charsetName , e ) ; } }
Return next dynamic length string from buffer.