<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 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