import java.util.Collection; import java.util.function.Function; import java.util.stream.Stream; abstract class Foo { { map(Foo::bar); map(a -> Foo.bar(a)); } Stream map(Function, ? extends R> mapper) { return null; } private static Collection bar(Class baseClass) { return null; } }