code: protected void processLink(Row row)
     {
        Task predecessorTask = m_project.getTaskByUniqueID(row.getInteger("LINK_PRED_UID"));
        Task successorTask = m_project.getTaskByUniqueID(row.getInteger("LINK_SUCC_UID"));
        if (predecessorTask != null && successorTask != null)
        {
           RelationType type = RelationType.getInstance(row.getInt("LINK_TYPE"));
           TimeUnit durationUnits = MPDUtility.getDurationTimeUnits(row.getInt("LINK_LAG_FMT"));
           Duration duration = MPDUtility.getDuration(row.getDouble("LINK_LAG").doubleValue(), durationUnits);
           Relation relation = successorTask.addPredecessor(predecessorTask, type, duration);
           relation.setUniqueID(row.getInteger("LINK_UID"));
           m_eventManager.fireRelationReadEvent(relation);
        }
     }
docs: Process a relationship between two tasks.
  
  @param row relationship data