code: public void addChildTask(Task child, int childOutlineLevel)
     {
        int outlineLevel = NumberHelper.getInt(getOutlineLevel());
  
        if ((outlineLevel + 1) == childOutlineLevel)
        {
           m_children.add(child);
           setSummary(true);
        }
        else
        {
           if (m_children.isEmpty() == false)
           {
              (m_children.get(m_children.size() - 1)).addChildTask(child, childOutlineLevel);
           }
        }
     }
docs: This method is used to associate a child task with the current
  task instance. It has package access, and has been designed to
  allow the hierarchical outline structure of tasks in an MPX
  file to be constructed as the file is read in.
  
  @param child Child task.
  @param childOutlineLevel Outline level of the child task.