### Question:
RendererUtils { public static boolean isRendered(FacesContext facesContext, UIComponent uiComponent) { try { uiComponent.pushComponentToEL(facesContext, uiComponent); return uiComponent.isRendered(); } finally { uiComponent.popComponentFromEL(facesContext); } } private  RendererUtils(); static Boolean getBooleanValue(UIComponent component); static Object getObjectValue(UIComponent component); static String getStringValue(FacesContext context, ValueExpression ve); static String getStringValue(FacesContext facesContext, UIComponent component); static String getStringFromSubmittedValueOrLocalValueReturnNull(FacesContext facesContext,
            UIComponent component); static boolean isDefaultAttributeValue(Object value); static Converter findUIOutputConverter(FacesContext facesContext,
            UIOutput component); static Converter findUISelectManyConverter(
            FacesContext facesContext, UISelectMany component,
            boolean considerValueType); static void checkParamValidity(FacesContext facesContext, UIComponent uiComponent, Class compClass); static void renderChildren(FacesContext facesContext, UIComponent component); static boolean isRendered(FacesContext facesContext, UIComponent uiComponent); static List getSelectItemList(UISelectOne uiSelectOne); static List<SelectItem> getSelectItemList(UISelectOne uiSelectOne, FacesContext facesContext); static List<SelectItem> getSelectItemList(UISelectMany uiSelectMany, FacesContext facesContext); static Set getSubmittedValuesAsSet(FacesContext context,
            UIComponent component, Converter converter,
            UISelectMany uiSelectMany); static Set getSelectedValuesAsSet(FacesContext context,
            UIComponent component, Converter converter,
            UISelectMany uiSelectMany); static String getConvertedStringValue(FacesContext context,
            UIComponent component, Converter converter, Object value); static String getConvertedStringValue(FacesContext context,
            UIComponent component, Converter converter, SelectItem selectItem); static Object getConvertedUISelectOneValue(
            FacesContext facesContext, UISelectOne output, Object submittedValue); static Object getConvertedUIOutputValue(FacesContext facesContext,
            UIOutput output, Object submittedValue); static Object getConvertedUISelectManyValue(FacesContext facesContext, UISelectMany selectMany,
            Object submittedValue); static Object getConvertedUISelectManyValue(
            FacesContext facesContext, UISelectMany selectMany,
            Object submittedValue, boolean considerValueType); static boolean getBooleanAttribute(UIComponent component,
            String attrName, boolean defaultValue); static int getIntegerAttribute(UIComponent component,
            String attrName, int defaultValue); static boolean getBooleanValue(String attribute, Object value, boolean defaultValue); static String getIconSrc(final FacesContext facesContext,
            final UIComponent component, final String attributeName); static String toResourceUri(FacesContext facesContext, Object o); static final String EMPTY_STRING; static final String SEQUENCE_PARAM; static final String RES_NOT_FOUND; }### Answer:
@Test public void testIsRendered() { UIComponent uiComponent = new UIOutput(); boolean rendered = RendererUtils.isRendered(facesContext, uiComponent); Assert.assertTrue(rendered); uiComponent.setRendered(false); rendered = RendererUtils.isRendered(facesContext, uiComponent); Assert.assertFalse(rendered); uiComponent = _setUpComponentStack(); rendered = RendererUtils.isRendered(facesContext, uiComponent); Assert.assertFalse(rendered); Assert.assertEquals("isRendered must not change current component", parent, UIComponent.getCurrentComponent(facesContext)); }