private static void doAssociate(Callback callback, SystemFileTypeAssociator associator, List<FileType> fileTypes) {
    if (!fileTypes.isEmpty()) {
      ApplicationManager.getApplication().executeOnPooledThread(
        () -> {
          try {
            callback.beforeStart();
            associator.associateFileTypes(fileTypes);
            OSFileAssociationFeatureUsagesUtil.logFilesAssociated(fileTypes);
            callback.onSuccess(associator.isOsRestartRequired());
          }
          catch (OSFileAssociationException exception) {
            callback.onFailure(exception.getMessage());
            LOG.info(exception);
          }
        }
      );
    }
  }
private static void doAssociate(Callback callback, SystemFileTypeAssociator associator, List<FileType> fileTypes)