Evaluates and returns r - partition_key_range
        :param dict partition_key_range:
            Partition key range.
        :param routing_range._Range r: query range.
        :return:
            The subtract r - partition_key_range.
        :rtype: routing_range._Range

def _subtract_range(self, r, partition_key_range):
        """
        Evaluates and returns r - partition_key_range
        :param dict partition_key_range:
            Partition key range.
        :param routing_range._Range r: query range.
        :return:
            The subtract r - partition_key_range.
        :rtype: routing_range._Range
        """
        
        left = max(partition_key_range[routing_range._PartitionKeyRange.MaxExclusive], r.min)

        if left == r.min:
            leftInclusive = r.isMinInclusive
        else:
            leftInclusive = False

        queryRange = routing_range._Range(left, r.max, leftInclusive,
                r.isMaxInclusive)
        return queryRange