private synchronized Object[] createChildren(GroupType desiredType, Set<IResource> parents, BugGroup parent) {
        Set<IMarker> markerSet = new HashSet<>();
        boolean filterActive = isBugFilterActive();
        Set<String> patternFilter = getPatternFilter();
        for (IResource resource : parents) {
            IMarker[] markers = getMarkers(resource);
            for (IMarker marker : markers) {
                boolean added = markerSet.add(marker);
                if (filterActive && added && MarkerUtil.isFiltered(marker, patternFilter)) {
                    filteredMarkers.add(marker);
                }
            }
        }
        parent.setMarkers(markerSet);
        return createGroups(parent, desiredType.getMapper());
    }
private synchronized Object [ ] createChildren ( GroupType desiredType , Set < IResource > parents , BugGroup parent ) { Set < IMarker > markerSet = new HashSet < > ( ) ; boolean filterActive = isBugFilterActive ( ) ; Set < String > patternFilter = getPatternFilter ( ) ; for ( IResource resource : parents ) { IMarker [ ] markers = getMarkers ( resource ) ; for ( IMarker marker : markers ) { boolean added = markerSet . add ( marker ) ; if ( filterActive && added && MarkerUtil . isFiltered ( marker , patternFilter ) ) { filteredMarkers . add ( marker ) ; } } } parent . setMarkers ( markerSet ) ; return createGroups ( parent , desiredType . getMapper ( ) ) ; }
@param desiredType
type of the child groups
@param parents
all the common parents
@param parent
"empty" root node, which must be filled in with markers from
set of given parents
@return