code: public int read(final Reader reader) throws IOException {
          final int c = reader.read(cbuf);
          if (c > 0) {
              addData(cbuf, 0, c);
          }
          return c;
      }
docs: Read some chars from a reader, and return the number of characters read
  
  @param reader input reader
  
  @return characters read
  
  @throws IOException if thrown by underlying read action