@staticmethod
def __map(index, interval):
    """
        update for CIRCexplorer particularly.
        """
    tmp_fragment = []
    if not interval:
        return index
    for dex in index:
        while True:
            try:
                fragment = interval.pop(0)
            except IndexError:
                if tmp_fragment:
                    interval.extend(tmp_fragment)
                    tmp_fragment = []
                    break
                else:
                    return index
            if fragment[0] < dex[0]:
                continue
            elif fragment[0] >= dex[1]:
                interval.insert(0, fragment)
                interval[0:0] = tmp_fragment
                tmp_fragment = []
                break
            elif fragment[1] > dex[1]:
                tmp_fragment.append(fragment)
                continue
            else:
                dex += fragment[2:]
    else:
        return index
