docs: def _get(self, *rules):
          # type: (Iterable[Type[Rule]]) -> Generator[Type[Rule]]
          """
          Get rules representing parameters.
          The return rules can be different from parameters, in case parameter define multiple rules in one class.
          :param rules: For which rules get the representation.
          :return: List of rules representing parameters.
          :raise NotRuleException: If the parameter doesn't inherit from Rule.
          :raise RuleException: If the syntax of the rule is invalid.
          """
          for rule in rules:
              if not inspect.isclass(rule) or not issubclass(rule, Rule):
                  raise NotRuleException(rule)
              for r in self._split_rules(rule):
                  yield self._find_rule(r)