public static String readLine(Reader self) throws IOException {
  if (self instanceof BufferedReader) {
    BufferedReader br=(BufferedReader)self;
    return br.readLine();
  }
  if (self.markSupported()) {
    return readLineFromReaderWithMark(self);
  }
  return readLineFromReaderWithoutMark(self);
}

public static String readLine ( Reader self ) throws IOException { if ( self instanceof BufferedReader ) { BufferedReader br = ( BufferedReader ) self ; return br . readLine ( ) ; } if ( self . markSupported ( ) ) { return readLineFromReaderWithMark ( self ) ; } return readLineFromReaderWithoutMark ( self ) ; }
read a single , whole line from the given reader .
