code: public boolean hasNext() {
  		if(cachedNext != null) {
  			return true;
  		}
  		while(cachedNext == null) {
  			if(br != null) {
  				// attempt to read the next line from this:
  				try {
  					cachedNext = br.readLine();
  					if(cachedNext == null) {
  						br = null;
  						// next loop:
  					} else {
  						return true;
  					}
  				} catch (IOException e) {
  					e.printStackTrace();
  					br = null;
  				}
  			} else {
  				// do we have more blocks to use?
  				if(blockItr.hasNext()) {
  					try {
  						br = blockItr.next().readBlock();
  					} catch (IOException e) {
  						throw new RuntimeIOException();
  					}
  				} else {
  					return false;
  				}
  			}
  		}
  		
  		return false;
  	}
docs: /* (non-Javadoc)
  @see java.util.Iterator#hasNext()