We should check `DocumentManager.getOpenDocumentForPath()` first.  This (a) prevents hitting disk needlessly if we already have it, and (b) ensures if the user has unsaved changes they get taken into account (which is the current behavior for run()).