code: @Override
    public void onFailure(Throwable cause) {
      checkState();
      for (Callback<T> cb : callbacks) {
        cb.onFailure(cause);
      }
      callbacks = null; // note that we've fired
    }
docs: Dispatches failure to all of the callbacks registered with this list. This may only be called
  once.
  
  @throws IllegalStateException if this callback has already fired.