Commented/documented classes SpecialOffer, PriceDiscount...
Added equals() and hashCode() s.