private void processNonBBProjects( final List<IJavaProject> nonBBProjects, final List<IJavaProject> projectsWithProblem, final boolean fix) { for (IJavaProject javaProject : nonBBProjects) { if (fix && projectsWithProblem.contains(javaProject)) { ImportUtils.initializeProjectOptions(javaProject); } } if (fix) { Shell shell = ContextManager.getActiveWorkbenchWindow().getShell(); String message = Messages.ClasspathChangeManager_rebuildProjectMsg1; StringBuffer projectList = new StringBuffer(); for (IJavaProject javaProject : projectsWithProblem) { projectList.append(javaProject.getProject().getName() + "\n"); } message += projectList.toString(); message += Messages.ClasspathChangeManager_rebuildProjectMsg2; MessageDialog dialog = new MessageDialog( shell, Messages.ClasspathChangeManager_RebuildProjectDialogTitle, null, message, MessageDialog.INFORMATION, new String[] { Messages.IConstants_OK_BUTTON_TITLE, Messages.IConstants_CANCEL_BUTTON_TITLE }, 0); int buttonEventCode = dialog.open(); switch (buttonEventCode) { case Window.OK: { buildProjects(projectsWithProblem); break; } case Window.CANCEL: { break; } default: throw new IllegalArgumentException("Unsupported dialog button event!"); } dialog.close(); } }