Description
there are many classes with equals and hashCode implemented however there are also classes which don't. We need to be consistent and if we are using equals then we need to define it for all classes in the affected hierarchy. For example OptionImpl has an equals but ParentImpl which extends OptionImpl and has several new members doesn't.