GroupAvailability availability = (GroupAvailability) functionality.getAvailabilityPolicy();
ExpressionGroupAvailability availability = (ExpressionGroupAvailability) functionality.getAvailabilityPolicy();
    public ActionForward manage(ActionMapping mapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) throws Exception {        Functionality functionality = getFunctionality(request);        if (functionality == null) {            return viewTopLevel(mapping, actionForm, request, response);        }        GroupAvailability availability = (GroupAvailability) functionality.getAvailabilityPolicy();                if (availability != null) {            request.setAttribute("availability", availability);            request.setAttribute("bean", new ExpressionBean(availability.getExpression()));        }        else {            request.setAttribute("bean", new ExpressionBean());        }        setupAvailabilityStack(functionality, request);        return forwardTo(mapping.findForward("manage"), request, functionality);    }