I have a data class. Fields can be collections, primitives, references etc. I have to check the equality of two instances of this class. Generally we override equals method for