public static function &createWithName($name = null, AuraSession $session = null) : Session
    {
        $session = ! is_null($session) ? new static : new static($session);
        if (is_null($name)) {
            return $session;
        }

        $session->setSegmentName($name);
        return $session;
    }