private SmithyDiffTestCase.Result waitOnFuture(Future<SmithyDiffTestCase.Result> future)
            throws InterruptedException {
        try {
            return future.get();
        } catch (ExecutionException e) {
            Throwable cause = e.getCause() != null ? e.getCause() : e;
            // Try to throw the original exception as-is if possible.
            if (cause instanceof RuntimeException) {
                throw (RuntimeException) cause;
            } else {
                throw new Error("Error executing test case: " + e.getMessage(), cause);
            }
        }
    }
Executes the test runner with a specific {@code ExecutorService}.

<p>Tests ideally should use JUnit 5's ParameterizedTest as described
in {@link #parameterizedTestSource()}. However, this method can be
used to run tests in parallel in other scenarios (like if you aren't
using JUnit, or not running tests cases during unit tests).

@param executorService Executor service to execute tests with.
@return Returns the test case result object on success.
@throws Error if the validation events do not match expectations.
smithy-diff/src/main/java/software/amazon/smithy/diff/testrunner/SmithyDiffTestSuite.java