Previous detection relied upon an arbitrary hard coded limit of 21 response files, which some code bases were running up against.
The new detection maintains a stack of processing response files and explicitly checks if a newly encountered file is in the current stack. Some bookkeeping data is necessary in order to detect when to pop the stack.