void requestUpdate(Language currentLanguage) {
      ReadAction.nonBlocking(() -> getSupportedLanguages())
        .inSmartMode(myProject)
        .finishOnUiThread(ModalityState.any(), languages -> {
          boolean many = languages.size() > 1;
          myLanguages = languages;

          if (currentLanguage != null) {
            setVisible(many);
          }
          setVisible(isVisible() || many);

          if (currentLanguage != null && currentLanguage.getAssociatedFileType() != null) {
            setText(currentLanguage.getDisplayName());
          }
        })
        .coalesceBy(this)
        .submit(AppExecutorUtil.getAppExecutorService());
    }
void requestUpdate(Language currentLanguage)