void (boolean acceptPlaceFromFocus) { PlaceInfo placeInfo = getCurrentPlaceInfo(); if (placeInfo != null && !myChangedFilesInCurrentCommand.contains(placeInfo.getFile())) { placeInfo = null; } if (placeInfo == null && acceptPlaceFromFocus) { placeInfo = getPlaceInfoFromFocus(myProject); } if (placeInfo != null && !myChangedFilesInCurrentCommand.contains(placeInfo.getFile())) { placeInfo = null; } if (placeInfo == null) { return; } int limit = UISettings.getInstance().getRecentFilesLimit() + 1; synchronized (state) { String path = placeInfo.getFile().getPath(); List<String> changedPaths = state.changedPaths; changedPaths.remove(path); changedPaths.add(path); while (changedPaths.size() > limit) { changedPaths.remove(0); } } putLastOrMerge(placeInfo, CHANGE_QUEUE_LIMIT, true); myCurrentIndex = myChangePlaces.size(); }