import java.util.function.*; class A { { B local; method(local = new B<>(new C<>((supplier) -> supplier.get()))); } void method(B value) { } } class B { B(C c) { } } class C { C(Function, T> f) { } }