spyglass/src/main/java/com/linkedin/android/spyglass/ui/MentionsEditText.java
@Override
    public void addTextChangedListener(TextWatcher watcher) {
        if (watcher == mInternalTextWatcher) {
            if (!mIsWatchingText) {
                super.addTextChangedListener(mInternalTextWatcher);
                mIsWatchingText = true;
            }
        } else {
            mExternalTextWatchers.add(watcher);
        }
    }
@Override
    public void addTextChangedListener(TextWatcher watcher) {
        if (watcher == mInternalTextWatcher) {
            if (!mIsWatchingText) {
                super.addTextChangedListener(mInternalTextWatcher);
                mIsWatchingText = true;
            }
        } else {
            mExternalTextWatchers.add(watcher);
        }
    }
Allows a class to watch for text changes. Note that adding this class to itself will add it
to the super class. Other instances of {@link TextWatcher} will be notified by this class
as appropriate (helps prevent infinite loops when text keeps changing).

@param watcher the {@link TextWatcher} to add