code: def __liftover_coordinates_genomic_indels(self, intersect_region):
      
      # should never happen, but check anyway...
      consensus_match_length = self.consensus_end - self.consensus_start
      size_dif = consensus_match_length - len(self)
      assert(size_dif != 0)
  
      if size_dif < 0:
        # genomic region longer; assume genomic region contains insertions
        return self.__liftover_coordinates_genomic_insertions(intersect_region)
      else:
        # genomic region shorter; assume genomic region contains deletions
        return self.__liftover_coordinates_genomic_deletions(intersect_region)
docs: Lift a region that overlaps the genomic occurrence of the retrotransposon
      to consensus sequence coordinates using just the coordinates (not the full
      alignment), when they have differing length. This is an internal helper
      method. The above length constraint must be true, otherwise an assertion
      is failed.
  
      :param intersect_region: a region that intersects this occurrence.
      :return: list of GenomicInterval objects. This is a list because a genomic
               deletion of part of the retrotransposon can fragment the
               intersecting region and result in more than one returned interval.
               List might be empty, if intersection overlaps only gaps.
      :note: no checks are made for whether the interval really intersects!!