# File lib/rake.rb, line 320
320:       def enhance_with_matching_rule(task_name, level=0)
321:         fail Rake::RuleRecursionOverflowError,
322:           "Rule Recursion Too Deep" if level >= 16
323:         RULES.each do |pattern, extensions, block|
324:           if md = pattern.match(task_name)
325:             task = attempt_rule(task_name, extensions, block, level)
326:             return task if task
327:           end
328:         end
329:         nil
330:       rescue Rake::RuleRecursionOverflowError => ex
331:         ex.add_target(task_name)
332:         fail ex
333:       end