@Override
    public void onCompletion(T result, Exception exception) {
      if (exception != null && !expectError) {
        opChain.latch.countDown();
        return;
      }
      action(result);
      continueChain(opChain);
    }
A callback for router operations that starts the next operation in the chain after completion.
The user can define a custom action on the result of the operation by overriding the {@code action()} method.
@param <T> The callback's result type
ambry-server/src/integration-test/java/com/github/ambry/server/RouterServerTestFramework.java