code: @Override protected void readRow(int uniqueID, byte[] data)
     {
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("UNIQUE_ID", Integer.valueOf(uniqueID));
  
        int originalDuration = PEPUtility.getShort(data, 22);
        int remainingDuration = PEPUtility.getShort(data, 24);
        int percentComplete = 0;
  
        if (originalDuration != 0)
        {
           percentComplete = ((originalDuration - remainingDuration) * 100) / originalDuration;
        }
  
        map.put("ORIGINAL_DURATION", Duration.getInstance(originalDuration, TimeUnit.DAYS));
        map.put("REMAINING_DURATION", Duration.getInstance(remainingDuration, TimeUnit.DAYS));
        map.put("PERCENT_COMPLETE", Integer.valueOf(percentComplete));
        map.put("TARGET_START", PEPUtility.getStartDate(data, 4));
        map.put("TARGET_FINISH", PEPUtility.getFinishDate(data, 6));
        map.put("ACTUAL_START", PEPUtility.getStartDate(data, 16));
        map.put("ACTUAL_FINISH", PEPUtility.getFinishDate(data, 18));
  
        addRow(uniqueID, map);
     }
docs: {@inheritDoc}