'Returns a copy of this set without elements with given names.'

def Remove(self, *descriptor_names):

    new_descriptor_map = self.descriptor_map.copy()
    for name in descriptor_names:
        new_descriptor_map.pop(name, None)
    new_descriptors = [desc for desc in self.descriptors if (desc in new_descriptor_map.values())]
    return TypeDescriptorSet(*new_descriptors)
