boolean (GroupingElement groupingElement) { if (!isFilteringNeeded()) { return getChildCount(groupingElement) > 0; } synchronized (myLock) { final List<NavigatableMessageElement> children = myGroupNameToMessagesMap.get(groupingElement.getName()); if (children != null) { for (final NavigatableMessageElement child : children) { if (!shouldHide(child.getKind())) { return true; } } } } return false; }