public class IterableGenerics {
    interface Data extends Iterable<String> {}

    <T extends Data> void typeParam(T t) {
        for (String s : t) ;
    }

    void wildcard(Iterable<? extends Data> t) {
        for (Object a : t.iterator().next()) ;
    }
}
