*/
public void run() {
List<IJavaProject> projects = getPossibleAdditions();
ProjectSelectionDialog dialog= new ProjectSelectionDialog(getShell(),projects);
dialog.setTitle("Project Selection");
MultiStatus status = new MultiStatus(Plugin.PLUGIN_ID, IJavaDebugUIConstants.INTERNAL_ERROR,
"One or more exceptions occurred while adding projects.", null); //$NON-NLS-1$
if (dialog.open() == Window.OK) {
Object[] selections = dialog.getResult();
List<IJavaProject> additions = new ArrayList<IJavaProject>(selections.length);
for (int i = 0; i < selections.length; i++) {
IJavaProject jp = (IJavaProject)selections[i];
additions.add(jp);
}
List<IRuntimeClasspathEntry> runtimeEntries = new ArrayList<IRuntimeClasspathEntry>(additions.size());
Iterator<IJavaProject> iter = additions.iterator();
while (iter.hasNext()) {
IJavaProject jp = (IJavaProject)iter.next();
runtimeEntries.add(JavaRuntime.newProjectRuntimeClasspathEntry(jp));
}
IRuntimeClasspathEntry[] entries = (IRuntimeClasspathEntry[])runtimeEntries.toArray(new IRuntimeClasspathEntry[runtimeEntries.size()]);
getViewer().addEntries(entries);
}
if (!status.isOK()) {
Plugin.statusDialog(status);
}
}