void (@Nullable Project project) { List<CredentialsType<?>> types = new ArrayList<>(CredentialsManager.getInstance().getAllTypes()); types.sort(Comparator.comparing(CredentialsType::getWeight)); for (CredentialsType<?> type : types) { CredentialsEditorProvider editorProvider = type instanceof CredentialsEditorProvider ? (CredentialsEditorProvider)type : null; if (editorProvider == null) { continue; } List<CredentialsLanguageContribution> contributions = getContributions(); if (contributions.isEmpty()) { continue; } for (CredentialsLanguageContribution contribution : contributions) { if (contribution.getType() != type || !editorProvider.isAvailable(contribution)) { continue; } final CredentialsEditor<?> editor = editorProvider.createEditor(project, contribution, this); trackEditorLabelsColumn(editor); JBRadioButton typeButton = new JBRadioButton(editor.getName()); myTypeButtonGroup.add(typeButton); myRadioPanel.add(typeButton); final JPanel editorMainPanel = editor.getMainPanel(); myTypesPanel.add(editorMainPanel, type.getName()); myCredentialsType2Handler.put(type, new TypeHandlerEx(typeButton, editorMainPanel, editorProvider.getDefaultInterpreterPath(myBundleAccessor), type, editor)); // set initial connection type if (myConnectionType == null) { myConnectionType = type; } } } }