That's quite some casting! Doe we really need the `(Iterable<?>)` in there as well?