code: @NonNull
      public Transition addTarget(@Nullable View target) {
          if (target != null) {
              mTargets.add(target);
          }
          return this;
      }
docs: Sets the target view instances that this Transition is interested in
  animating. By default, there are no targets, and a Transition will
  listen for changes on every view in the hierarchy below the sceneRoot
  of the Scene being transitioned into. Setting targets constrains
  the Transition to only listen for, and act on, these views.
  All other views will be ignored.
  <p/>
  <p>The target list is like the {@link #addTarget(int) targetId}
  list except this list specifies the actual View instances, not the ids
  of the views. This is an important distinction when scene changes involve
  view hierarchies which have been inflated separately; different views may
  share the same id but not actually be the same instance. If the transition
  should treat those views as the same, then {@link #addTarget(int)} should be used
  instead of {@link #addTarget(View)}. If, on the other hand, scene changes involve
  changes all within the same view hierarchy, among views which do not
  necessarily have ids set on them, then the target list of views may be more
  convenient.</p>
  
  @param target A View on which the Transition will act, must be non-null.
  @return The Transition to which the target is added.
  Returning the same object makes it easier to chain calls during
  construction, such as
  <code>transitionSet.addTransitions(new Fade()).addTarget(someView);</code>
  @see #addTarget(int)