protected function urlAbsPartAndSplitByReverseBasePath (\MvcCore\IRequest & $request, $resultUrl, & $domainParams, $splitUrl) {
		$doubleSlashPos = mb_strpos($resultUrl, '//');
		$doubleSlashPos = $doubleSlashPos === FALSE
			? 0
			: $doubleSlashPos + 2;
		$router = & $this->router;
		$basePathPlaceHolderPos = mb_strpos($resultUrl, static::PLACEHOLDER_BASEPATH, $doubleSlashPos);
		if ($basePathPlaceHolderPos === FALSE) {
			return $this->urlAbsPartAndSplitByRequestedBasePath(
				$request, $resultUrl, $splitUrl
			);
		}
		$pathPart = mb_substr($resultUrl, $basePathPlaceHolderPos + mb_strlen(static::PLACEHOLDER_BASEPATH));
		$pathPart = str_replace('//', '/', $pathPart);
		$basePart = mb_substr($resultUrl, 0, $basePathPlaceHolderPos);
		$basePathParamName = $router::URL_PARAM_BASEPATH;
		$basePart .= isset($domainParams[$basePathParamName])
			? $domainParams[$basePathParamName]
			: $request->GetBasePath();
		if ($this->flags[0] === static::FLAG_SCHEME_ANY)
			$basePart = $request->GetScheme() . $basePart;
		if ($splitUrl) return [$basePart, $pathPart];
		return [$basePart . $pathPart];
	}