code: public UIComponent createComponent(FacesContext context,
                                         String componentType,
                                         String rendererType) {
  
          if (defaultApplication != null) {
              return defaultApplication.createComponent(context,
                                                 componentType,
                                                 rendererType);
          }
  
          throw new UnsupportedOperationException();
  
      }
docs: <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