public static <GItem, GItem2> Comparable<GItem> navigatedComparable(final Converter<? super GItem, ? extends GItem2> converter,
		final Comparable<? super GItem2> comparable) throws NullPointerException {
		if (converter == null) throw new NullPointerException("converter = null");
		if (comparable == null) throw new NullPointerException("comparable = null");
		return new Comparable<GItem>() {

			@Override
			public int compareTo(final GItem item) {
				return comparable.compareTo(converter.convert(item));
			}

			@Override
			public String toString() {
				return Objects.toInvokeString("navigatedComparable", converter, comparable);
			}

		};
	}