/** * get registered state or throw exception else * * @param string $name * @return State */ public function getState($name) { if (!array_key_exists($name, $this->states)) { throw WorkflowEngineException::youTryUseNonExistingState($name, array_keys($this->states)); } return $this->states[$name]; }