code: private Map<String, Class<? extends Command<? extends CLIContext>>> loadCommands() throws CLIInitException{
  		Map<String, Class<? extends Command<? extends CLIContext>>> commands =
  			new HashMap<String, Class<? extends Command<? extends CLIContext>>>();
  		
  		Discoverer discoverer = new ClasspathDiscoverer();
  		CLIAnnotationDiscovereryListener discoveryListener = new CLIAnnotationDiscovereryListener(new String[] {CLICommand.class.getName()});
  		discoverer.addAnnotationListener(discoveryListener);
  		discoverer.discover(true, true, true, true, true);
  		
  		loadCommands(commands, discoveryListener.getDiscoveredClasses());
  		
  		if (commands.isEmpty()) {
  			throw new CLIInitException("No commands could be loaded.");
  		}
  		
  		return commands;
  	}
docs: Load the necessary commands for this application.
  @return The map of commands.
  @throws CLIInitException Thrown when commands fail to properly load.