docs: Tuple2<Integer, Collection<AwaitInvocationKey>> countDown(UUID invocationUuid, int expectedRound) {
          if (expectedRound > round) {
              throw new IllegalArgumentException("expected round: " + expectedRound + ", actual round: " + round);
          }
  
          if (expectedRound < round) {
              Collection<AwaitInvocationKey> c = Collections.emptyList();
              return Tuple2.of(0, c);
          }
  
          countDownUids.add(invocationUuid);
          int remaining = getRemainingCount();
          if (remaining > 0) {
              Collection<AwaitInvocationKey> c = Collections.emptyList();
              return Tuple2.of(remaining, c);
          }
  
          Collection<AwaitInvocationKey> w = getAllWaitKeys();
          clearWaitKeys();
  
          return Tuple2.of(0, w);
      }