Plugin create(Options.Plugin plugin) {
        try {
            return instantiate(plugin.pluginString(), plugin.pluginClass(), plugin.argument());
        } catch (IOException | URISyntaxException e) {
            throw new CucumberException(e);
        }
    }
@Test
    void creates_parent_directories() {
        Path file = tmp.resolve("target/cucumber/reports/rerun.txt");
        PluginOption option = parse("rerun:" + file);
        assertAll(
            () -> assertThat(Files.exists(file), is(false)),
            () -> assertDoesNotThrow(() -> {
                Object plugin = fc.create(option);
                releaseResources(plugin);
            }),
            () -> assertThat(Files.exists(file), is(true)));
    }