public static <A,B> Iterable<B> iterable(final Iterable<A> collection,
			final F1<A,B> convertF) {
		if (collection==null) {
			return null;
		}
		return new Iterable<B>() {public Iterator<B> iterator() {
			final Iterator<A> iterator = collection.iterator();
			return new Iterator<B>() {

				public boolean hasNext() {
					return iterator.hasNext();
				}

				public B next() {
					return convertF.e(iterator.next());
				}

				public void remove() {
					iterator.remove();
				}
			};
		}};
	}