class AttributeResolver extends ELResolver {

    @Override
    public Class<?> getType(ELContext context, Object base, Object property) {
        return getAttributed(base)
                .flatMap(attributed -> attributed.abacAttribute(String.valueOf(property)))
                .map(value -> {
                    context.setPropertyResolved(true);
                    return value.getClass();
                })
                .orElse(null);
    }

}