@Override
  public Object getValue() {
    try {
      return doGetValue();
    }
    catch (Exception e) {
      throw new RuntimeException("Cannot access property " + myPropertyName, e);
    }
  }
@Override
  public Object getValue()