class BackendPropertyValueExtractor extends AbstractPropertyValueExtractor {

    @Override
    protected Object readValue(Object model,
                               String propertyName) {
        try {
            if (PropertyUtils.getPropertyDescriptor(model,
                                                    propertyName) != null) {
                return PropertyUtils.getProperty(model,
                                                 propertyName);
            }
        } catch (Exception e) {
            logger.warn("Error getting property '{}' from object '{}'",
                        propertyName,
                        model);
            logger.warn("Caused by:",
                        e);
        }
        return null;
    }

}