code: public static ClassLoader getDefaultClassLoader() {
          ClassLoader cl = null;
          try {
              cl = Thread.currentThread().getContextClassLoader();
          } catch (Exception e) {
          } // Cannot access thread context ClassLoader - falling back to system class loader...
          if (cl == null) { // No thread context class loader -> use class loader of this class.
              cl = ReflectionUtils.class.getClassLoader();
          }
          return cl;
      }
docs: Return the default ClassLoader to use: typically the thread context
  ClassLoader, if available; the ClassLoader that loaded the
  ReflectionUtils class will be used as fallback.
  <p>
  Call this method if you intend to use the thread context ClassLoader in a
  scenario where you absolutely need a non-null ClassLoader reference: for
  example, for class path resource loading (but not necessarily for
  <code>Class.forName</code>, which accepts a <code>null</code> ClassLoader
  reference as well).
  
  @return the default ClassLoader (never <code>null</code>)
  @see java.lang.Thread#getContextClassLoader()