public static <GItem> Comparator<Iterable<? extends GItem>> iterableComparator(final Comparator<? super GItem> comparator) throws NullPointerException {
		if (comparator == null) throw new NullPointerException("comparator = null");
		return new Comparator<Iterable<? extends GItem>>() {

			@Override
			public int compare(final Iterable<? extends GItem> item1, final Iterable<? extends GItem> item2) {
				return Comparators.compare(item1, item2, comparator);
			}

			@Override
			public String toString() {
				return Objects.toInvokeString("iterableComparator", comparator);
			}

		};
	}