code: def _add_complex_section(self, item):
          
          # extract filter and constraints
          try:
              fltr = item[self.FILTER_SECT]
          except KeyError:
              raise ValueError("configuration requires '{}'".format(self.FILTER_SECT))
          sample = item.get(self.SAMPLE_SECT, None)
          constraints = item.get(self.CONSTRAINT_SECT, None)
  
          section = ConstraintSpecSection(fltr, constraints, sample)
          key = section.get_key()
          if key in self._sections:
              self._sections[key].append(section)
          else:
              self._sections[key] = [section]
docs: Add a section that has a filter and set of constraints
  
          :raise: ValueError if filter or constraints is missing