@Override protected Void doExecute() throws IOException {
    // Enqueue the call invocation on the executor and block until it completes.
    doEnqueue(NOOP_CALLBACK);
    if (!await(latch)) throw new InterruptedIOException();

    // Check if the run resulted in an exception
    Throwable t = this.throwable;
    if (t == null) return null; // success

    // Coerce the throwable to the signature of Call.execute()
    if (t instanceof Error error) throw error;
    if (t instanceof IOException exception) throw exception;
    if (t instanceof RuntimeException exception) throw exception;
    throw new RuntimeException(t);
  }
To simplify code, this doesn't actually invoke the underlying {@link #execute()} method. This
is ok because in almost all cases, doing so would imply invoking {@link #enqueue(Callback)}
anyway.
zipkin-server/src/main/java/zipkin2/server/internal/throttle/ThrottledCall.java