@NonNull
    public Transition addListener(@NonNull TransitionListener listener) {
        if (mListeners == null) {
            mListeners = new ArrayList<TransitionListener>();
        }
        mListeners.add(listener);
        return this;
    }
@ NonNull public Transition addListener ( @ NonNull TransitionListener listener ) { if ( mListeners == null ) { mListeners = new ArrayList < TransitionListener > ( ) ; } mListeners . add ( listener ) ; return this ; }
Adds a listener to the set of listeners that are sent events through the
life of an animation, such as start, repeat, and end.

@param listener the listener to be added to the current set of listeners
for this animation.
@return This transition object.