@Nullable
  @Contract("_, null -> null")
  public static Sdk resolveJdkName(@Nullable Sdk projectSdk, @Nullable String jdkName) throws ExternalSystemJdkException {
    if (jdkName == null) return null;
    return switch (jdkName) {
      case USE_INTERNAL_JAVA -> getInternalJdk();
      case USE_PROJECT_JDK -> {
        if (projectSdk == null) {
          throw new ProjectJdkNotFoundException();
        }
        yield resolveDependentJdk(projectSdk);
      }
      case USE_JAVA_HOME -> getJavaHomeJdk();
      default -> getJdk(jdkName);
    };
  }
@Nullable
  @Contract("_, null -> null")
  public static Sdk resolveJdkName(@Nullable Sdk projectSdk, @Nullable String jdkName)