boolean (@NotNull HgRepository repository) { final Map<String, LinkedHashSet<Hash>> branches = repository.getBranches(); if (branches.size() > 1) return false; final Hash currentRevisionHash = getCurrentHash(repository); final Collection<HgNameWithHashInfo> other_bookmarks = getOtherBookmarks(repository, currentRevisionHash); if (!other_bookmarks.isEmpty()) return false; // if only one heavy branch and no other bookmarks -> check that current revision is not "main" branch head return currentRevisionHash.equals(getHeavyBranchMainHash(repository, repository.getCurrentBranch())); }