Patch Set 1: I would prefer that you didn't submit this

In case of nested projects you can get two containers for the a given folder:

Project1 [not shared]
    Project2 [shared]
        
You start with an AdaptableFileTreeIterator and hit the first folder in a shared project: the folder of project2. For this folder 2 containers exist, one belonging to project 1 and one belonging to project2.
I will drop the "innermost" logic and add a check if the container is shared with Git.