Plugin create(Options.Plugin plugin) {
        try {
            return instantiate(plugin.pluginString(), plugin.pluginClass(), plugin.argument());
        } catch (IOException | URISyntaxException e) {
            throw new CucumberException(e);
        }
    }
@Test
    void fails_to_instantiate_plugin_that_declares_two_single_arg_constructors_when_no_argument_specified() {
        PluginOption option = parse(WantsFileOrURL.class.getName());
        Executable testMethod = () -> fc.create(option);
        CucumberException exception = assertThrows(CucumberException.class, testMethod);
        assertThat(exception.getMessage(), is(equalTo(
            "You must supply an output argument to io.cucumber.core.plugin.PluginFactoryTest$WantsFileOrURL. Like so: io.cucumber.core.plugin.PluginFactoryTest$WantsFileOrURL:DIR|FILE|URL")));
    }