code: private int readChar(Reader source) throws ParseException
      {
          int c;
  
          try {
              c = source.read();
          } catch (IOException e) {
              throw new ParseException("Failed to read input source", e);
          }
  
          return c;
      }
docs: Read a single char from an Reader source.
  
  @param source the input to read from
  @return the char read
  @throws ParseException in case of reading error