code: func ExecutionIDFromKey(k *ds.Key) *dm.Execution_ID {
  	if k.Kind() != "Execution" || k.Parent() == nil {
  		panic(fmt.Errorf("invalid Execution key: %s", k))
  	}
  	id := k.IntID()
  	if id <= 0 || id > math.MaxUint32 {
  		panic(fmt.Errorf("invalid Execution key: %s", k))
  	}
  	atmpt := AttemptIDFromKey(k.Parent())
  	return &dm.Execution_ID{Quest: atmpt.Quest, Attempt: atmpt.Id, Id: uint32(id)}
  }
docs: // ExecutionIDFromKey makes a ExecutionID from the given datastore.Key. It panics if the
  // Key does not point to a Execution.