void (int sourceItemIndex, final Object object, boolean forceNavigate) { UIEventLogger.NavBarNavigate.log(myProject); boolean restorePopup = !forceNavigate && shouldRestorePopupOnSelect(object, sourceItemIndex); Object obj = expandDirsWithJustOneSubdir(object); myContextObject = null; myUpdateQueue.cancelAllUpdates(); if (myNodePopup != null && myNodePopup.isVisible()) { myUpdateQueue.queueModelUpdateForObject(obj); } myUpdateQueue.queueRebuildUi(); myUpdateQueue.queueAfterAll(() -> { int index = myModel.indexOf(obj); if (index >= 0) { myModel.setSelectedIndex(index); } if (myModel.hasChildren(obj) && restorePopup) { restorePopup(); } else { doubleClick(obj); } }, NavBarUpdateQueue.ID.NAVIGATE_INSIDE); }