code: def _merge_patches(self):
          
          for patched_item, patched_namespace in self._patch_data_by_canonical_name.values():
              patched_item_base_name = self._get_base_name(patched_item.name, patched_namespace.name)
              if patched_item_base_name not in self._item_by_canonical_name:
                  raise InvalidSpec('Patch {} must correspond to a pre-existing data_type.'.format(
                      quote(patched_item.name)), patched_item.lineno, patched_item.path)
  
              existing_item = self._item_by_canonical_name[patched_item_base_name]
  
              self._check_patch_type_mismatch(patched_item, existing_item)
  
              if isinstance(patched_item, (AstStructPatch, AstUnionPatch)):
                  self._check_field_names_unique(existing_item, patched_item)
                  existing_item.fields += patched_item.fields
                  self._inject_patched_examples(existing_item, patched_item)
              else:
                  raise AssertionError('Unknown Patch Object Type {}'.format(
                      patched_item.__class__.__name__))
docs: Injects object patches into their original object definitions.