List<ModelScopeItemView> (List<? extends ModelScopeItem> models, Disposable dialogDisposable) { List<ModelScopeItemView> result = new ArrayList<>(); for (ModelScopeItemPresenter presenter : EP_NAME.getExtensions()) { for (ModelScopeItem model : models) { if (presenter.isApplicable(model)) { JRadioButton button = presenter.getButton(model); List<JComponent> components = presenter.getAdditionalComponents(button, model, dialogDisposable); int id = presenter.getScopeId(); result.add(new ModelScopeItemView(button, components, model, id)); break; } } } return result; }