code: @NonNull
      public Transition addTarget(@Nullable Class targetType) {
          if (targetType != null) {
              if (mTargetTypes == null) {
                  mTargetTypes = new ArrayList<Class>();
              }
              mTargetTypes.add(targetType);
          }
          return this;
      }
docs: Adds the Class of a target view that this Transition is interested in
  animating. By default, there are no targetTypes, and a Transition will
  listen for changes on every view in the hierarchy below the sceneRoot
  of the Scene being transitioned into. Setting targetTypes constrains
  the Transition to only listen for, and act on, views with these classes.
  Views with different classes will be ignored.
  
  <p>Note that any View that can be cast to targetType will be included, so
  if targetType is <code>View.class</code>, all Views will be included.</p>
  
  @see #addTarget(int)
  @see #addTarget(android.view.View)
  @see #excludeTarget(Class, boolean)
  @see #excludeChildren(Class, boolean)
  
  @param targetType The type to include when running this transition.
  @return The Transition to which the target class was added.
  Returning the same object makes it easier to chain calls during
  construction, such as
  <code>transitionSet.addTransitions(new Fade()).addTarget(ImageView.class);</code>