public static <E, F, G extends Comparable<E>, H> H bar(Foo<E, F, G> target, H h) { return target.getFoo(h);
public static <E, F, G extends Comparable<E>, H> H bar(Foo<E, F, G> foo, H h) { return foo.getFoo(h);
	public static <E, F, G extends Comparable<E>, H> H bar(Foo<E, F, G> target, H h) {		return target.getFoo(h);	}