code: void setAnimatedValue(Object target) {
          //if (mProperty != null) {
          //    mProperty.set(target, getAnimatedValue());
          //}
          if (mSetter != null) {
              try {
                  mTmpValueArray[0] = getAnimatedValue();
                  mSetter.invoke(target, mTmpValueArray);
              } catch (InvocationTargetException e) {
                  Log.e("PropertyValuesHolder", e.toString());
              } catch (IllegalAccessException e) {
                  Log.e("PropertyValuesHolder", e.toString());
              }
          }
      }
docs: Internal function to set the value on the target object, using the setter set up
  earlier on this PropertyValuesHolder object. This function is called by ObjectAnimator
  to handle turning the value calculated by ValueAnimator into a value set on the object
  according to the name of the property.
  @param target The target object on which the value is set