boolean (final FileGroup group, final List<? extends IncomingChangeListData> incomingData, final ReceivedChangeListTracker tracker) { boolean haveUnaccountedUpdatedFiles = false; final List<Pair<String,VcsRevisionNumber>> list = group.getFilesAndRevisions(myVcsManager); for(Pair<String, VcsRevisionNumber> pair: list) { final String file = pair.first; FilePath path = VcsUtil.getFilePath(file, false); if (!path.isUnder(myRootPath, false) || pair.second == null) { continue; } if (group.getId().equals(FileGroup.REMOVED_FROM_REPOSITORY_ID)) { haveUnaccountedUpdatedFiles |= processDeletedFile(path, incomingData, tracker); } else { haveUnaccountedUpdatedFiles |= processFile(path, pair.second, incomingData, tracker); } } for(FileGroup childGroup: group.getChildren()) { haveUnaccountedUpdatedFiles |= processGroup(childGroup, incomingData, tracker); } return haveUnaccountedUpdatedFiles; }