code: @NonNull
      public Transition addTarget(@Nullable String targetName) {
          if (targetName != null) {
              if (mTargetNames == null) {
                  mTargetNames = new ArrayList<String>();
              }
              mTargetNames.add(targetName);
          }
          return this;
      }
docs: Adds the transitionName of a target view that this Transition is interested in
  animating. By default, there are no targetNames, and a Transition will
  listen for changes on every view in the hierarchy below the sceneRoot
  of the Scene being transitioned into. Setting targetNames constrains
  the Transition to only listen for, and act on, views with these transitionNames.
  Views with different transitionNames, or no transitionName whatsoever, will be ignored.
  
  <p>Note that transitionNames should be unique within the view hierarchy.</p>
  
  @see android.view.View#getTransitionName()
  @param targetName The transitionName of a target view, must be non-null.
  @return The Transition to which the target transitionName is added.
  Returning the same object makes it easier to chain calls during
  construction, such as
  <code>transitionSet.addTransitions(new Fade()).addTarget(someName);</code>