I see, this check needs to be different based on Type (Group vs Primitive). But, repetition check is common, may be that can go in the base class.