@Override public final int hashCode() { int hash = 1; for (final E elem : this) hash = 31 * hash + (elem == null ? 0 : elem.hashCode()); return hash; }