protected function retrieve($name)
    {
        switch ($name) {
            case 'port':
                if (is_null($this->$name) && isset(self::$defaultPorts[$this->scheme])) {
                    return self::$defaultPorts[$this->scheme];
                }
                //Just handle port then go to the default case
            default:
                return $this->$name;
        }
    }