protected int readCodePoint() throws IOException {
  int next=reader.read();
  if (Character.isHighSurrogate((char)next)) {
    next=Character.toCodePoint((char)next,(char)reader.read());
  }
  return next;
}

protected int readCodePoint ( ) throws IOException { int next = reader . read ( ) ; if ( Character . isHighSurrogate ( ( char ) next ) ) { next = Character . toCodePoint ( ( char ) next , ( char ) reader . read ( ) ) ; } return next ; }
reads the next unicode code point .
