Source:
<code>private void createProjectSelectionTable(Composite radioGroup) { projectNames = CheckboxTableViewer.newCheckList(radioGroup, SWT.BORDER); projectNames.setContentProvider(new WorkbenchContentProvider()); projectNames.setLabelProvider(new WorkbenchLabelProvider()); projectNames.setComparator(new ResourceComparator(ResourceComparator.NAME)); projectNames.addFilter(new ViewerFilter() { private final IProject[] projectHolder = new IProject[1]; public boolean select(Viewer viewer, Object parentElement, Object element) { if (!(element instanceof IProject)) { return false; } IProject project = (IProject) element; if (!project.isAccessible()) { return false; } projectHolder[0] = project; return BuildUtilities.isEnabled(projectHolder, IncrementalProjectBuilder.CLEAN_BUILD); } }); projectNames.setInput(ResourcesPlugin.getWorkspace().getRoot()); GridData data = new GridData(GridData.FILL_BOTH); data.horizontalSpan = 2; data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH; data.heightHint = IDialogConstants.ENTRY_FIELD_WIDTH; projectNames.getTable().setLayoutData(data); projectNames.setCheckedElements(selection); final Object[] checked = projectNames.getCheckedElements(); if (checked.length > 0 && !allButton.getSelection()) { <START> Display.getCurrent().asyncExec(new Runnable() { <END> public void run() { if (!projectNames.getTable().isDisposed()) { projectNames.reveal(checked[0]); } } }); } projectNames.getTable().setEnabled(selectedButton.getSelection()); projectNames.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { selection = projectNames.getCheckedElements(); updateEnablement(); } }); }</code><technical_language>please window.getShell().getDisplay() instead of Display.getCurrent()</technical_language>

Target:
private void createProjectSelectionTable(Composite radioGroup) { projectNames = CheckboxTableViewer.newCheckList(radioGroup, SWT.BORDER); projectNames.setContentProvider(new WorkbenchContentProvider()); projectNames.setLabelProvider(new WorkbenchLabelProvider()); projectNames.setComparator(new ResourceComparator(ResourceComparator.NAME)); projectNames.addFilter(new ViewerFilter() { private final IProject[] projectHolder = new IProject[1]; public boolean select(Viewer viewer, Object parentElement, Object element) { if (!(element instanceof IProject)) { return false; } IProject project = (IProject) element; if (!project.isAccessible()) { return false; } projectHolder[0] = project; return BuildUtilities.isEnabled(projectHolder, IncrementalProjectBuilder.CLEAN_BUILD); } }); projectNames.setInput(ResourcesPlugin.getWorkspace().getRoot()); GridData data = new GridData(GridData.FILL_BOTH); data.horizontalSpan = 2; data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH; data.heightHint = IDialogConstants.ENTRY_FIELD_WIDTH; projectNames.getTable().setLayoutData(data); projectNames.setCheckedElements(selection); final Object[] checked = projectNames.getCheckedElements(); if (checked.length > 0 && !allButton.getSelection()) { projectNames.getTable().getDisplay().asyncExec(new Runnable() { public void run() { if (!projectNames.getTable().isDisposed()) { projectNames.reveal(checked[0]); } } }); } projectNames.getTable().setEnabled(selectedButton.getSelection()); projectNames.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { selection = projectNames.getCheckedElements(); updateEnablement(); } }); }