void () { final DItemElement itemElement; if (mySettings.isMethod()) { final List<ParamInfo> myPairList = mySettings.getParams(); final String[] argumentsTypes = QuickfixUtil.getArgumentsTypes(myPairList); itemElement = myDynamicManager.findConcreteDynamicMethod(mySettings.getContainingClassName(), mySettings.getName(), argumentsTypes); } else { itemElement = myDynamicManager.findConcreteDynamicProperty(mySettings.getContainingClassName(), mySettings.getName()); } if (itemElement == null) { Messages.showWarningDialog(myProject, GroovyBundle.message("Cannot.perform.undo.operation"), GroovyBundle.message("Undo.disable")); return; } final DClassElement classElement = myDynamicManager.getClassElementByItem(itemElement); if (classElement == null) { Messages.showWarningDialog(myProject, GroovyBundle.message("Cannot.perform.undo.operation"), GroovyBundle.message("Undo.disable")); return; } removeElement(itemElement); if (classElement.getMethods().isEmpty() && classElement.getProperties().isEmpty()) { myDynamicManager.removeClassElement(classElement); } }