          # File lib/rake.rb, line 1803
    1803:     def enhance_with_matching_rule(task_name, level=0)
    1804:       fail Rake::RuleRecursionOverflowError,
    1805:         "Rule Recursion Too Deep" if level >= 16
    1806:       @rules.each do |pattern, extensions, block|
    1807:         if md = pattern.match(task_name)
    1808:           task = attempt_rule(task_name, extensions, block, level)
    1809:           return task if task
    1810:         end
    1811:       end
    1812:       nil
    1813:     rescue Rake::RuleRecursionOverflowError => ex
    1814:       ex.add_target(task_name)
    1815:       fail ex
    1816:     end