public function withArgument($name, $description, array $choices = [])
    {
        $this->choices[$name] = $choices;

        return $this->addArgument($name, InputArgument::REQUIRED, $description);
    }
public function withArgument($name, $description, array $choices = [])
    {
        $this->choices[$name] = $choices;

        return $this->addArgument($name, InputArgument::REQUIRED, $description);
    }
public function withArgument ( $ name , $ description , array $ choices = [ ] ) { $ this -> choices [ $ name ] = $ choices ; return $ this -> addArgument ( $ name , InputArgument :: REQUIRED , $ description ) ; }
With mandatory argument

@param string $name
@param string $description
@param array  $choices

@return self
With mandatory argument