code: def _check_overlap(self, fragment):
          
          #
          # NOTE bisect does not work if there is a configuration like:
          #
          #      *********** <- existing interval
          #           ***    <- query interval
          #
          # TODO one should probably check this by doing bisect
          #      over the begin and end lists separately
          #
          for existing_fragment in self.fragments:
              if existing_fragment.interval.relative_position_of(fragment.interval) not in self.ALLOWED_POSITIONS:
                  self.log_exc(u"interval overlaps another already present interval", None, True, ValueError)
docs: Check that the interval of the given fragment does not overlap
          any existing interval in the list (except at its boundaries).
          Raises an error if not OK.