code: public static Class<?> getClass(ClassLoader classLoader, String className) {
          try {
  
              final Class<?> clazz;
  
              if (PRIMITIVE_MAPPING.containsKey(className)) {
  
                  String qualifiedName = "[" + PRIMITIVE_MAPPING.get(className);
                  clazz = Class.forName(qualifiedName, true, classLoader).getComponentType();
              } else {
                  clazz = Class.forName(determineQualifiedName(className), true, classLoader);
              }
              return clazz;
          } catch (ClassNotFoundException ex) {
  
              int lastSeparatorIndex = className.lastIndexOf(PACKAGE_SEPARATOR_CHARACTER);
  
              if (lastSeparatorIndex != -1) {
                  return getClass(classLoader, className.substring(0, lastSeparatorIndex) + INNER_CLASS_SEPARATOR_CHAR
                          + className.substring(lastSeparatorIndex + 1));
              }
              throw new IllegalArgumentException("Unable to unmarshall String to Class: " + className);
          }
      }
docs: Attempt to load the class matching the given qualified name
  @param classLoader Classloader to use
  @param className The classname to use
  @throws IllegalArgumentException If the class cannot be loaded
  @return The {@link Class} representing the given class