Hm, I think this should feel like a pretty unexpected behavior to the end users. If I didn't read this comment, I would never guess that this is how Spark works. I'd see my current project refresh and assume that the rest have been refreshed too, and possibly start modifying them, potentially overwriting the external changes. I have a narrow idea about how to deal with this and a broader idea about how to allow such costly operation without impacting usability. I'll file new issues.