void (String[] args) { Callable<Object> callable = new Callable<Object>() { public Object call() throws Exception { return new A1<Str<caret>ing>().toString(); } }; B b = null; b.bar(b.<String>foo("", "")); }