code: public void setObjectValues(Object... values) {
          mValueType = values[0].getClass();
          mKeyframeSet = KeyframeSet.ofObject(values);
      }
docs: Set the animated values for this object to this set of Objects.
  If there is only one value, it is assumed to be the end value of an animation,
  and an initial value will be derived, if possible, by calling a getter function
  on the object. Also, if any value is null, the value will be filled in when the animation
  starts in the same way. This mechanism of automatically getting null values only works
  if the PropertyValuesHolder object is used in conjunction
  {@link ObjectAnimator}, and with a getter function
  derived automatically from <code>propertyName</code>, since otherwise PropertyValuesHolder has
  no way of determining what the value should be.
  
  @param values One or more values that the animation will animate between.