code: private final UIComponent createComponent(FacesContext facesContext, 
              final String componentType) throws FacesException
      {
          checkNull(componentType, "componentType");
          checkEmpty(componentType, "componentType");
  
          final Class<? extends UIComponent> componentClass =
                  getObjectFromClassMap(componentType, _componentClassMap);
          if (componentClass == null)
          {
              log.log(Level.SEVERE, "Undefined component type " + componentType);
              throw new FacesException("Undefined component type " + componentType);
          }
  
          try
          {
              UIComponent component = componentClass.newInstance();
              _handleAnnotations(facesContext, component, component);
              return component;
          }
          catch (Exception e)
          {
              log.log(Level.SEVERE, "Could not instantiate component componentType = " + componentType, e);
              throw new FacesException("Could not instantiate component componentType = " + componentType, e);
          }
      }
docs: This works just like createComponent(String componentType), but without call
  FacesContext.getCurrentInstance()
  
  @param facesContext
  @param componentType
  @return
  @throws FacesException