public override void Walk(SyntaxNodeWalker walker) {
			if(!walker.WalkCodeDeclaration(this)) {
				return;
			}
			foreach(var child in ChildNodes()) {
				child.Walk(walker);
			}
			walker.PostWalkCodeDeclaration(this);
		}
		public override void Walk(SyntaxNodeWalker walker) {
			if(!walker.WalkArrayType(this)) {
				return;
			}
			foreach(var child in ChildNodes()) {
				child.Walk(walker);
			}
			walker.PostWalkArrayType(this);
		}
		public abstract void Walk(SyntaxNodeWalker walker);
		public override void Walk(SyntaxNodeWalker walker) {
			if(!walker.WalkTransitionDefinitionBlock(this)) {
				return;
			}
			foreach(var child in ChildNodes()) {
				child.Walk(walker);
			}
			walker.PostWalkTransitionDefinitionBlock(this);
		}
		public override void Walk(SyntaxNodeWalker walker) {
			if(!walker.WalkSpontaneousTrigger(this)) {
				return;
			}
			foreach(var child in ChildNodes()) {
				child.Walk(walker);
			}
			walker.PostWalkSpontaneousTrigger(this);
		}
		public override void Walk(SyntaxNodeWalker walker) {
			if(!walker.WalkIfConditionClause(this)) {
				return;
			}
			foreach(var child in ChildNodes()) {
				child.Walk(walker);
			}
			walker.PostWalkIfConditionClause(this);
		}
		public override void Walk(SyntaxNodeWalker walker) {
			if(!walker.WalkIdentifierTargetNode(this)) {
				return;
			}
			foreach(var child in ChildNodes()) {
				child.Walk(walker);
			}
			walker.PostWalkIdentifierTargetNode(this);
		}