code: public static <F, T> Iterable<T> map(final Iterable<F> from,
                                           final Mapper<? super F, T> mapper) {
          return new Iterable<T>() {
              @Override
              public Iterator<T> iterator() {
                  return new MappingIterator<F, T>(from.iterator(), mapper);
              }
          };
      }
docs: Create a new iterable by applying a mapper function to each
  element of a given sequence.