@Override
    public int hashCode() {
        throw new UnsupportedOperationException(
                "com.yahoo.collections.Tuple2<T1, T2> does not support equals(Object) by design. Refer to JavaDoc for details.");
    }
hashCode() will always throw UnsupportedOperationException. The reason is
this class is not meant for being put in Container implementation or
similar use where Java generics will lead to a type unsafe maintenance
nightmare.

@throws UnsupportedOperationException
            will always throw this when invoked
vespajlib/src/main/java/com/yahoo/collections/Tuple2.java