private void installExtendedTypes(@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;
        }
      }
    }
  }
private void installExtendedTypes(@Nullable Project project)