Bug 17396 Organize import on multiple CUs flickers
20020521 Should use a WorkspaceModifyOperation
org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/OrganizeImportsAction.java
String[] prefOrder= ImportOrganizePreferencePage.getImportOrderPreference();
			int threshold= ImportOrganizePreferencePage.getImportNumberThreshold();
			boolean ignoreLowerCaseNames= ImportOrganizePreferencePage.doIgnoreLowerCaseNames();
	
			IChooseImportQuery query= new IChooseImportQuery() {
				public TypeInfo[] chooseImports(TypeInfo[][] openChoices, ISourceRange[] ranges) {
					throw new OrganizeImportError();
				}
			};
	
			for (int i= 0; i < cus.length; i++) {
				ICompilationUnit cu= cus[i];
				try {
					if (!cu.isWorkingCopy()) {
						ICompilationUnit workingCopy= EditorUtility.getWorkingCopy(cu);
						if (workingCopy != null) {
							cu= workingCopy;
						}
					}
					OrganizeImportsOperation op= new OrganizeImportsOperation(cu, prefOrder, threshold, ignoreLowerCaseNames, !cu.isWorkingCopy(), doResolve, query);
					op.run(new SubProgressMonitor(monitor, 1));
					ISourceRange errorRange= op.getErrorSourceRange();
					if (errorRange != null) {
						String message= ActionMessages.getFormattedString("OrganizeImportsAction.multi.error.parse", cu.getElementName()); 
						status.add(new Status(Status.INFO, JavaUI.ID_PLUGIN, Status.ERROR, message, null));
					} 
				} catch (OrganizeImportError e) {
					String message= ActionMessages.getFormattedString("OrganizeImportsAction.multi.error.unresolvable", cu.getElementName()); 
					status.add(new Status(Status.INFO, JavaUI.ID_PLUGIN, Status.ERROR, message, null));					
				} catch (CoreException e) {