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 addChildren(Object object, IElementCollector collector,
			IProgressMonitor monitor) {
		MarkerCategory category = (MarkerCategory) object;
		collector.add(category.getChildren(), monitor);
	}
	/**
	 * Break the marker up into categories
	 * 
	 * @param markers
	 * @param start
	 *            the start index in the markers
	 * @param end
	 *            the last index to check
	 * @param sortIndex -
	 *            the parent of the field
	 * @param parent
	 * @return MarkerCategory[] or <code>null</code> if we are at the bottom
	 *         of the tree
	 */
	MarkerCategory[] buildHierarchy(MarkerList markers, int start, int end,
			int sortIndex, MarkerCategory parent) {
		TableSorter sorter = view.getTableSorter();
		if (sortIndex >= sorter.getFields().length)
			return null;
		
		
		if(isNotCategoryField(sorter,sortIndex))
			return buildHierarchy(markers, start, end, sortIndex + 1, parent);