private int TermArraysHashCode() { int hashCode = 1; foreach(Term[] termArray in termArrays) { // Java uses Arrays.hashCode(termArray) hashCode = 31*hashCode + (termArray == null ? 0 : ArraysHashCode(termArray)); } return hashCode; }