public static List <ExceptionNotification> VisitAndCatch(this ITypedElement node) { var errors = new List <ExceptionNotification>(); using (node.Catch((o, arg) => errors.Add(arg))) { node.VisitAll(); } return(errors); }