import java.util.*; class CLS { static void bar (V v) {} static void foo () { bar(new Object()); } } ////////////////////////////// abstract class ZZZ { public abstract ZZZ get(); } class Z2 extends ZZZ { public Z2 get() { return null; } void f() { Z2 z2 = get(); } } ///////////////// abstract class LeastRecentlyUsedCache { interface Callable { V call() throws Exception; } Callable e(E e) { return null; } Callable f(boolean b, final T t) { return b ? e(t) : new Callable() { public T call() throws Exception { return t; } }; } void ff() { } class A {} class B extends A {} } ////////////////////////// class BadCodeGreen> { public BadCodeGreen(C c, T t) { c.add(t); } } //////////////////////////// abstract class A { public abstract > T create(); } class B extends A { public > T create() { return null; } } ///////////////////////////