code: private static Class loadImplementorClass( String className, Class interfaceType, ClassLoader classLoader )
      {
          try
          {
              if ( _log.isDebugEnabled() )
              {
                  _log.debug( "Trying to load implementor class for interface " + interfaceType.getName()
                              + ": " + className );
              }
              
              Class implementorClass = classLoader.loadClass( className );
              
              if ( interfaceType.isAssignableFrom( implementorClass ) )
              {
                  return implementorClass;
              }
              else
              {
                  _log.error( "Implementor class " + className + " does not implement interface "
                              + interfaceType.getName() );
              }
          }
          catch ( ClassNotFoundException cnfe )
          {
              //
              // This will happen when the user class was built against an out-of-date interface.
              //
              _log.error( "Could not find implementor class " + className + " for interface " + interfaceType.getName(),
                          cnfe );
          }
          catch ( LinkageError le )
          {
              _log.error( "Linkage error when loading implementor class " + className + " for interface "
                          + interfaceType.getName(), le );
          }
          
          return null;
      }
docs: Load an implementor class from the context classloader.
  
  @param className the name of the implementor class.
  @param interfaceType the interface that the given class should implement.
  @param classLoader the ClassLoader from which to load the implementor class.
  @return the implementor Class, or <code>null</code> if an error occurred (the error will be logged).