public void Execute(ConsoleApplicationBase app, object command, IConsoleAdapter console, MethodParameterInjector injector, CommandExecutionMode executionMode)
 {
     var parameter = _parameterGetter == null || command == null ? String.Empty : _parameterGetter(command);
     if (String.IsNullOrWhiteSpace(parameter))
     {
         CommandDescriber.Describe(_config, console, DefaultApplicationNameExtractor.Extract(app.GetType()), executionMode, Adorner);
     }
     else
     {
         var chosenCommand = _config.Commands.FirstOrDefault(c => String.CompareOrdinal(c.Name, parameter) == 0);
         if (chosenCommand == null)
         {
             console.WrapLine(@"The command ""{0}"" is not supported.");
         }
         else
         {
             CommandDescriber.Describe(chosenCommand, console, executionMode, Adorner);
         }
     }
 }