public function start(string $id, string $name = 'PHPSESSID', array $options = []): self
        {
            if ($this->disabled()) {
                throw new \RuntimeException('PHP sessions are disabled');
            }
            
            if ($this->active()) {
                throw new \RuntimeException('Failed to start the session: already started by PHP.');
            }

            session_name($name);
            session_id($id);
            session_start($options);

            $this->name    = $name;
            $this->id      = $id;
            $this->options = $options;
            $this->data    = $_SESSION;
            return $this;
        }