code: public static List<Command> registerCommands(final Bootstrap bootstrap, final ClasspathScanner scanner,
                                          final ConfigurationContext context) {
          final Stopwatch timer = context.stat().timer(CommandTime);
          final CommandClassVisitor visitor = new CommandClassVisitor(bootstrap);
          scanner.scan(visitor);
          context.registerCommands(visitor.getCommands());
          timer.stop();
          return visitor.getCommandList();
      }
docs: Scans classpath to find commands and register them.
  Commands are instantiated using default constructor, but {@link io.dropwizard.cli.EnvironmentCommand}
  must have constructor with {@link io.dropwizard.Application} argument.
  
  @param bootstrap bootstrap object
  @param scanner   configured scanner instance
  @param context   configuration context
  @return list of installed commands