{
try
{
DiscoverClass discoverer = new DiscoverClass();
Class factoryClass = discoverer.find( ControlFactory.class, DEFAULT_FACTORY_CLASS );
ControlFactory factory = (ControlFactory)factoryClass.newInstance();
return factory.instantiate( beanClass, props, context, id );
}
catch ( Exception e )
{
throw new ControlException( "Exception creating ControlBean", e );
}