code: @Override
    public PurgeableHivePartitionDataset readRecord(PurgeableHivePartitionDataset record)
        throws IOException {
      if (this.read) {
        return null;
      }
      this.read = true;
      if (this.record == null) {
        this.record = createPurgeableHivePartitionDataset(this.state);
      }
      return this.record;
    }
docs: There is only one record {@link PurgeableHivePartitionDataset} to be read per partition, and must return null
  after that to indicate end of reading.