def METHOD_NAME(self) -> None:
    self._optruleblocks = []
    current_lowfreq_blocks: list[RuleBlock] = []
    def flush_current_lowfreq_blocks() -> None:
        nonlocal current_lowfreq_blocks
        if len(current_lowfreq_blocks) >= COVERING_BLOCK_MIN_SIZE:
            self._optruleblocks.append(CoveringRuleBlock(current_lowfreq_blocks))
        elif current_lowfreq_blocks:
            self._optruleblocks.extend(current_lowfreq_blocks)
        current_lowfreq_blocks = []
    for block in self._ruleblocks:
        max_frequency = 0.0
        has_unconditional = False
        for rule in block.iter_all_rules():
            max_frequency = max(max_frequency, self._statistics.get_rule_frequency(rule.texthash))
            if not rule.names and not rule.namepat:
                has_unconditional = True
                break
        if has_unconditional or max_frequency >= RULE_LOWFREQ_THRESHOLD:
            flush_current_lowfreq_blocks()
            self._optruleblocks.append(block)
            continue
        current_lowfreq_blocks.append(block)
    flush_current_lowfreq_blocks()