code: public void read(InputStream is) throws IOException
     {
        byte[] headerBlock = new byte[20];
        is.read(headerBlock);
  
        int headerLength = PEPUtility.getShort(headerBlock, 8);
        int recordCount = PEPUtility.getInt(headerBlock, 10);
        int recordLength = PEPUtility.getInt(headerBlock, 16);
        StreamHelper.skip(is, headerLength - headerBlock.length);
  
        byte[] record = new byte[recordLength];
        for (int recordIndex = 1; recordIndex <= recordCount; recordIndex++)
        {
           is.read(record);
           readRow(recordIndex, record);
        }
     }
docs: Reads the table data from an input stream and breaks
  it down into rows.
  
  @param is input stream