import java.util.Collection; import java.util.List; class Test { { Matcher> m = not(empty()); } static Matcher> empty() { return null; } static Matcher not(Matcher matcher) { return null; } static Matcher not(T value) { return null; } static class Matcher {} }