Copied from jsf-spec facelets javadoc.
If the component being rendered by this renderer has any UIParameter children, each one of them must be rendered using the renderer for component-family: "javax.faces.Input" and renderer-type: "javax.faces.Hidden". For discussion, this is called the hiddenRenderer. A component with component-type "javax.faces.Input" must be created for local use in rendering each UIParameter child. The "id" property of the temporary component must be set to the "name" of the UIParameter. The "value" property of the temporary component must be set to the "value" of the UIParameter. For each UIParameter child, the hiddenRenderer must have its encodeBegin(), encodeChildren(), and encodeEnd() methods called, in order, passing the temporary component as the second argument.