int surrogateValue = getURF16SurrogateValue(c, ch, i, end);
int codePoint = 0; if (i + 1 >= end) { throw new IOException( Utils.messages.createMessage( MsgKey.ER_INVALID_UTF16_SURROGATE, new Object[] { Integer.toHexString((int) c)})); }  final char high = c; final char low = ch[i+1]; if (!Encodings.isLowUTF16Surrogate(low)) { throw new IOException( Utils.messages.createMessage( MsgKey.ER_INVALID_UTF16_SURROGATE, new Object[] { Integer.toHexString((int) c) + " " + Integer.toHexString(low)})); }
    protected void writeUTF16Surrogate(char c, char ch[], int i, int end)        throws IOException    {        // UTF-16 surrogate        int surrogateValue = getURF16SurrogateValue(c, ch, i, end);        final java.io.Writer writer = m_writer;        writer.write('&');        writer.write('#');        // writer.write('x');        writer.write(Integer.toString(surrogateValue));        writer.write(';');    }