hashCode() implementations