Bug 294303 [Markers] 'Queuing Viewer Updates' in Problems view
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkersChangeListener.java
HashSet set = new HashSet();
		MarkerTypesModel typesModel = MarkerTypesModel.getInstance();
		for (int i = 0; i < typeIds.length; i++) {
			MarkerType type = typesModel.getType(typeIds[i]);
			set.add(type);
		}
		for (int i = 0; i < typeIds.length; i++) {
			MarkerType type = typesModel.getType(typeIds[i]);
			MarkerType[] subs = type.getAllSubTypes();
			HashSet subsOnly = new HashSet(Arrays.asList(subs));
			subsOnly.remove(type);
			set.removeAll(subsOnly);
		}
		return set;
	}
	/**
	 * @param collection
	 */
	private static String[] toTypeStrings(Collection collection) {
		HashSet ids = new HashSet();
		Iterator iterator = collection.iterator();
		while (iterator.hasNext()) {
			MarkerType type = (MarkerType) iterator.next();
			ids.add(type.getId());
		}
		return (String[]) ids.toArray(new String[ids.size()]);
	}
	/**
	 * @return Returns true if incremental.
	 */