Maybe I am missing something but I thought that If I declare my class as such:
public class Something<T> implements Iterable<Iterable<T>> {
public Something(Iterable<Iterable<T>> input) {
...
I should be able to instantiate it as such:
ArrayList<ArrayList<String>> l = new ArrayList<ArrayList<String>>();
Something<String> s = Something<String>(l);
Unfortunately this gimes me an error. I thought ArrayLists are Iterable so that should map exactly to my constructor definition.