Get rule on the Rule class.
        :param cls: Rule for which return the rule.
        :return: Rule inside the Rule class.
        :raise RuleNotDefinedException: If the rule is not defined.
        :raise CantCreateSingleRuleException: If the rule consists of more rules.
        :raise NotASingleSymbolException: If number of symbols on the left is more.

def _get_rule(cls):
        # type: (_MetaRule) -> (List[object], List[object])
        """
        Get rule on the Rule class.
        :param cls: Rule for which return the rule.
        :return: Rule inside the Rule class.
        :raise RuleNotDefinedException: If the rule is not defined.
        :raise CantCreateSingleRuleException: If the rule consists of more rules.
        :raise NotASingleSymbolException: If number of symbols on the left is more.
        """
        if cls._traverse:
            return (cls.left, cls.right)
        if len(cls.rules) > 1:
            raise CantCreateSingleRuleException(cls)
        return cls.rules[0]