public UIComponent createComponent(FacesContext context,
                                       String componentType,
                                       String rendererType) {

        if (defaultApplication != null) {
            return defaultApplication.createComponent(context,
                                               componentType,
                                               rendererType);
        }

        throw new UnsupportedOperationException();

    }
public UIComponent createComponent ( FacesContext context , String componentType , String rendererType ) { if ( defaultApplication != null ) { return defaultApplication . createComponent ( context , componentType , rendererType ) ; } throw new UnsupportedOperationException ( ) ; }
<p class="changed_added_2_0">Like {@link
#createComponent(String)} except the <code>Renderer</code> for
the component to be returned must be inspected for the
annotations mentioned in {@link #createComponent(ValueExpression,
FacesContext, String)} as specified in the documentation for that
method.  The <code>Renderer</code> instance to inspect must be
obtained by calling {@link FacesContext#getRenderKit} and calling
{@link javax.faces.render.RenderKit#getRenderer} on the result,
passing the argument <code>componentType</code> as the first
argument and the result of calling {@link UIComponent#getFamily}
on the newly created component as the second argument.  If no
such <code>Renderer</code> can be found, a message must be logged
with a helpful error message.  Otherwise, {@link
UIComponent#setRendererType} must be called on the newly created
<code>UIComponent</code> instance, passing the argument
<code>rendererType</code> as the argument.</p>

<p class="changed_added_2_0">A default implementation is provided
that throws <code>UnsupportedOperationException</code> so that
users that decorate <code>Application</code> can continue to
function</p>.


@param context {@link FacesContext} for the current request

@param componentType Component type to create

@param rendererType The renderer-type of the
<code>Renderer</code> that will render this component.  A
<code>null</code> value must be accepted for this parameter.

@throws FacesException if a {@link UIComponent} cannot be created

@throws NullPointerException if any of the parameters
<code>context</code>, or <code>componentType</code> are
<code>null</code>

@since 2.0