code: def add_sibling(self, sibling):
          
          assert self.is_pseudo is False
          if self.siblings is None:
              self.siblings = list()
              self.multi_rep = self
          sibling.multi_rep = self
          self.siblings.append(sibling)
docs: Designate this a multi-feature representative and add a co-feature.
  
          Some features exist discontinuously on the sequence, and therefore
          cannot be declared with a single GFF3 entry (which can encode only a
          single interval). The canonical encoding for these types of features is
          called a multi-feature, in which a single feature is declared on
          multiple lines with multiple entries all sharing the same feature type
          and ID attribute. This is commonly done with coding sequence (CDS)
          features.
  
          In this package, each multi-feature has a single "representative"
          feature object, and all other objects/entries associated with that
          multi-feature are attached to it as "siblings".
  
          Invoking this method will designate the calling feature as the
          multi-feature representative and add the argument as a sibling.