code: public List<DBaseFileRecord> readRestOfDBFRecords() throws IOException {
  		if (this.finished) {
  			throw new EOFDBaseFileException();
  		}
  		if (this.recordCount == -1) {
  			throw new MustCallReadHeaderFunctionException();
  		}
  
  		final Vector<DBaseFileRecord> records = new Vector<>();
  		try {
  			while (this.readingPosition < this.recordCount) {
  				final DBaseFileRecord record = readNextDBFRecord();
  				if (record != null) {
  					records.add(record);
  				}
  			}
  		} catch (EOFException e) {
  			//
  		}
  		this.finished = true;
  		this.stream.close();
  		return records;
  	}
docs: Read all the records.
  
  <p><strong>This method close the input stream !!!</strong>
  
  <p>The returned value could take a lot
  of memory. In this case, the virtual machine
  could freeze when you try to access to the
  collection content.
  
  @return all the records
  @throws IOException in case of error.