code: private void include(AbstractFaceletContext ctx, UIComponent parent) throws IOException, FacesException,
              FaceletException, ELException
      {
          ctx.pushPageContext(new PageContextImpl());
          try
          {
              this.refresh(parent);
              DefaultFaceletContext ctxWrapper = new DefaultFaceletContext((DefaultFaceletContext)ctx, this, false);
              ctx.getFacesContext().getAttributes().put(FaceletContext.FACELET_CONTEXT_KEY, ctxWrapper);
              _root.apply(ctxWrapper, parent);
              ctx.getFacesContext().getAttributes().put(FaceletContext.FACELET_CONTEXT_KEY, ctx);
              this.markApplied(parent);
          }
          finally
          {
              ctx.popPageContext();
          }
      }
docs: Given the passed FaceletContext, apply our child FaceletHandlers to the passed parent
  
  @see FaceletHandler#apply(FaceletContext, UIComponent)
  @param ctx
  the FaceletContext to use for applying our FaceletHandlers
  @param parent
  the parent component to apply changes to
  @throws IOException
  @throws FacesException
  @throws FaceletException
  @throws ELException