/**
* @param object $subject
* @param ProcessInterface $process
* @param string $stateName
*/
public function __construct($subject, ProcessInterface $process, $stateName = null, TransitionSelectorInterface $transitonSelector = null)
{
parent::__construct();
$this->subject = $subject;
if ($stateName) {
$this->currentState = $process->getState($stateName);
} else {
$this->currentState = $process->getInitialState();
}
if ($transitonSelector) {
$this->transitonSelector = $transitonSelector;
} else {
$this->transitonSelector = new OneOrNoneActiveTransition();
}
}