public function update($recursive = false, $init = false, $force = false, $path = null)
    {
        $this->clearAll();
        $this->addCommandName(sprintf('%s %s', self::SUBMODULE_COMMAND, self::SUBMODULE_UPDATE_COMMAND));
        if ($recursive === true) {
            $this->addCommandArgument(self::SUBMODULE_OPTION_RECURSIVE);
        }
        if ($init === true) {
            $this->addCommandArgument(self::SUBMODULE_OPTION_INIT);
        }
        if ($force === true) {
            $this->addCommandArgument(self::SUBMODULE_OPTION_FORCE);
        }
        if ($path !== null) {
            $this->addPath($path);
        }

        return $this->getCommand();
    }