code: private void readChar() throws IOException {
          if ('\n' == lastChar)
          {
              this.colNo = 0;
              this.lineNo++;
          }
  
          lastChar = reader.read();
          if (-1 == lastChar) return ;
  
          colNo++;
      }
docs: Method to read the next character from the string, keeping track of line/column position.
  
  @throws IOEXception Thrown when underlying reader throws an error.