code: @Override
      public String fromClassNameToComponentName(final String className) { // *important
          if (LdiStringUtil.isEmpty(className)) {
              throw new EmptyRuntimeException("className");
          }
          final String interfaceClassName = toInterfaceClassName(className);
          final String suffix = fromClassNameToSuffix(interfaceClassName);
          final String middlePackageName = fromSuffixToPackageName(suffix);
          String name = null;
          for (int i = 0; i < rootPackageNames.length; ++i) {
              String prefix = rootPackageNames[i] + "." + middlePackageName + ".";
              if (interfaceClassName.startsWith(prefix)) {
                  name = interfaceClassName.substring(prefix.length());
              }
          }
          if (LdiStringUtil.isEmpty(name)) {
              for (int i = 0; i < rootPackageNames.length; ++i) {
                  final String webPackagePrefix = buildRootAndWebPackagePrefix(i);
                  if (interfaceClassName.startsWith(webPackagePrefix)) {
                      name = interfaceClassName.substring(webPackagePrefix.length());
                  } else {
                      final String jobPackagePrefix = buildRootAndJobPackagePrefix(i); // #since_lasta_di for LastaJob
                      if (interfaceClassName.startsWith(jobPackagePrefix)) {
                          name = interfaceClassName.substring(jobPackagePrefix.length());
                      }
                  }
              }
              if (LdiStringUtil.isEmpty(name)) {
                  return fromClassNameToShortComponentName(className);
              }
          }
          final String[] array = LdiStringUtil.split(name, ".");
          final StringBuilder sb = new StringBuilder();
          for (int i = 0; i < array.length; ++i) {
              if (i == array.length - 1) {
                  sb.append(LdiStringUtil.decapitalize(array[i]));
              } else {
                  sb.append(array[i]).append('_');
              }
          }
          return sb.toString();
      }
docs: --------------------------