def validate!
      banner! if @argv.flag?('help')
      unless @argv.empty?
        argument = @argv.remainder.first
        help! ArgumentSuggester.new(argument, self.class).suggestion
      end
      help! if self.class.abstract_command?
    end
def validate!
      banner! if @argv.flag?('help')
      unless @argv.empty?
        argument = @argv.remainder.first
        help! ArgumentSuggester.new(argument, self.class).suggestion
      end
      help! if self.class.abstract_command?
    end
Raises a Help exception if the `--help` option is specified, if `argv`
 still contains remaining arguments/options by the time it reaches this
 implementation, or when called on an ‘abstract command’.

 Subclasses should call `super` _before_ doing their own validation. This
 way when the user specifies the `--help` flag a help banner is shown,
 instead of possible actual validation errors.

 @raise [Help]

 @return [void]