@Override
        public void undo() {

          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);
          }
        }
@Override
        public void undo()