docs: void notifyWhenStateChanged(Runnable callback, Executor executor, ConnectivityState source) {
      checkNotNull(callback, "callback");
      checkNotNull(executor, "executor");
      checkNotNull(source, "source");
  
      Listener stateChangeListener = new Listener(callback, executor);
      if (state != source) {
        stateChangeListener.runInExecutor();
      } else {
        listeners.add(stateChangeListener);
      }
    }