public synchronized void notifyCallbacks(T sender, int arg, A arg2) {
        mNotificationLevel++;
        notifyRecurse(sender, arg, arg2);
        mNotificationLevel--;
        if (mNotificationLevel == 0) {
            if (mRemainderRemoved != null) {
                for (int i = mRemainderRemoved.length - 1; i >= 0; i--) {
                    final long removedBits = mRemainderRemoved[i];
                    if (removedBits != 0) {
                        removeRemovedCallbacks((i + 1) * Long.SIZE, removedBits);
                        mRemainderRemoved[i] = 0;
                    }
                }
            }
            if (mFirst64Removed != 0) {
                removeRemovedCallbacks(0, mFirst64Removed);
                mFirst64Removed = 0;
            }
        }
    }
Notify all callbacks.

@param sender The originator. This is an opaque parameter passed to
              {@link CallbackRegistry.NotifierCallback#onNotifyCallback(Object, Object, int, Object)}
@param arg    An opaque parameter passed to
              {@link CallbackRegistry.NotifierCallback#onNotifyCallback(Object, Object, int, Object)}
@param arg2   An opaque parameter passed to
              {@link CallbackRegistry.NotifierCallback#onNotifyCallback(Object, Object, int, Object)}
android/android_framework/base/src/main/java/github/tornaco/android/thanos/core/util/obs/CallbackRegistry.java