function _edit(paneId, doc, optionsIn) {
        var options = optionsIn || {};

        var pane = _getPane(paneId);

        // If file is untitled or otherwise not within project tree, add it to
        // working set right now (don't wait for it to become dirty)
        if (doc.isUntitled() || !ProjectManager.isWithinProject(doc.file.fullPath)) {
            addToWorkingSet(paneId, doc.file);
        }

        // open document will show the editor if there is one already
        EditorManager.openDocument(doc, pane, options);
        _makeFileMostRecent(paneId, doc.file);

        if (!options.noPaneActivate) {
            setActivePaneId(paneId);
        }
    }
Edits a document in the specified pane.
This function is only used by:
 - Unit Tests (which construct Mock Document objects),
 - by File > New  because there is yet to be an established File object
 - by Find In Files which needs to open documents synchronously in some cases
Do not use this API it is for internal use only
@param {!string} paneId - id of the pane in which to open the document
@param {!Document} doc - document to edit
@param {{noPaneActivate:boolean=}=} optionsIn - options
@private