Adds a rule. Use add_action_rule or add_match_rule instead
        :param rule_wrapper: Rule wrapper class (ActionRule or MatchRule)
        :param config_name: config_name of the plugin to add
        :param value: configuration information for the rule
        :param plugins: list of all available plugins
        :param destination: list to append plugin to (self.action_rules or self.match_rules)
        :return:

def add_rule(self, config_name, value, plugins, destination):
        """
        Adds a rule. Use add_action_rule or add_match_rule instead
        :param rule_wrapper: Rule wrapper class (ActionRule or MatchRule)
        :param config_name: config_name of the plugin to add
        :param value: configuration information for the rule
        :param plugins: list of all available plugins
        :param destination: list to append plugin to (self.action_rules or self.match_rules)
        :return:
        """
        if config_name in plugins:
            rule = plugins[config_name](value)
            destination.append(rule)
        else:
            self.logger.error("Plugin with config_name {0} not found".format(config_name))
            raise IndexError("Plugin with config_name {0} not found".format(config_name))