Bug 58542 Dangerous change to setSystem in MarkersViews
In MarkerView.refresh() there is the line uiJob.setSystem(true); Which may happen after the uiJob has run. As a result it is possible that it is not being used to decrement the count of jobs and the progress monitor can run forever.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableContentProvider.java
*/
	private boolean controlExists() {
		Control control = getViewer().getControl();
		
		if (control == null || control.isDisposed()) {
			return false;
		}
		
		return true;
	}
	
	/**
	 * Returns true iff this content provider contains changes that are not yet
	 * reflected in the viewer.
	 * 
	 * @return true iff the reciever has unprocessed changes
	 */
	public boolean hasPendingChanges() {
		return queues.hasPendingChanges() || sortOrder != queues.getSorter();
	}
	
	/**
	 * Returns an estimate of the total work remaining (used for progress monitors)
	 * 
	 * @return
	 */
	private int totalWork() {
		return queues.workRemaining() + 1;
	}