public static <E> Iterable<E> cast(final Iterable i) {
        return map(i, new Mapper<Object, E>() {
                public E apply(Object o) {
                    return (E) o;
                }
            });
    }
public static < E > Iterable < E > cast ( final Iterable i ) { return map ( i , new Mapper < Object , E > ( ) { public E apply ( Object o ) { return ( E ) o ; } } ) ; }
Turns an iterable into its type-safe cousin.