code: func (vol *VolumeResource) ApplyTransition(nextState resourcestatus.ResourceStatus) error {
  	transitionFunc, ok := vol.statusToTransitions[nextState]
  	if !ok {
  		return errors.Errorf("volume [%s]: transition to %s impossible", vol.Name,
  			vol.StatusString(nextState))
  	}
  	return transitionFunc()
  }
docs: // ApplyTransition calls the function required to move to the specified status