final protected function updateOption($flag, $enabled, $value = null, $remove = false)
    {
        $shellOption = $this->option($flag);
        $shellOption->enable($enabled);

        if ($shellOption->canHaveValue()) {
            $this->updateOptionValue($shellOption, $value, $remove);
        }

        return $this;
    }