if (toUpdate != null) toUpdate.add(element);
if (refreshViewer) viewer.refresh(element);
	protected void remove(Set toRemove, Set toUpdate, Object element) {		// precondition here:  fResult.getMatchCount(child) <= 0			if (hasChildren(element)) {			if (toUpdate != null)				toUpdate.add(element);		} else {			if (getPage().getDisplayedMatchCount(element) == 0) {				fChildrenMap.remove(element);				Object parent= getParent(element);				if (parent != null) {					removeFromSiblings(element, parent);					remove(toRemove, toUpdate, parent);				} else {					removeFromSiblings(element, fResult);					if (toRemove != null)						toRemove.add(element);				}			} else {				if (toUpdate != null) {					toUpdate.add(element);				}			}		}	}