boolean () { if (myMoveToAnotherClassCb.isSelected()) { myEditor.putUserData(INTRODUCE_RESTART, true); ApplicationManager.getApplication().invokeLater(() -> { myEditor.putUserData(ACTIVE_INTRODUCE, this); try { final IntroduceConstantHandler constantHandler = new IntroduceConstantHandler(); final PsiLocalVariable localVariable = (PsiLocalVariable)getLocalVariable(); if (localVariable != null) { constantHandler.invokeImpl(myProject, localVariable, myEditor); } else { constantHandler.invokeImpl(myProject, myExpr, myEditor); } } finally { myEditor.putUserData(INTRODUCE_RESTART, false); myEditor.putUserData(ACTIVE_INTRODUCE, null); releaseResources(); if (myLocalMarker != null) { myLocalMarker.dispose(); } if (myExprMarker != null) { myExprMarker.dispose(); } } }, myProject.getDisposed()); return false; } return super.performRefactoring(); }