@NlsContexts.DialogMessage String apply() {
    HashSet<String> set = new HashSet<>();
    for (KeymapScheme scheme : list) {
      String name = scheme.getName();
      boolean hasUniqueName = set.add(name);
      if (!scheme.isMutable()) continue;
      if (isEmptyOrSpaces(name)) {
        return KeyMapBundle.message("configuration.all.keymaps.should.have.non.empty.names.error.message");
      }
      if (!hasUniqueName) {
        return KeyMapBundle.message("configuration.all.keymaps.should.have.unique.names.error.message");
      }
    }
    KeymapScheme selected = selector.getSelectedScheme();
    Keymap active = selected == null ? null : selected.getOriginal();
    List<Keymap> keymaps = ContainerUtil.map(list, scheme -> scheme.apply());
    KeymapManagerImpl manager = (KeymapManagerImpl)KeymapManager.getInstance();
    manager.setKeymaps(keymaps, active, FILTER);
    selector.notifyConsumer(selected);
    return null;
  }
@NlsContexts.DialogMessage String apply()