@Override
 protected void doSetValue(Object source, Object value) {
   Property<Object> property = Util.getProperty(source);
   property.setValue(value);
 }
 @Override
 protected Object doGetValue(Object source) {
   Property<?> property = Util.getProperty(source);
   return property.getValue();
 }