@MagicConstant(valuesFromClass = JavaParameters.class)
  public static int getClasspathType(@NotNull RunConfigurationModule configurationModule,
                                     @NotNull String mainClassName,
                                     boolean classMustHaveSource,
                                     boolean includeProvidedDependencies) throws CantRunException {
    final Module module = configurationModule.getModule();
    if (module == null) throw CantRunException.noModuleConfigured(configurationModule.getModuleName());
    Boolean inProduction = isClassInProductionSources(mainClassName, module);
    if (inProduction == null) {
      if (!classMustHaveSource) {
        return JavaParameters.JDK_AND_CLASSES_AND_TESTS;
      }
      throw CantRunException.classNotFound(mainClassName, module);
    }

    return inProduction
           ? (includeProvidedDependencies ? JavaParameters.JDK_AND_CLASSES_AND_PROVIDED : JavaParameters.JDK_AND_CLASSES)
           : JavaParameters.JDK_AND_CLASSES_AND_TESTS;
  }
@MagicConstant(valuesFromClass = JavaParameters.class)
  public static int getClasspathType(@NotNull RunConfigurationModule configurationModule,
                                     @NotNull String mainClassName,
                                     boolean classMustHaveSource,
                                     boolean includeProvidedDependencies)