code: @Override
  	public boolean hasNext()
  	{
  		if(previousException != null)
  			return false;
  		if(line != null)
  			return true;
  		try
  		{
  			line = in.readLine();
  			if(line == null)
  				return false;
  			return true;
  		}
  		catch(IOException e)
  		{
  			previousException = e;
  			return false;
  		}
  	}
docs: {@link java.util.Iterator#hasNext()} implementation.
  @return True if more lines are availible, false if not.
  As this can cause the underlying {@link java.io.InputStream InputStream} to throw
  a {@link java.io.IOException IOException} but the {@link java.util.Iterator#hasNext()}
  interface does not, false is returned instead of it being rethrown. The exception can be
  retrieved via {@link #getIOException()}.