public override void visit(BaseModelElement obj, bool visitSubNodes) { IExpressionable expressionable = obj as IExpressionable; if (expressionable != null) { try { RelocateTree refactorer = new RelocateTree(BaseLocation); refactorer.PerformUpdate(expressionable); } catch (Exception e) { obj.AddWarning("Cannot refactor this element, reason = " + e.Message); } } base.visit(obj, visitSubNodes); }