public CommandHandler getCommandHandler(String label) {

        for (CommandHandler commandHandler : commandHandlers) {
            boolean ignoreCase = commandHandler.getInfo().isIgnoreCase();
            for (String commandLabel : commandHandler.getInfo().getLabels()) {
                if (ignoreCase && commandLabel.equalsIgnoreCase(label)) {
                    return commandHandler;
                } else if (!ignoreCase && commandLabel.equals(label)) {
                    return commandHandler;
                }
            }
        }

        throw new IllegalStateException("No CommandHandler for " + label + " registered");
    }