code: def _update_content(self, other_filth):
          
          if self.end < other_filth.beg or other_filth.end < self.beg:
              raise exceptions.FilthMergeError(
                  "a_filth goes from [%s, %s) and b_filth goes from [%s, %s)" % (
                      self.beg, self.end, other_filth.beg, other_filth.end
                  ))
  
          # get the text over lap correct
          if self.beg < other_filth.beg:
              first = self
              second = other_filth
          else:
              second = self
              first = other_filth
          end_offset = second.end - first.end
          if end_offset > 0:
              self.text = first.text + second.text[-end_offset:]
  
          # update the beg/end strings
          self.beg = min(self.beg, other_filth.beg)
          self.end = max(self.end, other_filth.end)
          if self.end - self.beg != len(self.text):
              raise exceptions.FilthMergeError("text length isn't consistent")
  
          # update the placeholder
          self.filths.append(other_filth)
          self._placeholder = '+'.join([filth.type for filth in self.filths])
docs: this updates the bounds, text and placeholder for the merged
          filth