internal IEnumerable <Activity> GetChildren()
 {
     if (!this.owner.Equals(ActivityUtilities.ChildActivity.Empty))
     {
         return(ActivityValidationServices.GetChildren(this.owner, this.parentChain, this.options));
     }
     else
     {
         return(ActivityValidationServices.EmptyChildren);
     }
 }
        internal IEnumerable <Activity> GetWorkflowTree()
        {
            // It is okay to just walk the declared parent chain here
            Activity currentNode = this.owner.Activity;

            if (currentNode != null)
            {
                while (currentNode.Parent != null)
                {
                    currentNode = currentNode.Parent;
                }
                List <Activity> nodes = ActivityValidationServices.GetChildren(new ActivityUtilities.ChildActivity(currentNode, true), new ActivityUtilities.ActivityCallStack(), this.options);
                nodes.Add(currentNode);
                return(nodes);
            }
            else
            {
                return(ActivityValidationServices.EmptyChildren);
            }
        }