code: func (e *Execution) DataProto() (ret *dm.Execution_Data) {
  	switch e.State {
  	case dm.Execution_SCHEDULING:
  		ret = dm.NewExecutionScheduling().Data
  	case dm.Execution_RUNNING:
  		ret = dm.NewExecutionRunning().Data
  	case dm.Execution_STOPPING:
  		ret = dm.NewExecutionStopping().Data
  	case dm.Execution_FINISHED:
  		ret = dm.NewExecutionFinished(e.Result.Data).Data
  	case dm.Execution_ABNORMAL_FINISHED:
  		ret = dm.NewExecutionAbnormalFinish(e.Result.AbnormalFinish).Data
  	default:
  		panic(fmt.Errorf("unknown Execution_State: %s", e.State))
  	}
  	ret.Created = google_pb.NewTimestamp(e.Created)
  	ret.Modified = google_pb.NewTimestamp(e.Modified)
  	ret.DistributorInfo = &dm.Execution_Data_DistributorInfo{
  		ConfigName:    e.DistributorConfigName,
  		ConfigVersion: e.DistributorConfigVersion,
  		Token:         e.DistributorToken,
  	}
  	return ret
  }
docs: // DataProto returns an Execution.Data message for this Execution.
  //
  // This omits the DistributorInfo.Url portion, which must be filled in elsewhere for
  // package cyclical import reasons.