@Override
    public Runner get() {
        return runners.get();
    }
@Test
    void should_create_a_runner_per_thread() throws InterruptedException {
        final Runner[] runners = new Runner[2];
        Thread thread0 = new Thread(() -> runners[0] = runnerSupplier.get());

        Thread thread1 = new Thread(() -> runners[1] = runnerSupplier.get());

        thread0.start();
        thread1.start();

        thread0.join();
        thread1.join();

        assertAll(
            () -> assertThat(runners[0], is(not(equalTo(runners[1])))),
            () -> assertThat(runners[1], is(not(equalTo(runners[0])))));
    }