Refactor `AbstractSimpleTransportTestCase` and `MockTransportService` to not use `Version.transportVersion` 
test/framework/src/main/java/org/elasticsearch/transport/AbstractSimpleTransportTestCase.java
),
            10,
            TimeUnit.SECONDS
        );
        PlainActionFuture.get(
            f -> submitRequest(
                serviceA,
                serviceB.getLocalNode(),
                ACTION,
                TransportRequest.Empty.INSTANCE,
                new ActionListenerResponseHandler<>(f, ignored -> TransportResponse.Empty.INSTANCE)
            ),
            10,
            TimeUnit.SECONDS
        );
    }
    
    private TransportException doFailToSend(RuntimeException failToSendException) throws InterruptedException {
        final TransportInterceptor interceptor = new TransportInterceptor() {
            @Override
            public AsyncSender interceptSender(final AsyncSender sender) {
                return new AsyncSender() {
                    @Override
                    public <T extends TransportResponse> void sendRequest(
                        final Transport.Connection connection,
                        final String action,
                        final TransportRequest request,
                        final TransportRequestOptions options,
                        final TransportResponseHandler<T> handler
                    ) {