Patch Set 4:

That's odd because IResourceChangeEvent's getDelta() javadoc states that the delta starts off at the workspace root. I'd suggest someone else take a look at this patch because I cannot say that the current change set works for me.