def METHOD_NAME(ordered_partition_key_range_list):
    isComplete = False
    if ordered_partition_key_range_list:
        firstRange = ordered_partition_key_range_list[0]
        lastRange = ordered_partition_key_range_list[-1]
        isComplete = (
            firstRange[PartitionKeyRange.MinInclusive] == CollectionRoutingMap.MinimumInclusiveEffectivePartitionKey
        )
        isComplete &= (
            lastRange[PartitionKeyRange.MaxExclusive] == CollectionRoutingMap.MaximumExclusiveEffectivePartitionKey
        )
        for i in range(1, len(ordered_partition_key_range_list)):
            previousRange = ordered_partition_key_range_list[i - 1]
            currentRange = ordered_partition_key_range_list[i]
            isComplete &= (
                previousRange[PartitionKeyRange.MaxExclusive] == currentRange[PartitionKeyRange.MinInclusive]
            )
            if not isComplete:
                if previousRange[PartitionKeyRange.MaxExclusive] > currentRange[PartitionKeyRange.MinInclusive]:
                    raise ValueError("Ranges overlap")
                break
    return isComplete