internal TaskDeclarationSyntax(TextExtent extent, 
                                       CodeNamespaceDeclarationSyntax      codeNamespaceDeclaration,
                                       CodeNotImplementedDeclarationSyntax codeNotImplementedDeclaration, 
                                       CodeResultDeclarationSyntax         codeResultDeclaration, 
                                       IReadOnlyList<ConnectionPointNodeSyntax> connectionPointNodeDeclarations) 
            : base(extent) {

            AddChildNode(_codeNamespaceDeclaration  = codeNamespaceDeclaration);
            AddChildNode(_codeNotImplementedDeclaration = codeNotImplementedDeclaration);
            AddChildNode(_codeResultDeclaration         = codeResultDeclaration);
            AddChildNodes(_connectionPointNodes     = connectionPointNodeDeclarations);
        }
        internal TaskDefinitionSyntax(TextExtent extent, 
                                      CodeDeclarationSyntax codeDeclaration, 
                                      CodeBaseDeclarationSyntax codeBaseDeclaration,
                                      CodeGenerateToDeclarationSyntax codeGenerateToDeclaration, 
                                      CodeParamsDeclarationSyntax codeParamsDeclaration,
                                      CodeResultDeclarationSyntax codeResultDeclaration, 
                                      NodeDeclarationBlockSyntax nodeDeclarationBlock,
                                      TransitionDefinitionBlockSyntax transitionDefinitionBlock)
                : base(extent) {

            AddChildNode(_codeDeclaration           = codeDeclaration);
            AddChildNode(_codeBaseDeclaration           = codeBaseDeclaration);
            AddChildNode(_codeGenerateToDeclaration     = codeGenerateToDeclaration);
            AddChildNode(_codeParamsDeclaration         = codeParamsDeclaration);
            AddChildNode(_codeResultDeclaration         = codeResultDeclaration);
            AddChildNode(_nodeDeclarationBlock      = nodeDeclarationBlock);
            AddChildNode(_transitionDefinitionBlock = transitionDefinitionBlock);
        }
		public override void PostWalkCodeResultDeclaration(CodeResultDeclarationSyntax codeResultDeclarationSyntax) { 
			MethodsCalled["PostWalkCodeResultDeclaration"]=true;
		}
		// CodeResultDeclarationSyntax
		public override bool WalkCodeResultDeclaration(CodeResultDeclarationSyntax codeResultDeclarationSyntax) { 
			MethodsCalled["WalkCodeResultDeclaration"]=true;
			return true; 
		}