docs: private static String tryToLoad(Class<?> type, ClassLoader loader, String... classNames) {
          final boolean trace = TraceComponent.isAnyTracingEnabled();
  
          for (String className : classNames)
              try {
                  Class<?> c = loader.loadClass(className);
                  boolean isInstance = type.isAssignableFrom(c);
                  if (trace && tc.isDebugEnabled())
                      Tr.debug(tc, className + " is " + (isInstance ? "" : "not ") + "an instance of " + type.getName());
                  if (type.isAssignableFrom(c))
                      return className;
              } catch (ClassNotFoundException x) {
                  if (trace && tc.isDebugEnabled())
                      Tr.debug(tc, className + " not found on " + loader);
              }
          return null;
      }