void (@NotNull final Project project, @NotNull final PyClass classUnderRefactoring, @NotNull final PyMemberInfoStorage infoStorage, @NotNull final Editor editor) { //TODO: Move to presenter if (PyMembersUtil.filterOutObject(infoStorage.getClassMemberInfos(classUnderRefactoring)).isEmpty()) { CommonRefactoringUtil.showErrorHint(project, editor, PyBundle .message("refactoring.extract.super.class.no.members.allowed"), RefactoringBundle.message("extract.superclass.elements.header"), null); return; } ViewPresenterUtils.linkViewWithPresenterAndLaunch(PyExtractSuperclassPresenter.class, PyExtractSuperclassView.class, new Creator<>() { @NotNull @Override public PyExtractSuperclassPresenter createPresenter(@NotNull final PyExtractSuperclassView view) { return new PyExtractSuperclassPresenterImpl(view, classUnderRefactoring, infoStorage); } @NotNull @Override public PyExtractSuperclassView createView(@NotNull final PyExtractSuperclassPresenter presenter) { return new PyExtractSuperclassViewSwingImpl(classUnderRefactoring, project, presenter); } } ); }