common_helper/src/main/java/com/xiongyingqi/util/concurrent/ListenableFutureCallbackRegistry.java
public void success(T result) {
        synchronized (mutex) {
            state = State.SUCCESS;
            this.result = result;

            while (!callbacks.isEmpty()) {
                callbacks.poll().onSuccess(result);
            }
        }
    }
public void success(T result) {
        synchronized (mutex) {
            state = State.SUCCESS;
            this.result = result;

            while (!callbacks.isEmpty()) {
                callbacks.poll().onSuccess(result);
            }
        }
    }
Triggers a {@link ListenableFutureCallback#onSuccess(Object)} call on all added
callbacks with the given result

@param result the result to trigger the callbacks with