internal TaskNodeDeclarationSyntax(TextExtent extent,
                            CodeDoNotInjectDeclarationSyntax codeDoNotInjectDeclaration, 
                            CodeAbstractMethodDeclarationSyntax codeAbstractMethodDeclaration)
             : base(extent) {

            AddChildNode(_codeDoNotInjectDeclaration = codeDoNotInjectDeclaration);
            AddChildNode(_codeAbstractMethodDeclaration = codeAbstractMethodDeclaration);
        }
        internal InitNodeDeclarationSyntax(TextExtent extent,
                CodeAbstractMethodDeclarationSyntax codeAbstractMethodDeclaration, 
                CodeParamsDeclarationSyntax codeParamsDeclaration,
                DoClauseSyntax doClause)
                : base(extent) {

            AddChildNode(_codeAbstractMethodDeclaration = codeAbstractMethodDeclaration);
            AddChildNode(_codeParamsDeclaration         = codeParamsDeclaration);
            AddChildNode(_doClause                  = doClause);
        }
		public override void PostWalkCodeAbstractMethodDeclaration(CodeAbstractMethodDeclarationSyntax codeAbstractMethodDeclarationSyntax) { 
			MethodsCalled["PostWalkCodeAbstractMethodDeclaration"]=true;
		}
		// CodeAbstractMethodDeclarationSyntax
		public override bool WalkCodeAbstractMethodDeclaration(CodeAbstractMethodDeclarationSyntax codeAbstractMethodDeclarationSyntax) { 
			MethodsCalled["WalkCodeAbstractMethodDeclaration"]=true;
			return true; 
		}