public override void ForEachWithContext <T>(T context) { context.PreChildrenVisit(this); Declaration.ForEachWithContext(context); if (Elements != null) { Elements.ForEachWithContext(context); } context.PostChildrenVisit(this); }