elk-util-parent/elk-util-hashing/src/main/java/org/semanticweb/elk/util/hashing/HashGenerator.java
public static int combinedHashCode(Object... objects) {
		int result = 0;
		for (Object obj : objects) {
			int h = obj.hashCode();
			result += h;
			result += (h << 10);
			result ^= (h >> 6);
		}
		result += (result << 3);
		result ^= (result >> 11);
		result += (result << 15);

		return result;
	}
public static int combinedHashCode(Object... objects) {
		int result = 0;
		for (Object obj : objects) {
			int h = obj.hashCode();
			result += h;
			result += (h << 10);
			result ^= (h >> 6);
		}
		result += (result << 3);
		result ^= (result >> 11);
		result += (result << 15);

		return result;
	}
public static int combinedHashCode ( Object ... objects ) { int result = 0 ; for ( Object obj : objects ) { int h = obj . hashCode ( ) ; result += h ; result += ( h << 10 ) ; result ^= ( h >> 6 ) ; } result += ( result << 3 ) ; result ^= ( result >> 11 ) ; result += ( result << 15 ) ; return result ; }
Compute the combined hash code of several objects using their
{@link #hashCode()} functions. The combined hash code depends on the
order in which the objects are listed.

The current implementation is based on the Jenkins One-at-a-Time hash,
see http://www.burtleburtle.net/bob/hash/doobs.html and also
http://en.wikipedia.org/wiki/Jenkins_hash_function.

@param objects
the list of objects for which to compute the combined hash
code
@return the combined hash code
Compute the combined hash code of several objects using their { @link #hashCode () } functions . The combined hash code depends on the order in which the objects are listed .