private void addValidationRequest() {
    if (myComponent == null) return;

    ModalityState modalityState = ModalityState.stateForComponent(myComponent.myWholePanel);
    if (modalityState == ModalityState.nonModal()) return;

    myValidationRequested = true;
    myValidationAlarm.cancelAllRequests();
    myValidationAlarm.addRequest(() -> {
      if (myComponent != null) {
        if (!getEditor().isReadyForApply()) {
          addValidationRequest();
          return;
        }
        try {
          RunnerAndConfigurationSettings snapshot = createSnapshot(false);
          snapshot.setName(getNameText());
          validateResultOnBackgroundThread(snapshot);
        }
        catch (ConfigurationException e) {
          setValidationResult(createValidationResult(null, e));
        }
      }
    }, 100, modalityState);
  }
private void addValidationRequest()