code: public boolean skipLine() throws IOException {
  		checkClosed();
  
  		// clear public column values for current line
  
  		columnsCount = 0;
  
  		boolean skippedLine = false;
  
  		if (hasMoreData) {
  			boolean foundEol = false;
  
  			do {
  				if (dataBuffer.Position == dataBuffer.Count) {
  					checkDataLength();
  				} else {
  					skippedLine = true;
  
  					// grab the current letter as a char
  
  					char currentLetter = dataBuffer.Buffer[dataBuffer.Position];
  
  					if (currentLetter == Letters.CR
  							|| currentLetter == Letters.LF) {
  						foundEol = true;
  					}
  
  					// keep track of the last letter because we need
  					// it for several key decisions
  
  					lastLetter = currentLetter;
  
  					if (!foundEol) {
  						dataBuffer.Position++;
  					}
  
  				} // end else
  			} while (hasMoreData && !foundEol);
  
  			columnBuffer.Position = 0;
  
  			dataBuffer.LineStart = dataBuffer.Position + 1;
  		}
  
  		rawBuffer.Position = 0;
  		rawRecord = "";
  
  		return skippedLine;
  	}
docs: Skips the next line of data using the standard end of line characters and
  does not do any column delimited parsing.
  
  @return Whether a line was successfully skipped or not.
  @exception IOException
  Thrown if an error occurs while reading data from the
  source stream.