public function remote(SubCommandCommand $subcommand = null, Array $options = array())
    {
        $normalizedOptions = $this->normalizeOptions($options, $this->remoteCmdSwitchOptions());

        $this->clearAll();

        $this->addCommandName(self::GIT_REMOTE);

        foreach ($normalizedOptions as $value) {
            $this->addCommandArgument($value);
        }

        if ($subcommand) {
            $this->addCommandSubject($subcommand);
        }

        return $this->getCommand();
    }