class Test <T> { void <caret>foo(T t) { } } class I extends Test<String>{}