Apply a new annotation onto self, and return a new ValueSet object.

        :param RegionAnnotation annotation: The annotation to apply.
        :return: A new ValueSet object
        :rtype: ValueSet

def apply_annotation(self, annotation):
        """
        Apply a new annotation onto self, and return a new ValueSet object.

        :param RegionAnnotation annotation: The annotation to apply.
        :return: A new ValueSet object
        :rtype: ValueSet
        """

        vs = self.copy()
        vs._merge_si(annotation.region_id, annotation.region_base_addr, annotation.offset)
        return vs