code: public static ClassLoader getClassLoader()
      {
          try
          {
              ClassLoader cl = Thread.currentThread().getContextClassLoader();
              if ( cl != null ) return cl;
          }
          catch ( SecurityException e )
          {
              if ( _log.isDebugEnabled() )
              {
                  _log.debug( "Could not get thread context classloader.", e );
              }
          }
          
          if ( _log.isTraceEnabled() )
          {
              _log.trace( "Can't use thread context classloader; using classloader for " + DiscoveryUtils.class.getName() );
          }
          
          return DiscoveryUtils.class.getClassLoader();
      }
docs: Get the ClassLoader from which implementor classes will be discovered and loaded.