code: @Override public void setID(Integer val)
     {
        ProjectFile parent = getParentFile();
        Integer previous = getID();
  
        if (previous != null)
        {
           parent.getTasks().unmapID(previous);
        }
  
        parent.getTasks().mapID(val, this);
  
        set(TaskField.ID, val);
     }
docs: The ID field contains the identifier number that Microsoft Project
  automatically assigns to each task as you add it to the project.
  The ID indicates the position of a task with respect to the other tasks.
  
  @param val ID