code: def populate_shared_sections(self):
          
          if not self.has_section('sharedoptions'):
              # No sharedoptions, exit
              return
          for key, value in self.items('sharedoptions'):
              assert(self.has_section('sharedoptions-%s' %(key)))
              # Comma separated
              values = value.split(',')
              common_options = self.items('sharedoptions-%s' %(key))
              for section in values:
                  if not self.has_section(section):
                      self.add_section(section)
                  for arg, val in common_options:
                      if arg in self.options(section):
                          raise ValueError('Option exists in both original ' + \
                                 'ConfigParser section [%s] and ' %(section,) + \
                                 'sharedoptions section: %s %s' \
                                 %(arg,'sharedoptions-%s' %(key)))
                      self.set(section, arg, val)
              self.remove_section('sharedoptions-%s' %(key))
          self.remove_section('sharedoptions')
docs: Parse the [sharedoptions] section of the ini file.
  
          That section should contain entries according to:
  
            * massparams = inspiral, tmpltbank
            * dataparams = tmpltbank
  
          This will result in all options in [sharedoptions-massparams] being
          copied into the [inspiral] and [tmpltbank] sections and the options
          in [sharedoptions-dataparams] being copited into [tmpltbank].
          In the case of duplicates an error will be raised.