void (@NotNull Project project, @NotNull Editor editor, @NotNull PyClass cls, @NotNull Collection<PyFunction> methods, boolean implement) { final List<PyMethodMember> elements = new ArrayList<>(); for (PyFunction method : methods) { final String name = method.getName(); if (name == null || PyUtil.isClassPrivateName(name)) { continue; } if (cls.findMethodByName(name, false, null) == null) { final PyMethodMember member = new PyMethodMember(method); elements.add(member); } } if (elements.isEmpty()) { return; } final MemberChooser<PyMethodMember> chooser = new MemberChooser<>(elements.toArray(new PyMethodMember[0]), false, true, project); chooser.setTitle(implement ? PyBundle.message("code.insight.select.methods.to.implement") : PyBundle.message("code.insight.select.methods.to.override")); chooser.setCopyJavadocVisible(false); chooser.show(); if (chooser.getExitCode() != DialogWrapper.OK_EXIT_CODE) { return; } overrideMethods(editor, cls, chooser.getSelectedElements(), implement); }