writer.write('&'); writer.write('#');   writer.write(Integer.toString(surrogateValue)); writer.write(';');
if (m_encodingInfo.isInEncoding(c,low)) {   writer.write(ch,i,2); } else {    final String encoding = getEncoding(); if (encoding != null) {  codePoint = Encodings.toCodePoint(high, low);  writer.write('&'); writer.write('#'); writer.write(Integer.toString(codePoint)); writer.write(';'); } else {  writer.write(ch, i, 2); } }  return codePoint;
    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(';');    }