why are you copying to take the hashCode?