code: public void setIndirectionHandlerClass(Class indirectionHandlerClass)
      {
          if(indirectionHandlerClass == null)
          {
              //throw new MetadataException("No IndirectionHandlerClass specified.");
              /**
               * andrew.clute
               * Allow the default IndirectionHandler for the given ProxyFactory implementation
               * when the parameter is not given
               */
              indirectionHandlerClass = getDefaultIndirectionHandlerClass();
          }
          if(indirectionHandlerClass.isInterface()
                  || Modifier.isAbstract(indirectionHandlerClass.getModifiers())
                  || !getIndirectionHandlerBaseClass().isAssignableFrom(indirectionHandlerClass))
          {
              throw new MetadataException("Illegal class "
                      + indirectionHandlerClass.getName()
                      + " specified for IndirectionHandlerClass. Must be a concrete subclass of "
                      + getIndirectionHandlerBaseClass().getName());
          }
          _indirectionHandlerClass = indirectionHandlerClass;
      }
docs: Sets the indirection handler class.
  
  @param indirectionHandlerClass The class for indirection handlers