code: public ClassLoader getDefaultClassLoader(Class<?> fallbackClass) {
  
      ClassLoader result = Thread.currentThread().getContextClassLoader();
      if (result == null) {
        LOG.warn("strange container: no context-class-loader available!");
        Class<?> clazz = fallbackClass;
        if (clazz == null) {
          clazz = getClass();
        }
        result = clazz.getClassLoader();
        if (result == null) {
          LOG.warn("strange JVM: only system-class-loader available!");
          result = ClassLoader.getSystemClassLoader();
        }
      }
      return result;
    }
docs: This method gets the default {@link ClassLoader} to use. This should be the {@link Thread#getContextClassLoader()
  ContextClassLoader} but falls back to alternatives if no such {@link ClassLoader} is available.
  
  @param fallbackClass is used to {@link Class#getClassLoader() retrieve} a {@link ClassLoader} as fallback if the
  {@link Thread#getContextClassLoader() ContextClassLoader} is not available.
  @return the default {@link ClassLoader} to use.