code: def set(self, field, clusters, value, add_to_stack=True):
          
          # Add the field if it doesn't exist.
          if field not in self._fields:
              self.add_field(field)
          assert field in self._fields
  
          clusters = _as_list(clusters)
          for cluster in clusters:
              if cluster not in self._data:
                  self._data[cluster] = {}
              self._data[cluster][field] = value
  
          up = UpdateInfo(description='metadata_' + field,
                          metadata_changed=clusters,
                          metadata_value=value,
                          )
          undo_state = self.emit('request_undo_state', up)
  
          if add_to_stack:
              self._undo_stack.add((clusters, field, value, up, undo_state))
              self.emit('cluster', up)
  
          return up
docs: Set the value of one of several clusters.