import java.util.Iterator; public class ConcatIterables { class ConcatenatingIterable implements Iterable { ImmutableQueue> iterables; public ConcatenatingIterable(Iterable xs, Iterable ys) { newMethod(xs, (ConcatenatingIterable) ys); } private ImmutableQueue> newMethod(Iterable xs, ConcatenatingIterable ys) { return ys.iterables.pushFront(xs); } @Override public Iterator iterator() { return null; } } static class ImmutableQueue implements Iterable { public static ImmutableQueue empty() { return new ImmutableQueue<>(); } @Override public Iterator iterator() { return null; } ImmutableQueue pushFront(A a) { return null; } } }