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_wants_too_much() {
        PluginOption option = parse(WantsTooMuch.class.getName());
        Executable testMethod = () -> fc.create(option);
        CucumberException exception = assertThrows(CucumberException.class, testMethod);
        assertThat(exception.getMessage(), is(equalTo(
            "class io.cucumber.core.plugin.PluginFactoryTest$WantsTooMuch must have at least one empty constructor or a constructor that declares a single parameter of one of: [class java.lang.String, class java.io.File, class java.net.URI, class java.net.URL, class java.io.OutputStream, interface java.lang.Appendable]")));
    }