code: char read() {
          try {
              if( cachePos < cache.length() ) {
                  return incLineColumn( cache.charAt( cachePos++ ) );
              }
              int ch = readCharBlockMarker();
              if( ch == -1 ) {
                  throw createException( "Unexpected end of Less data" );
              }
              return incLineColumn( ch );
          } catch( IOException ex ) {
              throw new LessException( ex );
          }
      }
docs: Read a single character from reader or from back buffer
  
  @return a character or -1 if EOF
  @throws LessException
  If an I/O error occurs