code: static void parse(final Readable readable, final ParseListener listener)
  		throws IOException
  	{
  		if (readable == null)
  		{
  			throw new IllegalArgumentException("readable must not be null");
  		}
  		FastqParserLineProcessor lineProcessor = new FastqParserLineProcessor(listener);
  		CharStreams.readLines(readable, lineProcessor);
  		if (lineProcessor.getState() == State.COMPLETE)
  		{
  			listener.complete();
  			lineProcessor.setState(State.DESCRIPTION);
  		}
  		if (lineProcessor.getState() != State.DESCRIPTION)
  		{
  			throw new IOException("truncated sequence"); // at line " + lineNumber);
  		}
  	}
docs: Parse the specified readable.
  
  @param readable readable, must not be null
  @param listener low-level event based parser callback, must not be null
  @throws IOException if an I/O error occurs