@Override
  protected void setValueOf(T t, Object value) {
    if (myProperty.equals(t)) {
      myValue = value;
    }
    else {
      throw new IllegalArgumentException("Property " + t.getName() + " not found");
    }
  }
@Override
  protected void setValueOf(T t, Object value)