internal InitNodeDeclarationSyntax(TextExtent extent,
                CodeAbstractMethodDeclarationSyntax codeAbstractMethodDeclaration, 
                CodeParamsDeclarationSyntax codeParamsDeclaration,
                DoClauseSyntax doClause)
                : base(extent) {

            AddChildNode(_codeAbstractMethodDeclaration = codeAbstractMethodDeclaration);
            AddChildNode(_codeParamsDeclaration         = codeParamsDeclaration);
            AddChildNode(_doClause                  = doClause);
        }
 internal ExitTransitionDefinitionSyntax(TextExtent extent,
                                         IdentifierSourceNodeSyntax sourceNode,
                                         EdgeSyntax edge,
                                         TargetNodeSyntax targetNode,
                                         ConditionClauseSyntax conditionClause, 
                                         DoClauseSyntax doClause) : base(extent) {
     
     AddChildNode(_sourceNode      = sourceNode);
     AddChildNode(_edge            = edge);
     AddChildNode(_targetNode      = targetNode);
     AddChildNode(_conditionClause = conditionClause);
     AddChildNode(_doClause        = doClause);
 }
        internal TransitionDefinitionSyntax(TextExtent extent,
                                            SourceNodeSyntax sourceNode,
                                            EdgeSyntax edgeSyntax,
                                            TargetNodeSyntax targetNode,
                                            TriggerSyntax trigger,
                                            ConditionClauseSyntax conditionClause,
                                            DoClauseSyntax doClause) : base(extent) {

            AddChildNode(_sourceNode      = sourceNode);
            AddChildNode(_edge            = edgeSyntax);
            AddChildNode(_targetNode      = targetNode);
            AddChildNode(_trigger         = trigger);
            AddChildNode(_conditionClause = conditionClause);
            AddChildNode(_doClause        = doClause);
        }
		public override void PostWalkDoClause(DoClauseSyntax doClauseSyntax) { 
			MethodsCalled["PostWalkDoClause"]=true;
		}
		// DoClauseSyntax
		public override bool WalkDoClause(DoClauseSyntax doClauseSyntax) { 
			MethodsCalled["WalkDoClause"]=true;
			return true; 
		}