public virtual object VisitExternAliasDirective(ExternAliasDirective externAliasDirective, object data) {
			Debug.Assert((externAliasDirective != null));
			return null;
		}
		public virtual object TrackedVisitExternAliasDirective(ExternAliasDirective externAliasDirective, object data) {
			return base.VisitExternAliasDirective(externAliasDirective, data);
		}
		public virtual object VisitExternAliasDirective(ExternAliasDirective externAliasDirective, object data) {
			throw new global::System.NotImplementedException("ExternAliasDirective");
		}
		public sealed override object VisitExternAliasDirective(ExternAliasDirective externAliasDirective, object data) {
			this.BeginVisit(externAliasDirective);
			object result = this.TrackedVisitExternAliasDirective(externAliasDirective, data);
			this.EndVisit(externAliasDirective);
			return result;
		}