docs: @SuppressWarnings("unchecked")
    public static <T> Class<T> forOptionalName(String className)
    {
      if(className == null) {
        return null;
      }
      ClassLoader loader = Thread.currentThread().getContextClassLoader();
      if(loader != null) {
        try {
          return (Class<T>)Class.forName(className, true, loader);
        }
        catch(ClassNotFoundException expected) {}
      }
  
      // try this utility class class loader only if not set as current thread context class loader
  
      if(loader == null || !loader.equals(Classes.class.getClassLoader())) {
        try {
          return (Class<T>)Class.forName(className, true, Classes.class.getClassLoader());
        }
        catch(ClassNotFoundException unused) {}
      }
  
      return null;
    }