Return ``True`` if the list contains only adjacent fragments,
        that is, if it does not have gaps.

        :param int min_index: examine fragments with index greater than or equal to this index (i.e., included)
        :param int max_index: examine fragments with index smaller than this index (i.e., excluded)
        :raises ValueError: if ``min_index`` is negative or ``max_index``
                            is bigger than the current number of fragments
        :rtype: bool

def has_adjacent_fragments_only(self, min_index=None, max_index=None):
        """
        Return ``True`` if the list contains only adjacent fragments,
        that is, if it does not have gaps.

        :param int min_index: examine fragments with index greater than or equal to this index (i.e., included)
        :param int max_index: examine fragments with index smaller than this index (i.e., excluded)
        :raises ValueError: if ``min_index`` is negative or ``max_index``
                            is bigger than the current number of fragments
        :rtype: bool
        """
        min_index, max_index = self._check_min_max_indices(min_index, max_index)
        for i in range(min_index, max_index - 1):
            current_interval = self[i].interval
            next_interval = self[i + 1].interval
            if not current_interval.is_adjacent_before(next_interval):
                self.log(u"Found non adjacent fragments")
                self.log([u"  Index %d => %s", i, current_interval])
                self.log([u"  Index %d => %s", i + 1, next_interval])
                return False
        return True