We shouldn't need to do this by a path string.  A D/F conflict is true for the entire time we are recursed below that path, and the walker knows when we pop out of each level.  Can't we do this faster with a boolean variable or a != null test?  I thought the prior iteration of this feature used an AbstractTreeIterator in a field to tell if we were inside of a D/F conflict.