public function checkState()
	{
		if ($this->url)
		{
			if (($actualUrl = $this->session->url()) !== $this->url)
			{
				throw new ViewStateException(__METHOD__ . ": URL '$this->url' was expected, actual URL is '$actualUrl'.");
			}
		}
		else
		{
			$appRequest = $this->session->appRequest;
			if ($appRequest->presenterName !== $this->presenterName)
			{
				throw new ViewStateException(__METHOD__ . ": Presenter '$this->presenterName' was expected, actual presenter is '$appRequest->presenterName'.");
			}
			foreach (Utils::strToArray($this->presenterParameters) as $name => $value)
			{
				if ($appRequest->parameters[$name] !== $value)
				{
					throw new ViewStateException(__METHOD__ . ": Parameter '$name' is expected to be '$value', but is '{$appRequest->parameters[$name]}'.");
				}
			}
		}
	}