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

def Remove(self, *descriptor_names):
    """Returns a copy of this set without elements with given 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 itervalues(new_descriptor_map)
    ]
    return TypeDescriptorSet(*new_descriptors)