import java.io.InputStream; import java.util.function.Function; class ConstructorNotFound { public static void main(String[] args) { new SuggesterSpec2<>("test", SuggestionBuilder::new); new SuggesterSpec2<>("test", is -> new SuggestionBuilder(is)); new SuggesterSpec<>("test", is -> new SuggestionBuilder(is)); new SuggesterSpec<>("test", SuggestionBuilder::new); } } class SuggesterSpec { public SuggesterSpec(String name, Function builderReader, int count) { } public SuggesterSpec(String count, Function builderReader, String name) { } } class SuggesterSpec2 { public SuggesterSpec2(String name, Function builderReader, int count) { } public SuggesterSpec2(int count, Function builderReader, String name) { } } class SuggestionBuilder { public SuggestionBuilder() { } public SuggestionBuilder(InputStream is) { } }