docs: public void encodeEnd(FacesContext facesContext, UIComponent component)
              throws IOException
      {
          RendererUtils.checkParamValidity(facesContext, component, null);
          
          Map<String, List<ClientBehavior>> behaviors = null;
          if (component instanceof ClientBehaviorHolder)
          {
              behaviors = ((ClientBehaviorHolder) component).getClientBehaviors();
              if (!behaviors.isEmpty())
              {
                  ResourceUtils.renderDefaultJsfJsInlineIfNecessary(
                          facesContext, facesContext.getResponseWriter());
              }
          }
  
          if (component instanceof UISelectMany)
          {
              renderMenu(facesContext,
                                           (UISelectMany)component,
                                           isDisabled(facesContext, component),
                                           getConverter(facesContext, component));
          }
          else if (component instanceof UISelectOne)
          {
              renderMenu(facesContext,
                                           (UISelectOne)component,
                                           isDisabled(facesContext, component),
                                           getConverter(facesContext, component));
          }
          else
          {
              throw new IllegalArgumentException("Unsupported component class " + component.getClass().getName());
          }
      }