Bug 114550 IndexOutOfBoundsException in Problems Hierarchal Mode
20051101 I am not sure how I got this but I was switching to the ColorSelector.java in hierarchal mode (which has no hierarchy) Caused by: java.lang.ArrayIndexOutOfBoundsException: 0 at org.eclipse.ui.views.markers.internal.MarkerAdapter.buildHierarchy(MarkerAdapter.java:308) at org.eclipse.ui.views.markers.internal.MarkerAdapter$MarkerCategory.getChildren(MarkerAdapter.java:89) at org.eclipse.ui.views.markers.internal.MarkerTreeContentProvider.getChildren(MarkerTreeContentProvider.java:71) at org.eclipse.jface.viewers.AbstractTreeViewer.getRawChildren(AbstractTreeViewer.java:899) at org.eclipse.jface.viewers.StructuredViewer.getFilteredChildren(StructuredViewer.java:790) at org.eclipse.jface.viewers.StructuredViewer.getSortedChildren(StructuredViewer.java:905) at org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:512) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69) at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:494) at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel(AbstractTreeViewer.java:1122) at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel(AbstractTreeViewer.java:1131) at org.eclipse.jface.viewers.AbstractTreeViewer.expandToLevel(AbstractTreeViewer.java:658) at org.eclipse.jface.viewers.AbstractTreeViewer.expandToLevel(AbstractTreeViewer.java:641) at org.eclipse.jface.viewers.AbstractTreeViewer.expandAll(AbstractTreeViewer.java:630) at org.eclipse.ui.views.markers.internal.MarkerView$7.runInUIThread(MarkerView.java:1280) at org.eclipse.ui.progress.UIJob$1.run(UIJob.java:93) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123) ... 18 more
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerAdapter.java
* @param monitor
	 */
	private void buildAllMarkers(
			IElementCollector collector, IProgressMonitor monitor) {
		int markerLimit = view.getMarkerLimit();
		monitor.beginTask(MarkerMessages.MarkerView_19,
				markerLimit == -1 ? 60 : 100);
		try {
			monitor.subTask(MarkerMessages.MarkerView_waiting_on_changes);
			if (monitor.isCanceled()) {
				return;
			}
			monitor
					.subTask(MarkerMessages.MarkerView_searching_for_markers);
			SubProgressMonitor subMonitor = new SubProgressMonitor(monitor,
					10);
			lastMarkers = MarkerList.compute(view.getEnabledFilters(),
					subMonitor, true);
			if (monitor.isCanceled())
				return;
			view.refreshMarkerCounts(monitor);
		} catch (CoreException e) {
			IDEWorkbenchPlugin.getDefault().getLog().log(e.getStatus());
			lastMarkers = new MarkerList();
			return;
		}
		if (monitor.isCanceled()) {
			return;
		}