I think the use of a local var generically named "flag" to determine when to start / stop is a difficult to read.  

What you might try to do in this scenario is find the index of currDmFullPath in the workingSet Array and either start or stop on that index in a for loop rather than try to use a forEach().  

Using a for loop, you can break out of the loop rather than keep spinning over indices you don't care about.  

Also you wouldn't need to worry about the previous comment above since you could just iterate using a for loop and skip the index for the current entry.