code: public static String getShortClassName(String className) {
          if (StringUtils.isEmpty(className)) {
              return StringUtils.EMPTY;
          }
  
          final StringBuilder arrayPrefix = new StringBuilder();
  
          // Handle array encoding
          if (className.startsWith("[")) {
              while (className.charAt(0) == '[') {
                  className = className.substring(1);
                  arrayPrefix.append("[]");
              }
              // Strip Object type encoding
              if (className.charAt(0) == 'L' && className.charAt(className.length() - 1) == ';') {
                  className = className.substring(1, className.length() - 1);
              }
  
              if (reverseAbbreviationMap.containsKey(className)) {
                  className = reverseAbbreviationMap.get(className);
              }
          }
  
          final int lastDotIdx = className.lastIndexOf(PACKAGE_SEPARATOR_CHAR);
          final int innerIdx = className.indexOf(
                  INNER_CLASS_SEPARATOR_CHAR, lastDotIdx == -1 ? 0 : lastDotIdx + 1);
          String out = className.substring(lastDotIdx + 1);
          if (innerIdx != -1) {
              out = out.replace(INNER_CLASS_SEPARATOR_CHAR, PACKAGE_SEPARATOR_CHAR);
          }
          return out + arrayPrefix;
      }
docs: <p>Gets the class name minus the package name from a String.</p>
  
  <p>The string passed in is assumed to be a class name - it is not checked.</p>
  
  <p>Note that this method differs from Class.getSimpleName() in that this will
  return {@code "Map.Entry"} whilst the {@code java.lang.Class} variant will simply
  return {@code "Entry"}. </p>
  
  @param className  the className to get the short name for
  @return the class name of the class without the package name or an empty string