private function resolveRouteType($routeType)
    {
        $typeClassName = sprintf('%sRoute', ucfirst($routeType));
        $classNamespace = __NAMESPACE__ . '\\Router\\Route\\' . $typeClassName;
        if (!array_key_exists($classNamespace, $this->resolvedTypes)) {
            $reflectionClass = new \ReflectionClass($classNamespace);
            $this->resolvedTypes[$classNamespace] = $reflectionClass->newInstance();
        }

        return $this->resolvedTypes[$classNamespace];
    }