As of 2017.3.1 we notice that PSIVfsListener.java calls "invalidateAllPsi()" as part of its "rootsChanged()" method.
This is a very destructive change for us -- it causes all of our DOM-based editors to blank out and need to be closed and re-opened whenever the fsnotifier notices changes. (One of the scenarios where this seems to happen is compilation, but there are others.)
How is a DOM-based editor expected to respond to this invalidation? Can someone point me to an example of how to do this properly?