public Object getValue(ELContext context, Object base, Object property) {

        if (base != null) {
            return null;
        }
        if (property == null) {
            throw new PropertyNotFoundException("No property specified");
        }

        FacesContext fcontext = (FacesContext) context.getContext(FacesContext.class);
        ExternalContext econtext = fcontext.getExternalContext();
        Object value = null;
        value = econtext.getRequestMap().get(property);
        if (value != null) {
            context.setPropertyResolved(true);
            return value;
        }
        value = econtext.getSessionMap().get(property);
        if (value != null) {
            context.setPropertyResolved(true);
            return value;
        }
        value = econtext.getApplicationMap().get(property);
        if (value != null) {
            context.setPropertyResolved(true);
            return value;
        }

        return null;

    }