public MethodProperty(PropertyDescriptor property) {
   super(
       property.getName(),
       property.getPropertyType(),
       property.getReadMethod() == null ? null : property.getReadMethod().getGenericReturnType());
   this.property = property;
   this.readable = property.getReadMethod() != null;
   this.writable = property.getWriteMethod() != null;
 }
 @Override
 public void set(Object object, Object value) throws Exception {
   property.getWriteMethod().invoke(object, value);
 }