public GoalTreeNodeViewModel(Goal goal, GoalData goalData, ITreeNodeContainerViewModel parent)
        {
            if (goal == null)
            {
                throw new ArgumentNullException("goal");
            }

            _goal = goal;

            List <Project> childProjects = goalData.GetChildProjectsContainingInactiveTasks(goal.GoalId);

            using (ProjectData pData = new ProjectData())
            {
                foreach (Project childProject in childProjects)
                {
                    _childNodes.Add(new ProjectTreeNodeViewModel(childProject, pData, this));
                }
            }

            _parent = parent;
        }