/**
  * Create a new model state.
  *
  * @param  ModelInterface                                 $model
  * @param  string                                         $processName
  * @param  string                                         $stepName
  * @param  ModelState                                     $previous
  * @return \Lexik\Bundle\WorkflowBundle\Entity\ModelState
  */
 protected function createModelState(ModelInterface $model, $processName, $stepName, $previous = null)
 {
     $modelState = new ModelState();
     $modelState->setWorkflowIdentifier($model->getWorkflowIdentifier());
     $modelState->setProcessName($processName);
     $modelState->setStepName($stepName);
     $modelState->setData($model->getWorkflowData());
     if ($previous instanceof ModelState) {
         $modelState->setPrevious($previous);
     }
     return $modelState;
 }