Bug 88577 [Viewers] Deferred viewers in JFace have a dependency on Job
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/deferred/BackgroundContentProvider.java
* sortMutex when accessing. 
     */
    private ConcurrentTableUpdator updator;
    
    private Job sortJob = new Job(SORTING) {
        protected IStatus run(IProgressMonitor monitor) {
            doSort(monitor);
            return Status.OK_STATUS;
        }
    };
	private volatile FastProgressReporter sortMon = new FastProgressReporter();
	private volatile Range range = new Range(0,0);
    
    /**
     * Creates a new background content provider
     *  
     * @param table table that will receive updates
     * @param model data source
     * @param sortOrder initial sort order
     */
    public BackgroundContentProvider(AbstractVirtualTable table, 
            IConcurrentModel model, Comparator sortOrder) {
        
        updator = new ConcurrentTableUpdator(table);
        this.model = model;
        this.sortOrder = sortOrder;
        sortJob.setSystem(true);
        sortJob.setPriority(Job.SHORT);
        model.addListener(listener);
    }