void internalNotifyRegistrant(Object result, Throwable exception) {
        Handler h = getHandler();

        if (h == null) {
            clear();
        } else {
            Message msg = Message.obtain();

            msg.what = what;

            msg.obj = new AsyncResult(userObj, result, exception);

            h.sendMessage(msg);
        }
    }
This makes a copy of @param ar
android/android_framework/base/src/main/java/github/tornaco/android/thanos/core/os/async/Registrant.java