public @Nls String getGeneratedName(final JavaRunConfigurationModule configurationModule) {
      if (TEST_PACKAGE.equals(TEST_OBJECT) || TEST_DIRECTORY.equals(TEST_OBJECT)) {
        if (TEST_SEARCH_SCOPE.getScope() == TestSearchScope.WHOLE_PROJECT) {
          return JUnitBundle.message("default.junit.config.name.whole.project");
        }
        final String moduleName = TEST_SEARCH_SCOPE.getScope() == TestSearchScope.WHOLE_PROJECT ? "" : configurationModule.getModuleName();
        final String packageName = TEST_PACKAGE.equals(TEST_OBJECT)
                                   ? getPackageName()
                                   : StringUtil.getShortName(FileUtil.toSystemIndependentName(getDirName()), '/');
        if (packageName.isEmpty()) {
          if (!moduleName.isEmpty()) {
            return JUnitBundle.message("default.junit.config.name.all.in.module", moduleName);
          }
          return getDefaultPackageName();
        }
        if (!moduleName.isEmpty()) {
          return JUnitBundle.message("default.junit.config.name.all.in.package.in.module", packageName, moduleName);
        }
        return packageName;
      }
      if (TEST_PATTERN.equals(TEST_OBJECT)) {
        final int size = myPattern.size();
        if (size == 0) return JUnitBundle.message("default.junit.config.name.temp.suite");
        String fqName = myPattern.iterator().next();
        String firstName =
          fqName.contains("*") ? fqName
                               : StringUtil.getShortName(fqName.contains("(") ? StringUtil.getPackageName(fqName, '(') : fqName);
        if (size == 1) {
          return firstName;
        }
        else {
          return TestRunnerBundle.message("test.config.first.pattern.and.few.more", firstName, size - 1);
        }
      }
      if (TEST_CATEGORY.equals(TEST_OBJECT)) {
        String categoryName = StringUtil.isEmpty(CATEGORY_NAME)
                              ? JUnitBundle.message("default.junit.config.empty.category")
                              : CATEGORY_NAME;
        return JUnitBundle.message("default.junit.config.name.category", categoryName);
      }
      if (TEST_UNIQUE_ID.equals(TEST_OBJECT)) {
        return UNIQUE_ID != null && UNIQUE_ID.length > 0
               ? StringUtil.join(UNIQUE_ID, " ")
               : JUnitBundle.message("default.junit.config.name.temp.suite");
      }
      if (TEST_TAGS.equals(TEST_OBJECT)) {
        return TAGS != null && !TAGS.isEmpty()
               ? JUnitBundle.message("default.junit.config.name.tags", TAGS)
               : JUnitBundle.message("default.junit.config.name.temp.suite");
      }
      final String className = JavaExecutionUtil.getPresentableClassName(getMainClassName());
      if (TEST_METHOD.equals(TEST_OBJECT)) {
        Integer index = getIndexFromParameters(PARAMETERS);
        String indexStr = index == null ? "" : JUnitBundle.message("junit.config.with.parameter.0", index + 1);
        return className + '.' + getMethodName() + indexStr;
      }

      return className;
    }
public @Nls String getGeneratedName(final JavaRunConfigurationModule configurationModule)