import java.util.Iterator; import java.util.List; class A<T> { List getList() { return null; } } public class DefaultEventSource<T> extends A { public Iterator getKeys(){ return null; } @Override List getList() { return super.getList(); } void f(DefaultEventSource source){ final Iterator keys = source. getKeys(); final Iterator keys1 = (Iterator)source.getKeys(); final Iterator keys2; keys2 = source.getKeys(); for (String o : super.getList()) {} } }