BS-10195, extract rule validation in a dedicated object
BS-10195 add naive, untested implementation of ComplexContractStructureValidator
 BS-10195, extract rule validation in a dedicated object and move tests