void () { removeInvalidFilesFromStacks(); if (myBackPlaces.isEmpty()) { return; } PlaceInfo info = myBackPlaces.removeLast(); myProject.getMessageBus().syncPublisher(RecentPlacesListener.TOPIC).recentPlaceRemoved(info, false); PlaceInfo current = getCurrentPlaceInfo(); if (current != null) { myForwardPlaces.add(current); } myBackInProgress = true; try { executeCommand(() -> gotoPlaceInfo(info), "", null); } finally { myBackInProgress = false; } }