Bug 565372 - use Multicatch

Change-Id: I410a6cd02d673516bee843632ce0f8fe277655d2
Signed-off-by: Carsten Hammer <carsten.hammer@t-online.de>
diff --git a/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/core/manipulation/StubUtility.java b/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/core/manipulation/StubUtility.java
index 3506808..9e37ffc 100644
--- a/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/core/manipulation/StubUtility.java
+++ b/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/core/manipulation/StubUtility.java
@@ -288,9 +288,7 @@
 		TemplateBuffer buffer;
 		try {
 			buffer= context.evaluate(template);
-		} catch (BadLocationException e) {
-			throw new CoreException(Status.CANCEL_STATUS);
-		} catch (TemplateException e) {
+		} catch (BadLocationException | TemplateException e) {
 			throw new CoreException(Status.CANCEL_STATUS);
 		}
 		String str= buffer.getString();
@@ -446,9 +444,7 @@
 		TemplateBuffer buffer;
 		try {
 			buffer= context.evaluate(template);
-		} catch (BadLocationException e) {
-			throw new CoreException(Status.CANCEL_STATUS);
-		} catch (TemplateException e) {
+		} catch (BadLocationException | TemplateException e) {
 			throw new CoreException(Status.CANCEL_STATUS);
 		}
 		if (buffer == null) {
@@ -524,9 +520,7 @@
 		TemplateBuffer buffer;
 		try {
 			buffer= context.evaluate(template);
-		} catch (BadLocationException e) {
-			throw new CoreException(Status.CANCEL_STATUS);
-		} catch (TemplateException e) {
+		} catch (BadLocationException | TemplateException e) {
 			throw new CoreException(Status.CANCEL_STATUS);
 		}
 		String str= buffer.getString();
@@ -652,9 +646,7 @@
 		TemplateBuffer buffer;
 		try {
 			buffer= context.evaluate(template);
-		} catch (BadLocationException e) {
-			throw new CoreException(Status.CANCEL_STATUS);
-		} catch (TemplateException e) {
+		} catch (BadLocationException | TemplateException e) {
 			throw new CoreException(Status.CANCEL_STATUS);
 		}
 		if (buffer == null)
@@ -677,9 +669,7 @@
 				return null;
 			}
 			return str;
-		} catch (BadLocationException e) {
-			throw new CoreException(Status.CANCEL_STATUS);
-		} catch (TemplateException e) {
+		} catch (BadLocationException | TemplateException e) {
 			throw new CoreException(Status.CANCEL_STATUS);
 		}
 	}
@@ -723,9 +713,7 @@
 		TemplateBuffer buffer;
 		try {
 			buffer= context.evaluate(template);
-		} catch (BadLocationException e) {
-			throw new CoreException(Status.CANCEL_STATUS);
-		} catch (TemplateException e) {
+		} catch (BadLocationException | TemplateException e) {
 			throw new CoreException(Status.CANCEL_STATUS);
 		}
 		if (buffer == null)
diff --git a/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/ui/javaeditor/SemanticHighlightingPresenterCore.java b/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/ui/javaeditor/SemanticHighlightingPresenterCore.java
index f9f138d..c642712 100644
--- a/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/ui/javaeditor/SemanticHighlightingPresenterCore.java
+++ b/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/ui/javaeditor/SemanticHighlightingPresenterCore.java
@@ -383,10 +383,7 @@
 				}
 				fPositions= newPositions;
 			}
-		} catch (BadPositionCategoryException e) {
-			// Should not happen
-			JavaManipulationPlugin.log(e);
-		} catch (BadLocationException e) {
+		} catch (BadPositionCategoryException | BadLocationException e) {
 			// Should not happen
 			JavaManipulationPlugin.log(e);
 		}
diff --git a/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/ui/text/correction/SerialVersionHashOperationCore.java b/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/ui/text/correction/SerialVersionHashOperationCore.java
index 6a51af6..284d4a2 100644
--- a/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/ui/text/correction/SerialVersionHashOperationCore.java
+++ b/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/ui/text/correction/SerialVersionHashOperationCore.java
@@ -349,9 +349,7 @@
 				if (id != null)
 					serialVersionID= id.longValue();
 			}
-		} catch (CoreException exception) {
-			displayErrorMessage(exception);
-		} catch (IOException exception) {
+		} catch (CoreException | IOException exception) {
 			displayErrorMessage(exception);
 		} finally {
 			monitor.done();
diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/fix/PotentialProgrammingProblemsFixCore.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/fix/PotentialProgrammingProblemsFixCore.java
index 1c78620..304d674 100644
--- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/fix/PotentialProgrammingProblemsFixCore.java
+++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/fix/PotentialProgrammingProblemsFixCore.java
@@ -129,9 +129,7 @@
 							} else {
 							   	result.addWarning(Messages.format(FixMessages.PotentialProgrammingProblemsFix_calculatingUIDFailed_unknown, BasicElementLabels.getJavaElementName(typeBinding.getName())));
 							}
-						} catch (IOException e) {
-						   	result.addWarning(Messages.format(FixMessages.PotentialProgrammingProblemsFix_calculatingUIDFailed_exception, new String[] { BasicElementLabels.getJavaElementName(typeBinding.getName()), e.getLocalizedMessage()}), JavaStatusContext.create(types[i]));
-				        } catch (CoreException e) {
+						} catch (IOException | CoreException e) {
 						   	result.addWarning(Messages.format(FixMessages.PotentialProgrammingProblemsFix_calculatingUIDFailed_exception, new String[] { BasicElementLabels.getJavaElementName(typeBinding.getName()), e.getLocalizedMessage()}), JavaStatusContext.create(types[i]));
 				        }
 					}
diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/code/InlineConstantRefactoring.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/code/InlineConstantRefactoring.java
index 2ca2ee2..c01e449 100644
--- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/code/InlineConstantRefactoring.java
+++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/code/InlineConstantRefactoring.java
@@ -580,9 +580,7 @@
 				IRegion region= document.getLineInformation(document.getLineOfOffset(marker.getOffset()));
 				int oldIndent= Strings.computeIndentUnits(document.get(region.getOffset(), region.getLength()), project);
 				return Strings.changeIndent(rewrittenInitializer, oldIndent, project, "", TextUtilities.getDefaultLineDelimiter(document)); //$NON-NLS-1$
-			} catch (MalformedTreeException e) {
-				JavaManipulationPlugin.log(e);
-			} catch (BadLocationException e) {
+			} catch (MalformedTreeException | BadLocationException e) {
 				JavaManipulationPlugin.log(e);
 			}
 			return fInitializerUnit.getBuffer().getText(fInitializer.getStartPosition(), fInitializer.getLength());
diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/code/InlineTempRefactoring.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/code/InlineTempRefactoring.java
index be928cf..26730c5 100644
--- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/code/InlineTempRefactoring.java
+++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/code/InlineTempRefactoring.java
@@ -457,9 +457,7 @@
 			IRegion region= document.getLineInformation(document.getLineOfOffset(marker.getOffset()));
 			int oldIndent= Strings.computeIndentUnits(document.get(region.getOffset(), region.getLength()), project);
 			return Strings.changeIndent(rewrittenInitializer, oldIndent, project, "", TextUtilities.getDefaultLineDelimiter(document)); //$NON-NLS-1$
-		} catch (MalformedTreeException e) {
-			JavaManipulationPlugin.log(e);
-		} catch (BadLocationException e) {
+		} catch (MalformedTreeException | BadLocationException e) {
 			JavaManipulationPlugin.log(e);
 		}
 		//fallback:
diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/code/SourceProvider.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/code/SourceProvider.java
index 27c2e5f..8d5e237 100644
--- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/code/SourceProvider.java
+++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/code/SourceProvider.java
@@ -407,9 +407,7 @@
 			processor= new TextEditProcessor(fDocument, undo, TextEdit.UPDATE_REGIONS);
 			processor.performEdits();
 			return result;
-		} catch (MalformedTreeException exception) {
-			JavaManipulationPlugin.log(exception);
-		} catch (BadLocationException exception) {
+		} catch (MalformedTreeException | BadLocationException exception) {
 			JavaManipulationPlugin.log(exception);
 		}
 		return new String[] {};
diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/nls/NLSUtil.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/nls/NLSUtil.java
index be8b942..7312c3d 100644
--- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/nls/NLSUtil.java
+++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/nls/NLSUtil.java
@@ -141,9 +141,7 @@
 					}
 				}
 			}
-		} catch (InvalidInputException e) {
-			return null;
-		} catch (BadLocationException e) {
+		} catch (InvalidInputException | BadLocationException e) {
 			return null;
 		}
 		if (result.isEmpty())
@@ -160,9 +158,7 @@
 					return line;
 			}
 			return null;
-		} catch (InvalidInputException e) {
-			return null;
-		} catch (BadLocationException e) {
+		} catch (InvalidInputException | BadLocationException e) {
 			return null;
 		}
 	}
diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/structure/MoveInstanceMethodProcessor.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/structure/MoveInstanceMethodProcessor.java
index 1e3b0a1..7ea48a4 100644
--- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/structure/MoveInstanceMethodProcessor.java
+++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/structure/MoveInstanceMethodProcessor.java
@@ -2928,9 +2928,7 @@
 							setTarget(bindings[index]);
 					}
 				}
-			} catch (NumberFormatException exception) {
-				return RefactoringStatus.createFatalErrorStatus(Messages.format(RefactoringCoreMessages.InitializableRefactoring_illegal_argument, new String[] { value, ATTRIBUTE_TARGET_INDEX }));
-			} catch (JavaModelException exception) {
+			} catch (NumberFormatException | JavaModelException exception) {
 				return RefactoringStatus.createFatalErrorStatus(Messages.format(RefactoringCoreMessages.InitializableRefactoring_illegal_argument, new String[] { value, ATTRIBUTE_TARGET_INDEX }));
 			}
 		} else
diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/template/java/CompilationUnitCompletion.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/template/java/CompilationUnitCompletion.java
index 1c4ade7..bba4e7f 100644
--- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/template/java/CompilationUnitCompletion.java
+++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/template/java/CompilationUnitCompletion.java
@@ -325,8 +325,7 @@
 						TypeParameterResolver util= new TypeParameterResolver(this);
 						String[] result= util.computeBinding(supertype.getFullyQualifiedName(), index);
 						all.addAll(Arrays.asList(result));
-					} catch (JavaModelException e) {
-					} catch (IndexOutOfBoundsException e) {
+					} catch (JavaModelException | IndexOutOfBoundsException e) {
 					}
 				}
 			}
diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/template/java/JavaContextCore.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/template/java/JavaContextCore.java
index 01a85b8..31a4e75 100644
--- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/template/java/JavaContextCore.java
+++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/template/java/JavaContextCore.java
@@ -613,9 +613,7 @@
 				document.removePositionUpdater(updater);
 				document.removePositionCategory(category);
 			}
-		} catch (BadLocationException e) {
-			handleException(e);
-		} catch (BadPositionCategoryException e) {
+		} catch (BadLocationException | BadPositionCategoryException e) {
 			handleException(e);
 		}
 	}
diff --git a/org.eclipse.jdt.jeview/src/org/eclipse/jdt/jeview/views/JavaElementView.java b/org.eclipse.jdt.jeview/src/org/eclipse/jdt/jeview/views/JavaElementView.java
index 46e71fe..4b7aa8d 100644
--- a/org.eclipse.jdt.jeview/src/org/eclipse/jdt/jeview/views/JavaElementView.java
+++ b/org.eclipse.jdt.jeview/src/org/eclipse/jdt/jeview/views/JavaElementView.java
@@ -756,13 +756,7 @@
 								try {
 									Object context= getSite().getService(IHandlerService.class).getCurrentState();
 									showInCommand.executeWithChecks(new ExecutionEvent(null, params, null, context));
-								} catch (ExecutionException e1) {
-									showAndLogError("Could not show element", e1);
-								} catch (NotDefinedException e1) {
-									showAndLogError("Could not show element", e1);
-								} catch (NotEnabledException e1) {
-									showAndLogError("Could not show element", e1);
-								} catch (NotHandledException e1) {
+								} catch (ExecutionException | NotDefinedException | NotEnabledException | NotHandledException e1) {
 									showAndLogError("Could not show element", e1);
 								}
 								break;
@@ -778,9 +772,7 @@
 											JavaUI.revealInEditor(editorPart, javaElement);
 										}
 									}
-								} catch (PartInitException e) {
-									showAndLogError("Could not open editor.", e); //$NON-NLS-1$
-								} catch (JavaModelException e) {
+								} catch (PartInitException | JavaModelException e) {
 									showAndLogError("Could not open editor.", e); //$NON-NLS-1$
 								}
 						}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/FailureTrace.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/FailureTrace.java
index 62fb7af..b648c7c 100644
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/FailureTrace.java
+++ b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/FailureTrace.java
@@ -168,9 +168,7 @@
 			lineNumber= lineNumber.substring(lineNumber.indexOf(':') + 1, lineNumber.lastIndexOf(')'));
 			int line= Integer.valueOf(lineNumber).intValue();
 			return new OpenEditorAtLineAction(fTestRunner, testName, line);
-		} catch(NumberFormatException e) {
-		}
-		catch(IndexOutOfBoundsException e) {
+		} catch(NumberFormatException | IndexOutOfBoundsException e) {
 		}
 		return null;
 	}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/junit/launcher/JUnitLaunchConfigurationTab.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/junit/launcher/JUnitLaunchConfigurationTab.java
index d6151bd..4227341 100644
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/junit/launcher/JUnitLaunchConfigurationTab.java
+++ b/org.eclipse.jdt.junit/src/org/eclipse/jdt/junit/launcher/JUnitLaunchConfigurationTab.java
@@ -1123,9 +1123,7 @@
 				name= types[0].getFullyQualifiedName('.');
 
 			}
-		} catch (InterruptedException ie) {
-
-		} catch (InvocationTargetException ite) {
+		} catch (InterruptedException | InvocationTargetException ite) {
 		}
 		config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, name);
 		if (testKindId != null)
diff --git a/org.eclipse.jdt.ui/core extension/org/eclipse/jdt/internal/corext/fix/CleanUpPostSaveListener.java b/org.eclipse.jdt.ui/core extension/org/eclipse/jdt/internal/corext/fix/CleanUpPostSaveListener.java
index 615cefb..a4df20a 100644
--- a/org.eclipse.jdt.ui/core extension/org/eclipse/jdt/internal/corext/fix/CleanUpPostSaveListener.java
+++ b/org.eclipse.jdt.ui/core extension/org/eclipse/jdt/internal/corext/fix/CleanUpPostSaveListener.java
@@ -171,11 +171,7 @@
 							synchronized (this) {
 								try {
 									performEdit(document, oldFileValue, undoEditCollector, oldDocValue, setContentStampSuccess);
-								} catch (BadLocationException e) {
-									fException= e;
-								} catch (MalformedTreeException e) {
-									fException= e;
-								} catch (CoreException e) {
+								} catch (BadLocationException | MalformedTreeException | CoreException e) {
 									fException= e;
 								} finally {
 									fDone= true;
diff --git a/org.eclipse.jdt.ui/core extension/org/eclipse/jdt/internal/corext/fix/CleanUpRefactoring.java b/org.eclipse.jdt.ui/core extension/org/eclipse/jdt/internal/corext/fix/CleanUpRefactoring.java
index 01f0503..523c488 100644
--- a/org.eclipse.jdt.ui/core extension/org/eclipse/jdt/internal/corext/fix/CleanUpRefactoring.java
+++ b/org.eclipse.jdt.ui/core extension/org/eclipse/jdt/internal/corext/fix/CleanUpRefactoring.java
@@ -485,9 +485,7 @@
 
 				try {
 					edit.apply(document, TextEdit.UPDATE_REGIONS);
-				} catch (MalformedTreeException e) {
-					JavaPlugin.log(e);
-				} catch (BadLocationException e) {
+				} catch (MalformedTreeException | BadLocationException e) {
 					JavaPlugin.log(e);
 				}
 			}
diff --git a/org.eclipse.jdt.ui/core extension/org/eclipse/jdt/internal/corext/fix/ExternalNullAnnotationChangeProposals.java b/org.eclipse.jdt.ui/core extension/org/eclipse/jdt/internal/corext/fix/ExternalNullAnnotationChangeProposals.java
index 3a6a30b..1efdc4d 100644
--- a/org.eclipse.jdt.ui/core extension/org/eclipse/jdt/internal/corext/fix/ExternalNullAnnotationChangeProposals.java
+++ b/org.eclipse.jdt.ui/core extension/org/eclipse/jdt/internal/corext/fix/ExternalNullAnnotationChangeProposals.java
@@ -187,9 +187,7 @@
 		public void apply(IDocument document) {
 			try {
 				doAnnotateMember(new NullProgressMonitor());
-			} catch (CoreException e) {
-				JavaPlugin.log(e);
-			} catch (IOException e) {
+			} catch (CoreException | IOException e) {
 				JavaPlugin.log(e);
 			}
 		}
diff --git a/org.eclipse.jdt.ui/core extension/org/eclipse/jdt/internal/corext/template/java/JavaFormatter.java b/org.eclipse.jdt.ui/core extension/org/eclipse/jdt/internal/corext/template/java/JavaFormatter.java
index 0b8c96c..ee406ed 100644
--- a/org.eclipse.jdt.ui/core extension/org/eclipse/jdt/internal/corext/template/java/JavaFormatter.java
+++ b/org.eclipse.jdt.ui/core extension/org/eclipse/jdt/internal/corext/template/java/JavaFormatter.java
@@ -286,9 +286,7 @@
 			try {
 				format(document, (CompilationUnitContext) context);
 				return;
-			} catch (BadLocationException e) {
-				// ignore and indent
-			} catch (MalformedTreeException e) {
+			} catch (BadLocationException | MalformedTreeException e) {
 				// ignore and indent
 			}
 		}
diff --git a/org.eclipse.jdt.ui/core extension/org/eclipse/jdt/internal/corext/util/History.java b/org.eclipse.jdt.ui/core extension/org/eclipse/jdt/internal/corext/util/History.java
index 58af0bd..c7ab161 100644
--- a/org.eclipse.jdt.ui/core extension/org/eclipse/jdt/internal/corext/util/History.java
+++ b/org.eclipse.jdt.ui/core extension/org/eclipse/jdt/internal/corext/util/History.java
@@ -172,9 +172,7 @@
 	        try {
 				reader = new InputStreamReader(new FileInputStream(file), "utf-8");//$NON-NLS-1$
 				load(new InputSource(reader));
-			} catch (IOException e) {
-				JavaPlugin.log(e);
-			} catch (CoreException e) {
+			} catch (IOException | CoreException e) {
 				JavaPlugin.log(e);
 			} finally {
 				try {
@@ -194,11 +192,7 @@
 		try {
 			out= new FileOutputStream(file);
 			save(out);
-		} catch (IOException e) {
-			JavaPlugin.log(e);
-		} catch (CoreException e) {
-			JavaPlugin.log(e);
-		} catch (TransformerFactoryConfigurationError e) {
+		} catch (IOException | CoreException | TransformerFactoryConfigurationError e) {
 			// The XML library can be misconficgured (e.g. via
 			// -Djava.endorsed.dirs=C:\notExisting\xerces-2_7_1)
 			JavaPlugin.log(e);
@@ -260,11 +254,7 @@
 			DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
 			parser.setErrorHandler(new DefaultHandler());
 			root = parser.parse(inputSource).getDocumentElement();
-		} catch (SAXException e) {
-			throw createException(e, Messages.format(CorextMessages.History_error_read, BasicElementLabels.getResourceName(fFileName)));
-		} catch (ParserConfigurationException e) {
-			throw createException(e, Messages.format(CorextMessages.History_error_read, BasicElementLabels.getResourceName(fFileName)));
-		} catch (IOException e) {
+		} catch (SAXException | ParserConfigurationException | IOException e) {
 			throw createException(e, Messages.format(CorextMessages.History_error_read, BasicElementLabels.getResourceName(fFileName)));
 		}
 
@@ -314,9 +304,7 @@
 			StreamResult result = new StreamResult(stream);
 
 			transformer.transform(source, result);
-		} catch (TransformerException e) {
-			throw createException(e, Messages.format(CorextMessages.History_error_serialize, BasicElementLabels.getResourceName(fFileName)));
-		} catch (ParserConfigurationException e) {
+		} catch (TransformerException | ParserConfigurationException e) {
 			throw createException(e, Messages.format(CorextMessages.History_error_serialize, BasicElementLabels.getResourceName(fFileName)));
 		}
 	}
diff --git a/org.eclipse.jdt.ui/core extension/org/eclipse/jdt/internal/corext/util/OpenTypeHistory.java b/org.eclipse.jdt.ui/core extension/org/eclipse/jdt/internal/corext/util/OpenTypeHistory.java
index 13205ee..b94d8aa 100644
--- a/org.eclipse.jdt.ui/core extension/org/eclipse/jdt/internal/corext/util/OpenTypeHistory.java
+++ b/org.eclipse.jdt.ui/core extension/org/eclipse/jdt/internal/corext/util/OpenTypeHistory.java
@@ -227,10 +227,7 @@
 		if (fUpdateJob.getState() == Job.RUNNING) {
 			try {
 				Job.getJobManager().join(UpdateJob.FAMILY, monitor);
-			} catch (OperationCanceledException e) {
-				// Ignore and do the consistency check without
-				// waiting for the update job.
-			} catch (InterruptedException e) {
+			} catch (OperationCanceledException | InterruptedException e) {
 				// Ignore and do the consistency check without
 				// waiting for the update job.
 			}
diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/code/ReplaceInvocationsRefactoring.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/code/ReplaceInvocationsRefactoring.java
index 480ede4..a431e5b 100644
--- a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/code/ReplaceInvocationsRefactoring.java
+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/code/ReplaceInvocationsRefactoring.java
@@ -255,9 +255,7 @@
 			Document document= new Document(methodCu.getBuffer().getContents());
 			try {
 				textEdit.apply(document);
-			} catch (MalformedTreeException e) {
-				JavaPlugin.log(e);
-			} catch (BadLocationException e) {
+			} catch (MalformedTreeException | BadLocationException e) {
 				JavaPlugin.log(e);
 			}
 			source= document;
diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/nls/NLSHint.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/nls/NLSHint.java
index 352cc0a..0655d07 100644
--- a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/nls/NLSHint.java
+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/nls/NLSHint.java
@@ -264,11 +264,7 @@
 	private static NLSLine[] createRawLines(ICompilationUnit cu) {
 		try {
 			return NLSScanner.scan(cu);
-		} catch (JavaModelException x) {
-			return new NLSLine[0];
-		} catch (InvalidInputException x) {
-			return new NLSLine[0];
-		} catch (BadLocationException x) {
+		} catch (JavaModelException | InvalidInputException | BadLocationException x) {
 			return new NLSLine[0];
 		}
 	}
diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/nls/NLSHintHelper.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/nls/NLSHintHelper.java
index 1db6396..1b08c5c 100644
--- a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/nls/NLSHintHelper.java
+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/nls/NLSHintHelper.java
@@ -457,10 +457,7 @@
 
 			props.load(is);
 
-		} catch (IOException e) {
-			// sorry no properties
-			return null;
-		} catch (CoreException e) {
+		} catch (IOException | CoreException e) {
 			// sorry no properties
 			return null;
 		} finally {
diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/nls/NLSSourceModifier.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/nls/NLSSourceModifier.java
index ede01c2..8cdabaa 100644
--- a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/nls/NLSSourceModifier.java
+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/nls/NLSSourceModifier.java
@@ -187,8 +187,7 @@
 					String editText= ' ' + NLSElement.createTagText(indexInElementList + 1); //tags are 1-based
 					TextChangeCompatibility.addTextEdit(change, label, new InsertEdit(lineEnd, editText));
 
-				} catch (InvalidInputException e) {
-				} catch (BadLocationException e) {
+				} catch (InvalidInputException | BadLocationException e) {
 				}
 			}
 		}
diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/ExtractInterfaceProcessor.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/ExtractInterfaceProcessor.java
index ea7d89c..dfa5fc4 100644
--- a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/ExtractInterfaceProcessor.java
+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/ExtractInterfaceProcessor.java
@@ -479,9 +479,7 @@
 			try {
 				rewrite.rewriteAST(document, unit.getJavaProject().getOptions(true)).apply(document, TextEdit.UPDATE_REGIONS);
 				targetRewrite.getListRewrite(targetDeclaration, targetDeclaration.getBodyDeclarationsProperty()).insertFirst(targetRewrite.createStringPlaceholder(normalizeText(document.get(position.getStartPosition(), position.getLength())), ASTNode.FIELD_DECLARATION), null);
-			} catch (MalformedTreeException exception) {
-				JavaPlugin.log(exception);
-			} catch (BadLocationException exception) {
+			} catch (MalformedTreeException | BadLocationException exception) {
 				JavaPlugin.log(exception);
 			}
 		} finally {
@@ -688,9 +686,7 @@
 			try {
 				rewrite.rewriteAST(document, unit.getJavaProject().getOptions(true)).apply(document, TextEdit.UPDATE_REGIONS);
 				targetRewrite.getListRewrite(targetDeclaration, targetDeclaration.getBodyDeclarationsProperty()).insertFirst(targetRewrite.createStringPlaceholder(normalizeText(document.get(position.getStartPosition(), position.getLength())), ASTNode.METHOD_DECLARATION), null);
-			} catch (MalformedTreeException exception) {
-				JavaPlugin.log(exception);
-			} catch (BadLocationException exception) {
+			} catch (MalformedTreeException | BadLocationException exception) {
 				JavaPlugin.log(exception);
 			}
 		} finally {
@@ -1042,9 +1038,7 @@
 				final IDocument document= new Document(buffer.getDocument().get());
 				try {
 					rewrite.rewriteAST(document, fSubType.getJavaProject().getOptions(true)).apply(document, TextEdit.UPDATE_REGIONS);
-				} catch (MalformedTreeException exception) {
-					JavaPlugin.log(exception);
-				} catch (BadLocationException exception) {
+				} catch (MalformedTreeException | BadLocationException exception) {
 					JavaPlugin.log(exception);
 				}
 				subUnit.getBuffer().setContents(document.get());
@@ -1088,10 +1082,7 @@
 													final IDocument document= new Document(superUnit.getBuffer().getContents());
 													try {
 														edit.apply(document, TextEdit.UPDATE_REGIONS);
-													} catch (MalformedTreeException exception) {
-														JavaPlugin.log(exception);
-														status.merge(RefactoringStatus.createFatalErrorStatus(RefactoringCoreMessages.ExtractInterfaceProcessor_internal_error));
-													} catch (BadLocationException exception) {
+													} catch (MalformedTreeException | BadLocationException exception) {
 														JavaPlugin.log(exception);
 														status.merge(RefactoringStatus.createFatalErrorStatus(RefactoringCoreMessages.ExtractInterfaceProcessor_internal_error));
 													}
diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/ExtractSupertypeProcessor.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/ExtractSupertypeProcessor.java
index 4165844..225b3dc 100644
--- a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/ExtractSupertypeProcessor.java
+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/ExtractSupertypeProcessor.java
@@ -407,13 +407,7 @@
 			final ICompilationUnit copy= getSharedWorkingCopy(unit, new NullProgressMonitor());
 			copy.getBuffer().setContents(document.get());
 			JavaModelUtil.reconcile(copy);
-		} catch (CoreException exception) {
-			JavaPlugin.log(exception);
-			status.merge(RefactoringStatus.createFatalErrorStatus(RefactoringCoreMessages.ExtractSupertypeProcessor_unexpected_exception_on_layer));
-		} catch (MalformedTreeException exception) {
-			JavaPlugin.log(exception);
-			status.merge(RefactoringStatus.createFatalErrorStatus(RefactoringCoreMessages.ExtractSupertypeProcessor_unexpected_exception_on_layer));
-		} catch (BadLocationException exception) {
+		} catch (CoreException | MalformedTreeException | BadLocationException exception) {
 			JavaPlugin.log(exception);
 			status.merge(RefactoringStatus.createFatalErrorStatus(RefactoringCoreMessages.ExtractSupertypeProcessor_unexpected_exception_on_layer));
 		}
@@ -537,10 +531,7 @@
 			if (edit != null) {
 				try {
 					edit.apply(document, TextEdit.UPDATE_REGIONS);
-				} catch (MalformedTreeException exception) {
-					JavaPlugin.log(exception);
-					status.merge(RefactoringStatus.createFatalErrorStatus(RefactoringCoreMessages.ExtractSupertypeProcessor_unexpected_exception_on_layer));
-				} catch (BadLocationException exception) {
+				} catch (MalformedTreeException | BadLocationException exception) {
 					JavaPlugin.log(exception);
 					status.merge(RefactoringStatus.createFatalErrorStatus(RefactoringCoreMessages.ExtractSupertypeProcessor_unexpected_exception_on_layer));
 				}
@@ -620,10 +611,7 @@
 			final TextEdit edit= targetRewrite.createChange(true).getEdit();
 			try {
 				edit.apply(document, TextEdit.UPDATE_REGIONS);
-			} catch (MalformedTreeException exception) {
-				JavaPlugin.log(exception);
-				status.merge(RefactoringStatus.createFatalErrorStatus(RefactoringCoreMessages.ExtractSupertypeProcessor_unexpected_exception_on_layer));
-			} catch (BadLocationException exception) {
+			} catch (MalformedTreeException | BadLocationException exception) {
 				JavaPlugin.log(exception);
 				status.merge(RefactoringStatus.createFatalErrorStatus(RefactoringCoreMessages.ExtractSupertypeProcessor_unexpected_exception_on_layer));
 			}
@@ -1105,9 +1093,7 @@
 								final IDocument document= new Document(fSuperSource);
 								try {
 									edit.apply(document, TextEdit.UPDATE_REGIONS);
-								} catch (MalformedTreeException exception) {
-									JavaPlugin.log(exception);
-								} catch (BadLocationException exception) {
+								} catch (MalformedTreeException | BadLocationException exception) {
 									JavaPlugin.log(exception);
 								}
 								fSuperSource= document.get();
diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/HierarchyProcessor.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/HierarchyProcessor.java
index 3095e10..5f9d6ec 100644
--- a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/HierarchyProcessor.java
+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/HierarchyProcessor.java
@@ -322,9 +322,7 @@
 			expression.accept(new TypeVariableMapper(rewriter, mapping));
 			rewriter.rewriteAST(document, declaringCu.getJavaProject().getOptions(true)).apply(document, TextEdit.NONE);
 			result= (Expression) rewrite.createStringPlaceholder(document.get(position.getStartPosition(), position.getLength()), ASTNode.METHOD_INVOCATION);
-		} catch (MalformedTreeException exception) {
-			JavaPlugin.log(exception);
-		} catch (BadLocationException exception) {
+		} catch (MalformedTreeException | BadLocationException exception) {
 			JavaPlugin.log(exception);
 		}
 		return result;
@@ -373,9 +371,7 @@
 			});
 			rewriter.rewriteAST(document, declaringCu.getJavaProject().getOptions(true)).apply(document, TextEdit.NONE);
 			result= (BodyDeclaration) rewrite.createStringPlaceholder(document.get(position.getStartPosition(), position.getLength()), ASTNode.TYPE_DECLARATION);
-		} catch (MalformedTreeException exception) {
-			JavaPlugin.log(exception);
-		} catch (BadLocationException exception) {
+		} catch (MalformedTreeException | BadLocationException exception) {
 			JavaPlugin.log(exception);
 		}
 		return result;
@@ -394,9 +390,7 @@
 			declaration.accept(new TypeVariableMapper(rewriter, mapping));
 			rewriter.rewriteAST(document, declaringCu.getJavaProject().getOptions(true)).apply(document, TextEdit.NONE);
 			result= (SingleVariableDeclaration) rewrite.createStringPlaceholder(document.get(position.getStartPosition(), position.getLength()), ASTNode.SINGLE_VARIABLE_DECLARATION);
-		} catch (MalformedTreeException exception) {
-			JavaPlugin.log(exception);
-		} catch (BadLocationException exception) {
+		} catch (MalformedTreeException | BadLocationException exception) {
 			JavaPlugin.log(exception);
 		}
 		return result;
@@ -415,9 +409,7 @@
 			type.accept(new TypeVariableMapper(rewriter, mapping));
 			rewriter.rewriteAST(document, declaringCu.getJavaProject().getOptions(true)).apply(document, TextEdit.NONE);
 			result= (Type) rewrite.createStringPlaceholder(document.get(position.getStartPosition(), position.getLength()), ASTNode.SIMPLE_TYPE);
-		} catch (MalformedTreeException exception) {
-			JavaPlugin.log(exception);
-		} catch (BadLocationException exception) {
+		} catch (MalformedTreeException | BadLocationException exception) {
 			JavaPlugin.log(exception);
 		}
 		return result;
@@ -436,9 +428,7 @@
 			bodyDeclaration.accept(new TypeVariableMapper(rewriter, mapping));
 			rewriter.rewriteAST(document, declaringCu.getJavaProject().getOptions(true)).apply(document, TextEdit.NONE);
 			result= (BodyDeclaration) rewrite.createStringPlaceholder(document.get(position.getStartPosition(), position.getLength()), ASTNode.TYPE_DECLARATION);
-		} catch (MalformedTreeException exception) {
-			JavaPlugin.log(exception);
-		} catch (BadLocationException exception) {
+		} catch (MalformedTreeException | BadLocationException exception) {
 			JavaPlugin.log(exception);
 		}
 		return result;
diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/PullUpRefactoringProcessor.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/PullUpRefactoringProcessor.java
index e46d602..645d42d 100644
--- a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/PullUpRefactoringProcessor.java
+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/PullUpRefactoringProcessor.java
@@ -1019,9 +1019,7 @@
 			Strings.trimIndentation(lines, method.getJavaProject(), false);
 			content= Strings.concatenate(lines, StubUtility.getLineDelimiterUsed(method));
 			newMethod.setBody((Block) targetRewrite.getASTRewrite().createStringPlaceholder(content, ASTNode.BLOCK));
-		} catch (MalformedTreeException exception) {
-			JavaPlugin.log(exception);
-		} catch (BadLocationException exception) {
+		} catch (MalformedTreeException | BadLocationException exception) {
 			JavaPlugin.log(exception);
 		}
 	}
@@ -1425,11 +1423,7 @@
 			copy.getBuffer().setContents(document.get());
 			JavaModelUtil.reconcile(copy);
 			return copy;
-		} catch (JavaModelException exception) {
-			status.merge(RefactoringStatus.createFatalErrorStatus(RefactoringCoreMessages.ExtractInterfaceProcessor_internal_error));
-		} catch (MalformedTreeException exception) {
-			status.merge(RefactoringStatus.createFatalErrorStatus(RefactoringCoreMessages.ExtractInterfaceProcessor_internal_error));
-		} catch (BadLocationException exception) {
+		} catch (JavaModelException | MalformedTreeException | BadLocationException exception) {
 			status.merge(RefactoringStatus.createFatalErrorStatus(RefactoringCoreMessages.ExtractInterfaceProcessor_internal_error));
 		} finally {
 			monitor.done();
diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/PushDownRefactoringProcessor.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/PushDownRefactoringProcessor.java
index ea6e6e7..c8c8d91 100644
--- a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/PushDownRefactoringProcessor.java
+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/PushDownRefactoringProcessor.java
@@ -619,9 +619,7 @@
 			Strings.trimIndentation(lines, method.getJavaProject(), false);
 			content= Strings.concatenate(lines, StubUtility.getLineDelimiterUsed(method));
 			newMethod.setBody((Block) targetRewrite.createStringPlaceholder(content, ASTNode.BLOCK));
-		} catch (MalformedTreeException exception) {
-			JavaPlugin.log(exception);
-		} catch (BadLocationException exception) {
+		} catch (MalformedTreeException | BadLocationException exception) {
 			JavaPlugin.log(exception);
 		}
 	}
diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/constraints/SuperTypeRefactoringProcessor.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/constraints/SuperTypeRefactoringProcessor.java
index c313154..98c7dbe 100644
--- a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/constraints/SuperTypeRefactoringProcessor.java
+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/constraints/SuperTypeRefactoringProcessor.java
@@ -298,9 +298,7 @@
 			final TextEdit edit= targetRewrite.rewriteAST(document, subType.getJavaProject().getOptions(true));
 			try {
 				edit.apply(document, TextEdit.UPDATE_REGIONS);
-			} catch (MalformedTreeException exception) {
-				JavaPlugin.log(exception);
-			} catch (BadLocationException exception) {
+			} catch (MalformedTreeException | BadLocationException exception) {
 				JavaPlugin.log(exception);
 			}
 			buffer.setLength(0);
@@ -342,11 +340,7 @@
 			final IDocument document= new Document();
 			try {
 				rewrite.rewriteImports(new SubProgressMonitor(monitor, 100)).apply(document);
-			} catch (MalformedTreeException exception) {
-				JavaPlugin.log(exception);
-			} catch (BadLocationException exception) {
-				JavaPlugin.log(exception);
-			} catch (CoreException exception) {
+			} catch (MalformedTreeException | BadLocationException | CoreException exception) {
 				JavaPlugin.log(exception);
 			}
 			fTypeBindings.clear();
@@ -443,10 +437,7 @@
 			if (edit != null) {
 				try {
 					edit.apply(document, TextEdit.UPDATE_REGIONS);
-				} catch (MalformedTreeException exception) {
-					JavaPlugin.log(exception);
-					status.merge(RefactoringStatus.createFatalErrorStatus(RefactoringCoreMessages.ExtractInterfaceProcessor_internal_error));
-				} catch (BadLocationException exception) {
+				} catch (MalformedTreeException | BadLocationException exception) {
 					JavaPlugin.log(exception);
 					status.merge(RefactoringStatus.createFatalErrorStatus(RefactoringCoreMessages.ExtractInterfaceProcessor_internal_error));
 				}
diff --git a/org.eclipse.jdt.ui/ui refactoring/org/eclipse/jdt/internal/ui/refactoring/CompilationUnitChangeNode.java b/org.eclipse.jdt.ui/ui refactoring/org/eclipse/jdt/internal/ui/refactoring/CompilationUnitChangeNode.java
index 94764cd..45bbacd 100644
--- a/org.eclipse.jdt.ui/ui refactoring/org/eclipse/jdt/internal/ui/refactoring/CompilationUnitChangeNode.java
+++ b/org.eclipse.jdt.ui/ui refactoring/org/eclipse/jdt/internal/ui/refactoring/CompilationUnitChangeNode.java
@@ -166,9 +166,7 @@
 					break;
 				result= result.getParent();
 			}
-		} catch(JavaModelException e) {
-			// Do nothing, use old value.
-		} catch(ClassCastException e) {
+		} catch(JavaModelException | ClassCastException e) {
 			// Do nothing, use old value.
 		}
 		return result;
diff --git a/org.eclipse.jdt.ui/ui refactoring/org/eclipse/jdt/internal/ui/refactoring/reorg/PasteAction.java b/org.eclipse.jdt.ui/ui refactoring/org/eclipse/jdt/internal/ui/refactoring/reorg/PasteAction.java
index ff8a5c4..9322be6 100644
--- a/org.eclipse.jdt.ui/ui refactoring/org/eclipse/jdt/internal/ui/refactoring/reorg/PasteAction.java
+++ b/org.eclipse.jdt.ui/ui refactoring/org/eclipse/jdt/internal/ui/refactoring/reorg/PasteAction.java
@@ -950,9 +950,7 @@
 					try {
 						edit.apply(document, TextEdit.UPDATE_REGIONS);
 						return textPosition;
-					} catch (MalformedTreeException e) {
-						JavaPlugin.log(e);
-					} catch (BadLocationException e) {
+					} catch (MalformedTreeException | BadLocationException e) {
 						JavaPlugin.log(e);
 					} finally {
 						if (rewriteSession != null)
@@ -1034,10 +1032,7 @@
 		private IEditorPart openCu(ICompilationUnit cu) {
 			try {
 				return JavaUI.openInEditor(cu, true, true);
-			} catch (PartInitException e) {
-				JavaPlugin.log(e);
-				return null;
-			} catch (JavaModelException e) {
+			} catch (PartInitException | JavaModelException e) {
 				JavaPlugin.log(e);
 				return null;
 			}
diff --git a/org.eclipse.jdt.ui/ui refactoring/org/eclipse/jdt/internal/ui/refactoring/reorg/RenameLinkedMode.java b/org.eclipse.jdt.ui/ui refactoring/org/eclipse/jdt/internal/ui/refactoring/reorg/RenameLinkedMode.java
index 7c20586..503d088 100644
--- a/org.eclipse.jdt.ui/ui refactoring/org/eclipse/jdt/internal/ui/refactoring/reorg/RenameLinkedMode.java
+++ b/org.eclipse.jdt.ui/ui refactoring/org/eclipse/jdt/internal/ui/refactoring/reorg/RenameLinkedMode.java
@@ -377,9 +377,7 @@
 			JavaPlugin.log(ex);
 		} catch (InterruptedException ex) {
 			// canceling is OK -> redo text changes in that case?
-		} catch (InvocationTargetException ex) {
-			JavaPlugin.log(ex);
-		} catch (BadLocationException e) {
+		} catch (InvocationTargetException | BadLocationException e) {
 			JavaPlugin.log(e);
 		} finally {
 			if (label != null)
@@ -462,9 +460,7 @@
 			RenameSupport renameSupport= undoAndCreateRenameSupport(newName);
 			if (renameSupport != null)
 				renameSupport.openDialog(fEditor.getSite().getShell());
-		} catch (CoreException e) {
-			JavaPlugin.log(e);
-		} catch (BadLocationException e) {
+		} catch (CoreException | BadLocationException e) {
 			JavaPlugin.log(e);
 		}
 	}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/actions/AddTextBlockAction.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/actions/AddTextBlockAction.java
index 3999057..52a90b3 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/actions/AddTextBlockAction.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/actions/AddTextBlockAction.java
@@ -138,9 +138,7 @@
 			}
 			DocumentCommand command= getDocumentCommand(document, javaProject, selection, indentStr);
 			addTextBlock(document, command, setCaratPosition);
-		} catch (BadLocationException e) {
-			//do nothing
-		} catch (BadPartitioningException e) {
+		} catch (BadLocationException | BadPartitioningException e) {
 			//do nothing
 		}
 	}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/callhierarchy/CallHierarchyUI.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/callhierarchy/CallHierarchyUI.java
index ed3bb86..b9124f2 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/callhierarchy/CallHierarchyUI.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/callhierarchy/CallHierarchyUI.java
@@ -111,9 +111,7 @@
         if (element != null) {
             try {
                 JavaUI.openInEditor(element, true, true);
-            } catch (JavaModelException e) {
-                JavaPlugin.log(e);
-            } catch (PartInitException e) {
+            } catch (JavaModelException | PartInitException e) {
                 JavaPlugin.log(e);
             }
         }
@@ -127,9 +125,7 @@
                 editor.selectAndReveal(callLocation.getStart(),
                     (callLocation.getEnd() - callLocation.getStart()));
             }
-        } catch (JavaModelException e) {
-            JavaPlugin.log(e);
-        } catch (PartInitException e) {
+        } catch (JavaModelException | PartInitException e) {
             JavaPlugin.log(e);
         }
     }
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/commands/OpenElementInEditorHandler.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/commands/OpenElementInEditorHandler.java
index 69935ec..bef6798 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/commands/OpenElementInEditorHandler.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/commands/OpenElementInEditorHandler.java
@@ -42,9 +42,7 @@
 		try {
 			IEditorPart editorPart= JavaUI.openInEditor(javaElement);
 			JavaUI.revealInEditor(editorPart, javaElement);
-		} catch (JavaModelException ex) {
-			throw new ExecutionException("Error opening java element in editor", ex); //$NON-NLS-1$
-		} catch (PartInitException ex) {
+		} catch (JavaModelException | PartInitException ex) {
 			throw new ExecutionException("Error opening java element in editor", ex); //$NON-NLS-1$
 		}
 
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/fix/UnimplementedCodeCleanUp.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/fix/UnimplementedCodeCleanUp.java
index 8849959..f7335a7 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/fix/UnimplementedCodeCleanUp.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/fix/UnimplementedCodeCleanUp.java
@@ -177,10 +177,7 @@
 		TemplateBuffer buffer;
 		try {
 			buffer= context.evaluate(template);
-		} catch (BadLocationException e) {
-			JavaPlugin.log(e);
-			return ""; //$NON-NLS-1$
-		} catch (TemplateException e) {
+		} catch (BadLocationException | TemplateException e) {
 			JavaPlugin.log(e);
 			return ""; //$NON-NLS-1$
 		}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/infoviews/JavadocView.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/infoviews/JavadocView.java
index aa336bc..0bc4217 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/infoviews/JavadocView.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/infoviews/JavadocView.java
@@ -1189,9 +1189,7 @@
 				int offset= ((ITextSelection)selection).getOffset();
 				String partition= ((IDocumentExtension3)document).getContentType(IJavaPartitions.JAVA_PARTITIONING, offset, false);
 				return !IJavaPartitions.JAVA_DOC.equals(partition);
-			} catch (BadPartitioningException ex) {
-				return false;
-			} catch (BadLocationException ex) {
+			} catch (BadPartitioningException | BadLocationException ex) {
 				return false;
 			}
 
@@ -1252,9 +1250,7 @@
 				}
 			}
 
-		} catch (JavaModelException e) {
-			return null;
-		} catch (BadLocationException e) {
+		} catch (JavaModelException | BadLocationException e) {
 			return null;
 		}
 		return element;
@@ -1429,9 +1425,7 @@
 			public void handleDeclarationLink(IJavaElement target) {
 				try {
 					JavadocHover.openDeclaration(target);
-				} catch (PartInitException e) {
-					JavaPlugin.log(e);
-				} catch (JavaModelException e) {
+				} catch (PartInitException | JavaModelException e) {
 					JavaPlugin.log(e);
 				}
 			}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/jarpackager/JarFileExportOperation.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/jarpackager/JarFileExportOperation.java
index d022e19..0e97424 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/jarpackager/JarFileExportOperation.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/jarpackager/JarFileExportOperation.java
@@ -1085,9 +1085,7 @@
 		if (fJarPackage.areGeneratedFilesExported() && fJarPackage.isManifestGenerated() && fJarPackage.isManifestSaved()) {
 			try {
 				saveManifest();
-			} catch (CoreException ex) {
-				addError(JarPackagerMessages.JarFileExportOperation_errorSavingManifest, ex);
-			} catch (IOException ex) {
+			} catch (CoreException | IOException ex) {
 				addError(JarPackagerMessages.JarFileExportOperation_errorSavingManifest, ex);
 			}
 		}
@@ -1096,9 +1094,7 @@
 		if (fJarPackage.isDescriptionSaved()) {
 			try {
 				saveDescription();
-			} catch (CoreException ex) {
-				addError(JarPackagerMessages.JarFileExportOperation_errorSavingDescription, ex);
-			} catch (IOException ex) {
+			} catch (CoreException | IOException ex) {
 				addError(JarPackagerMessages.JarFileExportOperation_errorSavingDescription, ex);
 			}
 		}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/jarpackager/JarPackagerUtil.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/jarpackager/JarPackagerUtil.java
index 34384aa..83966b2 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/jarpackager/JarPackagerUtil.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/jarpackager/JarPackagerUtil.java
@@ -25,7 +25,6 @@
 import java.util.List;
 import java.util.zip.CRC32;
 import java.util.zip.ZipEntry;
-import java.util.zip.ZipException;
 import java.util.zip.ZipFile;
 
 import org.eclipse.swt.widgets.Display;
@@ -51,6 +50,7 @@
 import org.eclipse.jdt.core.IType;
 import org.eclipse.jdt.core.JavaModelException;
 
+import org.eclipse.jdt.internal.core.manipulation.util.BasicElementLabels;
 import org.eclipse.jdt.internal.corext.util.JavaModelUtil;
 import org.eclipse.jdt.internal.corext.util.Messages;
 
@@ -59,7 +59,6 @@
 
 import org.eclipse.jdt.internal.ui.IJavaStatusConstants;
 import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.internal.core.manipulation.util.BasicElementLabels;
 
 /**
  * Utility methods for JAR Import/Export.
@@ -312,8 +311,6 @@
 
 		try {
 			return new ZipFile(localFile);
-		} catch (ZipException e) {
-			throw new CoreException(new Status(IStatus.ERROR, JavaUI.ID_PLUGIN, e.getLocalizedMessage(), e));
 		} catch (IOException e) {
 			throw new CoreException(new Status(IStatus.ERROR, JavaUI.ID_PLUGIN, e.getLocalizedMessage(), e));
 		}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/jarpackager/OpenJarExportWizardEditorLauncher.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/jarpackager/OpenJarExportWizardEditorLauncher.java
index a3e471b..5ac460d 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/jarpackager/OpenJarExportWizardEditorLauncher.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/jarpackager/OpenJarExportWizardEditorLauncher.java
@@ -67,10 +67,7 @@
 				if (reader != null)
 					reader.close();
 			}
-		} catch (IOException ex) {
-			openErrorDialog(ex.getLocalizedMessage());
-			return;
-		} catch (CoreException ex) {
+		} catch (IOException | CoreException ex) {
 			openErrorDialog(ex.getLocalizedMessage());
 			return;
 		}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/jarpackagerfat/FatJarRsrcUrlBuilder.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/jarpackagerfat/FatJarRsrcUrlBuilder.java
index 6d3d1ec..02f531b 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/jarpackagerfat/FatJarRsrcUrlBuilder.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/jarpackagerfat/FatJarRsrcUrlBuilder.java
@@ -19,7 +19,6 @@
 import java.io.ByteArrayInputStream;
 import java.io.File;
 import java.io.FileInputStream;
-import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.HashSet;
@@ -118,8 +117,6 @@
 			if (!fJarPackage.isCompressed())
 				JarPackagerUtil.calculateCrcAndSize(newEntry, new FileInputStream(jarPathFile), readBuffer);
 			getJarWriter().addZipEntryStream(newEntry, new FileInputStream(jarPathFile), jarName);
-		} catch (FileNotFoundException e) {
-			throw new RuntimeException(e);
 		} catch (IOException e) {
 			throw new RuntimeException(e);
 		}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javadocexport/JavadocConsoleLineTracker.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javadocexport/JavadocConsoleLineTracker.java
index 5a06e1a..2dd0792 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javadocexport/JavadocConsoleLineTracker.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javadocexport/JavadocConsoleLineTracker.java
@@ -76,11 +76,7 @@
 						return;
 					}
 				}
-			} catch (BadLocationException e) {
-				JavaPlugin.log(e);
-			} catch (PartInitException e) {
-				JavaPlugin.log(e);
-			} catch (JavaModelException e) {
+			} catch (BadLocationException | PartInitException | JavaModelException e) {
 				JavaPlugin.log(e);
 			}
 		}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/CompilationUnitDocumentProvider.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/CompilationUnitDocumentProvider.java
index 989f287..dec2d28 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/CompilationUnitDocumentProvider.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/CompilationUnitDocumentProvider.java
@@ -1429,11 +1429,7 @@
 					// convert JavaModelException to CoreException
 					throw new CoreException(new Status(IStatus.WARNING, JavaUI.ID_PLUGIN, IResourceStatus.OUT_OF_SYNC_LOCAL, JavaEditorMessages.CompilationUnitDocumentProvider_error_outOfSync, null));
 				throw x;
-			} catch (CoreException x) {
-				// inform about the failure
-				fireElementStateChangeFailed(element);
-				throw x;
-			} catch (RuntimeException x) {
+			} catch (CoreException | RuntimeException x) {
 				// inform about the failure
 				fireElementStateChangeFailed(element);
 				throw x;
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/CompilationUnitEditor.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/CompilationUnitEditor.java
index 18f27ae..9ae1be8 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/CompilationUnitEditor.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/CompilationUnitEditor.java
@@ -578,9 +578,7 @@
 
 				event.doit= false;
 
-			} catch (BadLocationException e) {
-				JavaPlugin.log(e);
-			} catch (BadPositionCategoryException e) {
+			} catch (BadLocationException | BadPositionCategoryException e) {
 				JavaPlugin.log(e);
 			}
 		}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaEditor.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaEditor.java
index 42454bf..1d084ff 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaEditor.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaEditor.java
@@ -2324,8 +2324,7 @@
 					markInNavigationHistory();
 				}
 
-			} catch (JavaModelException x) {
-			} catch (IllegalArgumentException x) {
+			} catch (JavaModelException | IllegalArgumentException x) {
 			}
 
 		} else if (moveCursor) {
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaOutlinePage.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaOutlinePage.java
index 244c229..1a06c1e 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaOutlinePage.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaOutlinePage.java
@@ -641,11 +641,7 @@
 					TextEdit edit= CodeFormatterUtil.reformat(kind, content, regions, 0, lineDelimiter, formatterSettings);
 					edit.apply(javaSourceViewer.getDocument());
 
-				} catch (CoreException e) {
-					JavaPlugin.log(e);
-				} catch (MalformedTreeException e) {
-					JavaPlugin.log(e);
-				} catch (BadLocationException e) {
+				} catch (CoreException | MalformedTreeException | BadLocationException e) {
 					JavaPlugin.log(e);
 				} finally {
 					javaSourceViewer.setRedraw(true);
@@ -712,9 +708,7 @@
 					return new Region(document.getLineOffset(lineAtSourceOffset), sourceLength);
 				else
 					return new Region(beginningOfWSOffset, sourceLength);
-			} catch (JavaModelException e) {
-				JavaPlugin.log(e);
-			} catch (BadLocationException e) {
+			} catch (JavaModelException | BadLocationException e) {
 				JavaPlugin.log(e);
 			}
 			return null;
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/NLSKeyHyperlink.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/NLSKeyHyperlink.java
index b17d70e..2a1bf1c 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/NLSKeyHyperlink.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/NLSKeyHyperlink.java
@@ -197,9 +197,7 @@
 							offset= region.getOffset();
 					}
 				}
-			} catch (BadLocationException ex) {
-				found= false;
-			} catch (BadPartitioningException e1) {
+			} catch (BadLocationException | BadPartitioningException e1) {
 				found= false;
 			}
 		}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/SemanticHighlightingPresenter.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/SemanticHighlightingPresenter.java
index fbbd0ae..3a5bdb0 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/SemanticHighlightingPresenter.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/SemanticHighlightingPresenter.java
@@ -235,10 +235,7 @@
 				}
 				fPositions= newPositions;
 			}
-		} catch (BadPositionCategoryException e) {
-			// Should not happen
-			JavaPlugin.log(e);
-		} catch (BadLocationException e) {
+		} catch (BadPositionCategoryException | BadLocationException e) {
 			// Should not happen
 			JavaPlugin.log(e);
 		}
@@ -475,10 +472,7 @@
 		String positionCategory= getPositionCategory();
 		try {
 			document.addPosition(positionCategory, position);
-		} catch (BadLocationException e) {
-			// Should not happen
-			JavaPlugin.log(e);
-		} catch (BadPositionCategoryException e) {
+		} catch (BadLocationException | BadPositionCategoryException e) {
 			// Should not happen
 			JavaPlugin.log(e);
 		}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/codemining/JavaReferenceCodeMining.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/codemining/JavaReferenceCodeMining.java
index 6f1da6c..0c13efc 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/codemining/JavaReferenceCodeMining.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/codemining/JavaReferenceCodeMining.java
@@ -99,8 +99,6 @@
 									textEditor.selectAndReveal(match.getOffset(), match.getLength());
 								}
 							}
-						} catch (JavaModelException e1) {
-							// Should never occur
 						} catch (CoreException e1) {
 							// Should never occur
 						}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/JavadocConfigurationBlock.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/JavadocConfigurationBlock.java
index 82073af..df3fd64 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/JavadocConfigurationBlock.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/JavadocConfigurationBlock.java
@@ -440,11 +440,9 @@
 					// just read
 				}
 			}
-		} catch (IllegalArgumentException e) {
-			return false; // workaround for bug 91072
-		} catch (NullPointerException e) {
-			return false; // workaround for http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6536522
-		} catch (IOException e) {
+		} catch (IllegalArgumentException | NullPointerException | IOException e) {
+			// workaround for bug 91072
+			// workaround for http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6536522
 			return false;
 		}
 		return res < 400;
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/formatter/FormatterProfileStore.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/formatter/FormatterProfileStore.java
index 9c625a8..7073ca3 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/formatter/FormatterProfileStore.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/formatter/FormatterProfileStore.java
@@ -88,9 +88,7 @@
 				file.delete(); // remove after successful write
 				return res;
 			}
-		} catch (CoreException e) {
-			JavaPlugin.log(e); // log but ignore
-		} catch (IOException e) {
+		} catch (CoreException | IOException e) {
 			JavaPlugin.log(e); // log but ignore
 		}
 		return null;
@@ -118,9 +116,7 @@
 			}
 			uiPreferences.putInt(PREF_FORMATTER_PROFILES + VERSION_KEY_SUFFIX, profileVersioner.getCurrentVersion());
 			savePreferences(instanceScope);
-		} catch (CoreException e) {
-			JavaPlugin.log(e);
-		} catch (BackingStoreException e) {
+		} catch (CoreException | BackingStoreException e) {
 			JavaPlugin.log(e);
 		}
 	}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/propertiesfileeditor/PropertiesCorrectionProcessor.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/propertiesfileeditor/PropertiesCorrectionProcessor.java
index ec140b6..e891466 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/propertiesfileeditor/PropertiesCorrectionProcessor.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/propertiesfileeditor/PropertiesCorrectionProcessor.java
@@ -88,10 +88,7 @@
 					proposals.addAll(Arrays.asList(assists));
 				}
 				res= proposals.toArray(new ICompletionProposal[proposals.size()]);
-			} catch (BadLocationException e) {
-				fErrorMessage= PropertiesFileEditorMessages.PropertiesCorrectionProcessor_error_quickassist_message;
-				JavaPlugin.log(e);
-			} catch (BadPartitioningException e) {
+			} catch (BadLocationException | BadPartitioningException e) {
 				fErrorMessage= PropertiesFileEditorMessages.PropertiesCorrectionProcessor_error_quickassist_message;
 				JavaPlugin.log(e);
 			}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/propertiesfileeditor/PropertiesFileHover.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/propertiesfileeditor/PropertiesFileHover.java
index e516bb2..8babfef 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/propertiesfileeditor/PropertiesFileHover.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/propertiesfileeditor/PropertiesFileHover.java
@@ -153,9 +153,7 @@
 			}
 			if (escapedString.equals(unescapedString))
 				return null;
-		} catch (BadLocationException e) {
-			JavaPlugin.log(e);
-		} catch (BadPartitioningException e) {
+		} catch (BadLocationException | BadPartitioningException e) {
 			JavaPlugin.log(e);
 		}
 		return unescapedString;
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/propertiesfileeditor/PropertiesQuickAssistProcessor.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/propertiesfileeditor/PropertiesQuickAssistProcessor.java
index e3acb13..2c93a55 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/propertiesfileeditor/PropertiesQuickAssistProcessor.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/propertiesfileeditor/PropertiesQuickAssistProcessor.java
@@ -75,9 +75,7 @@
 					getCreateFieldsInAccessorClassProposals(invocationContext, null) ||
 					getRemovePropertiesProposals(invocationContext, null) ||
 					getRenameKeysProposals(invocationContext, null);
-		} catch (BadLocationException e) {
-			JavaPlugin.log(e);
-		} catch (BadPartitioningException e) {
+		} catch (BadLocationException | BadPartitioningException e) {
 			JavaPlugin.log(e);
 		}
 		return false;
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/propertiesfileeditor/PropertyKeyHyperlinkDetector.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/propertiesfileeditor/PropertyKeyHyperlinkDetector.java
index b20cc19..22819ab 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/propertiesfileeditor/PropertyKeyHyperlinkDetector.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/propertiesfileeditor/PropertyKeyHyperlinkDetector.java
@@ -106,11 +106,7 @@
 
 			return new PropertyKeyHyperlink[] { new PropertyKeyHyperlink(new Region(partition.getOffset() + delta, realKey.length()), realKey, textEditor) };
 
-		} catch (BadLocationException ex) {
-			return null;
-		} catch (BadPartitioningException ex) {
-			return null;
-		} catch (IOException ex) {
+		} catch (BadLocationException | BadPartitioningException | IOException ex) {
 			return null;
 		} catch (IllegalArgumentException ex) {
 			showErrorInStatusLine(ex.getLocalizedMessage(), textEditor);
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/propertiesfileeditor/PropertyValueScanner.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/propertiesfileeditor/PropertyValueScanner.java
index 7a219e7..70f90a7 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/propertiesfileeditor/PropertyValueScanner.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/propertiesfileeditor/PropertyValueScanner.java
@@ -66,9 +66,7 @@
 				if (fDocument instanceof IDocumentExtension3)
 					partition= ((IDocumentExtension3)fDocument).getPartition(IPropertiesFilePartitions.PROPERTIES_FILE_PARTITIONING, i, false);
 				return partition != null && IDocument.DEFAULT_CONTENT_TYPE.equals(partition.getType());
-			} catch (BadLocationException ex) {
-				return false;
-			} catch (BadPartitioningException e) {
+			} catch (BadLocationException | BadPartitioningException e) {
 				return false;
 			}
 		}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/search/OccurrencesSearchResultPage.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/search/OccurrencesSearchResultPage.java
index cf7640d..96d6c88 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/search/OccurrencesSearchResultPage.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/search/OccurrencesSearchResultPage.java
@@ -243,9 +243,7 @@
 			// activating at the end avoids an outdated selection event from JavaUI.openInEditor(..):
 			if (editor != null && activate)
 				editor.getEditorSite().getPage().activate(editor);
-		} catch (PartInitException e1) {
-			return;
-		} catch (JavaModelException e1) {
+		} catch (PartInitException | JavaModelException e1) {
 			return;
 		}
 
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/JavaOutlineInformationControl.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/JavaOutlineInformationControl.java
index 5025d4c..4756b01 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/JavaOutlineInformationControl.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/JavaOutlineInformationControl.java
@@ -741,9 +741,7 @@
 			IProgressMonitor monitor = getProgressMonitor();
 			try {
 				th= SuperTypeHierarchyCache.getTypeHierarchy(type, monitor);
-			} catch (JavaModelException e) {
-				return null;
-			} catch (OperationCanceledException e) {
+			} catch (JavaModelException | OperationCanceledException e) {
 				return null;
 			} finally {
 				monitor.done();
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/SmartBackspaceManager.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/SmartBackspaceManager.java
index 38b62ab..adba68b 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/SmartBackspaceManager.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/SmartBackspaceManager.java
@@ -125,10 +125,7 @@
 						fViewer.setSelectedRange(spec.selection.getOffset(), spec.selection.getLength());
 						if (spec.child != null)
 							register(spec.child);
-					} catch (MalformedTreeException e) {
-						// fall back to standard bs
-						return;
-					} catch (BadLocationException e) {
+					} catch (MalformedTreeException | BadLocationException e) {
 						// fall back to standard bs
 						return;
 					} finally {
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/DefaultModulepathFixProcessor.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/DefaultModulepathFixProcessor.java
index 6bdfc30..45b4d56 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/DefaultModulepathFixProcessor.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/DefaultModulepathFixProcessor.java
@@ -90,9 +90,7 @@
 		SearchParticipant[] participants= new SearchParticipant[] { SearchEngine.getDefaultSearchParticipant() };
 		try {
 			new SearchEngine().search(searchPattern, participants, scope, requestor, null);
-		} catch (CoreException e) {
-			//do nothing
-		} catch (OperationCanceledException e) {
+		} catch (CoreException | OperationCanceledException e) {
 			//do nothing
 		}
 
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/ModuleCorrectionsSubProcessor.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/ModuleCorrectionsSubProcessor.java
index b76836a..3a451df 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/ModuleCorrectionsSubProcessor.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/ModuleCorrectionsSubProcessor.java
@@ -215,9 +215,7 @@
 		SearchParticipant[] participants= new SearchParticipant[] { SearchEngine.getDefaultSearchParticipant() };
 		try {
 			new SearchEngine().search(searchPattern, participants, scope, requestor, null);
-		} catch (CoreException e) {
-			//do nothing
-		} catch (OperationCanceledException e) {
+		} catch (CoreException | OperationCanceledException e) {
 			//do nothing
 		}
 
@@ -386,9 +384,7 @@
 			if (projectModule == null) {
 				projectModule= JavaModelAccess.getAutomaticModuleDescription(element);
 			}
-		} catch (JavaModelException e) {
-			JavaPlugin.log(e);
-		} catch (IllegalArgumentException e) {
+		} catch (JavaModelException | IllegalArgumentException e) {
 			JavaPlugin.log(e);
 		}
 		return projectModule;
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/QuickAssistLightBulbUpdater.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/QuickAssistLightBulbUpdater.java
index 81bdf1c..d93838c 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/QuickAssistLightBulbUpdater.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/QuickAssistLightBulbUpdater.java
@@ -265,9 +265,7 @@
 					}
 				}
 			}
-		} catch (BadLocationException e) {
-			// ignore
-		} catch (IndexOutOfBoundsException | ConcurrentModificationException e) {
+		} catch (BadLocationException | IndexOutOfBoundsException | ConcurrentModificationException e) {
 			// concurrent modification - too bad, ignore
 		}
 		return false;
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/AnonymousTypeCompletionProposal.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/AnonymousTypeCompletionProposal.java
index b758379..a43f42e 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/AnonymousTypeCompletionProposal.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/AnonymousTypeCompletionProposal.java
@@ -262,9 +262,7 @@
 				int bodyStart= trackedDeclaration.getStartPosition() + dummyClassContent.indexOf('{');
 				int bodyEnd= trackedDeclaration.getStartPosition() + trackedDeclaration.getLength();
 				return document.get(bodyStart, bodyEnd - bodyStart);
-			} catch (MalformedTreeException exception) {
-				JavaPlugin.log(exception);
-			} catch (BadLocationException exception) {
+			} catch (MalformedTreeException | BadLocationException exception) {
 				JavaPlugin.log(exception);
 			}
 			return null;
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/ImportCompletionProposal.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/ImportCompletionProposal.java
index b4992e0..925f2a8 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/ImportCompletionProposal.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/ImportCompletionProposal.java
@@ -149,9 +149,7 @@
 					fLengthOfImportsAddedBehindReplacementOffset= 0;
 				setReplacementOffset(getReplacementOffset() + document.getLength() - oldLen);
 			}
-		} catch (CoreException e) {
-			JavaPlugin.log(e);
-		} catch (BadLocationException e) {
+		} catch (CoreException | BadLocationException e) {
 			JavaPlugin.log(e);
 		}
 	}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/JavaAutoIndentStrategy.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/JavaAutoIndentStrategy.java
index 1e4695d..610a427 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/JavaAutoIndentStrategy.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/JavaAutoIndentStrategy.java
@@ -1398,9 +1398,7 @@
 			int tokenLength= fgScanner.getCurrentTokenEndPosition() + 1 - tokenOffset; // inclusive end
 			return new Region(tokenOffset + scanRegion.getOffset(), tokenLength);
 
-		} catch (InvalidInputException x) {
-			return null;
-		} catch (BadLocationException x) {
+		} catch (InvalidInputException | BadLocationException x) {
 			return null;
 		}
 	}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/JavaFormattingStrategy.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/JavaFormattingStrategy.java
index 948d646..ac9e44b 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/JavaFormattingStrategy.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/JavaFormattingStrategy.java
@@ -80,9 +80,7 @@
 					edit.apply(document);
 				}
 
-			} catch (MalformedTreeException exception) {
-				JavaPlugin.log(exception);
-			} catch (BadLocationException exception) {
+			} catch (MalformedTreeException | BadLocationException exception) {
 				// Can only happen on concurrent document modification - log and bail out
 				JavaPlugin.log(exception);
 			} finally {
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/JavaTypeCompletionProposal.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/JavaTypeCompletionProposal.java
index e7844e7..ce45fec 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/JavaTypeCompletionProposal.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/JavaTypeCompletionProposal.java
@@ -116,9 +116,7 @@
 				impRewrite.rewriteImports(new NullProgressMonitor()).apply(document, TextEdit.UPDATE_REGIONS);
 				setReplacementOffset(getReplacementOffset() + document.getLength() - oldLen);
 			}
-		} catch (CoreException e) {
-			JavaPlugin.log(e);
-		} catch (BadLocationException e) {
+		} catch (CoreException | BadLocationException e) {
 			JavaPlugin.log(e);
 		}
 	}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/JavaTypeCompletionProposalComputer.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/JavaTypeCompletionProposalComputer.java
index a145a28..aa8ae0e 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/JavaTypeCompletionProposalComputer.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/JavaTypeCompletionProposalComputer.java
@@ -104,10 +104,7 @@
 					}
 				}
 			}
-		} catch (BadLocationException x) {
-			// log & ignore
-			JavaPlugin.log(x);
-		} catch (JavaModelException x) {
+		} catch (BadLocationException | JavaModelException x) {
 			// log & ignore
 			JavaPlugin.log(x);
 		}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/LazyJavaTypeCompletionProposal.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/LazyJavaTypeCompletionProposal.java
index 0019614..f788bb0 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/LazyJavaTypeCompletionProposal.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/LazyJavaTypeCompletionProposal.java
@@ -215,9 +215,7 @@
 				setUpLinkedMode(document, ')');
 
 			rememberSelection();
-		} catch (CoreException e) {
-			JavaPlugin.log(e);
-		} catch (BadLocationException e) {
+		} catch (CoreException | BadLocationException e) {
 			JavaPlugin.log(e);
 		}
 	}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/OverrideCompletionProposal.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/OverrideCompletionProposal.java
index 410761f..0132c3a 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/OverrideCompletionProposal.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/OverrideCompletionProposal.java
@@ -182,9 +182,7 @@
 						setReplacementLength(replacementLength + 1);
 					}
 
-				} catch (MalformedTreeException exception) {
-					JavaPlugin.log(exception);
-				} catch (BadLocationException exception) {
+				} catch (MalformedTreeException | BadLocationException exception) {
 					JavaPlugin.log(exception);
 				}
 			}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/ParameterGuessingProposal.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/ParameterGuessingProposal.java
index fa73e06..31ba274 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/ParameterGuessingProposal.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/ParameterGuessingProposal.java
@@ -212,11 +212,7 @@
 				fSelectedRegion= new Region(baseOffset + replacement.length(), 0);
 			}
 
-		} catch (BadLocationException e) {
-			ensurePositionCategoryRemoved(document);
-			JavaPlugin.log(e);
-			openErrorDialog(e);
-		} catch (BadPositionCategoryException e) {
+		} catch (BadLocationException | BadPositionCategoryException e) {
 			ensurePositionCategoryRemoved(document);
 			JavaPlugin.log(e);
 			openErrorDialog(e);
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/SmartSemicolonAutoEditStrategy.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/SmartSemicolonAutoEditStrategy.java
index f8b9a6d..a01035f 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/SmartSemicolonAutoEditStrategy.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/SmartSemicolonAutoEditStrategy.java
@@ -180,9 +180,7 @@
 			command.text= insertion;
 			command.doit= true;
 			command.owner= null;
-		} catch (MalformedTreeException e) {
-			JavaPlugin.log(e);
-		} catch (BadLocationException e) {
+		} catch (MalformedTreeException | BadLocationException e) {
 			JavaPlugin.log(e);
 		}
 
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/hover/JavadocHover.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/hover/JavadocHover.java
index ceab1e4..fec1b3a 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/hover/JavadocHover.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/hover/JavadocHover.java
@@ -292,9 +292,7 @@
 			try {
 				//FIXME: add hover location to editor navigation history?
 				openDeclaration(infoInput.getElement());
-			} catch (PartInitException e) {
-				JavaPlugin.log(e);
-			} catch (JavaModelException e) {
+			} catch (PartInitException | JavaModelException e) {
 				JavaPlugin.log(e);
 			}
 		}
@@ -620,9 +618,7 @@
 				try {
 					//FIXME: add hover location to editor navigation history?
 					openDeclaration(linkTarget);
-				} catch (PartInitException e) {
-					JavaPlugin.log(e);
-				} catch (JavaModelException e) {
+				} catch (PartInitException | JavaModelException e) {
 					JavaPlugin.log(e);
 				}
 			}
@@ -1159,10 +1155,7 @@
 					}
 				}
 			}
-		} catch (JavaModelException e) {
-			// no annotations this time...
-			buf.append("<br>"); //$NON-NLS-1$
-		} catch (URISyntaxException e) {
+		} catch (JavaModelException | URISyntaxException e) {
 			// no annotations this time...
 			buf.append("<br>"); //$NON-NLS-1$
 		}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/spelling/JavaSpellingEngine.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/spelling/JavaSpellingEngine.java
index 5630ee2..2a3de7a 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/spelling/JavaSpellingEngine.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/spelling/JavaSpellingEngine.java
@@ -59,9 +59,7 @@
 						checker.execute(listener, new SpellCheckIterator(document, partition, checker.getLocale()));
 				}
 			}
-		} catch (BadLocationException x) {
-			// ignore: the document has been changed in another thread and will be checked again
-		} catch (AssertionFailedException x) {
+		} catch (BadLocationException | AssertionFailedException x) {
 			// ignore: the document has been changed in another thread and will be checked again
 		}
 	}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/spelling/PropertiesFileSpellingEngine.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/spelling/PropertiesFileSpellingEngine.java
index fce4d06..0f1e0fc 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/spelling/PropertiesFileSpellingEngine.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/spelling/PropertiesFileSpellingEngine.java
@@ -85,9 +85,7 @@
 					checker.execute(listener, new PropertiesFileSpellCheckIterator(document, partition, locale));
 				}
 			}
-		} catch (BadLocationException x) {
-			// ignore: the document has been changed in another thread and will be checked again
-		} catch (AssertionFailedException x) {
+		} catch (BadLocationException | AssertionFailedException x) {
 			// ignore: the document has been changed in another thread and will be checked again
 		}
 	}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/template/contentassist/SurroundWithTemplateProposal.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/template/contentassist/SurroundWithTemplateProposal.java
index 3ab5097..bd82d93 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/template/contentassist/SurroundWithTemplateProposal.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/template/contentassist/SurroundWithTemplateProposal.java
@@ -186,13 +186,7 @@
 
 			return document.get();
 
-		} catch (MalformedTreeException e) {
-			JavaPlugin.log(e);
-		} catch (IllegalArgumentException e) {
-			JavaPlugin.log(e);
-		} catch (BadLocationException e) {
-			JavaPlugin.log(e);
-		} catch (CoreException e) {
+		} catch (MalformedTreeException | IllegalArgumentException | BadLocationException | CoreException e) {
 			JavaPlugin.log(e);
 		}
 		return null;
@@ -215,13 +209,7 @@
 			//Evaluate the template within the new context
 			fProposal= new TemplateProposal(fTemplate, context, region, null);
 			fProposal.apply(viewer, trigger, stateMask, context.getCompletionOffset());
-		} catch (MalformedTreeException e) {
-			handleException(viewer, e, fRegion);
-		} catch (IllegalArgumentException e) {
-			handleException(viewer, e, fRegion);
-		} catch (BadLocationException e) {
-			handleException(viewer, e, fRegion);
-		} catch (CoreException e) {
+		} catch (MalformedTreeException | IllegalArgumentException | BadLocationException | CoreException e) {
 			handleException(viewer, e, fRegion);
 		} finally {
 			setRedraw(viewer, true);
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/template/contentassist/TemplateProposal.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/template/contentassist/TemplateProposal.java
index cf4d698..7a32de4 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/template/contentassist/TemplateProposal.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/template/contentassist/TemplateProposal.java
@@ -306,11 +306,7 @@
 				fSelectedRegion= new Region(getCaretOffset(templateBuffer) + start, 0);
 			}
 
-		} catch (BadLocationException e) {
-			JavaPlugin.log(e);
-			openErrorDialog(viewer.getTextWidget().getShell(), e);
-			fSelectedRegion= fRegion;
-		} catch (BadPositionCategoryException e) {
+		} catch (BadLocationException | BadPositionCategoryException e) {
 			JavaPlugin.log(e);
 			openErrorDialog(viewer.getTextWidget().getShell(), e);
 			fSelectedRegion= fRegion;
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/viewsupport/LinkedProposalModelPresenter.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/viewsupport/LinkedProposalModelPresenter.java
index 9f577a5..a4c706d 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/viewsupport/LinkedProposalModelPresenter.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/viewsupport/LinkedProposalModelPresenter.java
@@ -150,9 +150,7 @@
 						if (edit != null) {
 							edit.apply(position.getDocument(), 0);
 						}
-					} catch (MalformedTreeException e) {
-						throw new CoreException(new Status(IStatus.ERROR, JavaUI.ID_PLUGIN, IStatus.ERROR, "Unexpected exception applying edit", e)); //$NON-NLS-1$
-					} catch (BadLocationException e) {
+					} catch (MalformedTreeException | BadLocationException e) {
 						throw new CoreException(new Status(IStatus.ERROR, JavaUI.ID_PLUGIN, IStatus.ERROR, "Unexpected exception applying edit", e)); //$NON-NLS-1$
 					}
 				} catch (CoreException e) {
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/ExternalizeStringsAction.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/ExternalizeStringsAction.java
index 60eb604..a45c46a 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/ExternalizeStringsAction.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/ExternalizeStringsAction.java
@@ -409,10 +409,7 @@
 				result+= countNonExternalizedStrings(line);
 			}
 			return result;
-		} catch (InvalidInputException e) {
-			throw new CoreException(new Status(IStatus.ERROR, JavaPlugin.getPluginId(), IStatus.ERROR,
-					Messages.format(ActionMessages.FindStringsToExternalizeAction_error_cannotBeParsed, BasicElementLabels.getFileName(cu)), e));
-		} catch (BadLocationException e) {
+		} catch (InvalidInputException | BadLocationException e) {
 			throw new CoreException(new Status(IStatus.ERROR, JavaPlugin.getPluginId(), IStatus.ERROR, Messages.format(ActionMessages.FindStringsToExternalizeAction_error_cannotBeParsed,
 					BasicElementLabels.getFileName(cu)), e));
 		}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/FindStringsToExternalizeAction.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/FindStringsToExternalizeAction.java
index dcface4..cc6b95c 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/FindStringsToExternalizeAction.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/FindStringsToExternalizeAction.java
@@ -311,11 +311,7 @@
 				result += countNonExternalizedStrings(line);
 			}
 			return result;
-		} catch (InvalidInputException e) {
-			throw new CoreException(new Status(IStatus.ERROR, JavaPlugin.getPluginId(), IStatus.ERROR,
-				Messages.format(ActionMessages.FindStringsToExternalizeAction_error_cannotBeParsed, BasicElementLabels.getFileName(cu)),
-				e));
-		} catch (BadLocationException e) {
+		} catch (InvalidInputException | BadLocationException e) {
 			throw new CoreException(new Status(IStatus.ERROR, JavaPlugin.getPluginId(), IStatus.ERROR, Messages.format(ActionMessages.FindStringsToExternalizeAction_error_cannotBeParsed,
 					BasicElementLabels.getFileName(cu)), e));
 		}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/SurroundWithTryCatchAction.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/SurroundWithTryCatchAction.java
index bd5a16b..15cb41b 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/SurroundWithTryCatchAction.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/SurroundWithTryCatchAction.java
@@ -116,10 +116,7 @@
 			ExceptionHandler.handle(e, getDialogTitle(), RefactoringMessages.SurroundWithTryCatchAction_exception);
 		} catch (InvocationTargetException e) {
 			ExceptionHandler.handle(e, getDialogTitle(), RefactoringMessages.SurroundWithTryCatchAction_exception);
-		} catch (InterruptedException e) {
-			// not cancelable
-		} catch (BadLocationException e) {
-			// ignore
+		} catch (/* not cancelable */ InterruptedException | /* ignore */ BadLocationException e) {
 		}
 	}
 
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/SurroundWithTryWithResourcesAction.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/SurroundWithTryWithResourcesAction.java
index d9ccd79..b93a115 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/SurroundWithTryWithResourcesAction.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/SurroundWithTryWithResourcesAction.java
@@ -128,10 +128,7 @@
 			ExceptionHandler.handle(e, getDialogTitle(), RefactoringMessages.SurroundWithTryResourcesAction_exception);
 		} catch (InvocationTargetException e) {
 			ExceptionHandler.handle(e, getDialogTitle(), RefactoringMessages.SurroundWithTryResourcesAction_exception);
-		} catch (InterruptedException e) {
-			// not cancelable
-		} catch (BadLocationException e) {
-			// ignore
+		} catch (/* not cancelable */ InterruptedException | /* ignore */ BadLocationException e) {
 		}
 	}
 
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/text/folding/DefaultJavaFoldingStructureProvider.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/text/folding/DefaultJavaFoldingStructureProvider.java
index df11729..a13ba42 100755
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/text/folding/DefaultJavaFoldingStructureProvider.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/text/folding/DefaultJavaFoldingStructureProvider.java
@@ -1154,8 +1154,7 @@
 				IRegion[] result= new IRegion[regions.size()];
 				regions.toArray(result);
 				return result;
-		} catch (JavaModelException e) {
-		} catch (InvalidInputException e) {
+		} catch (JavaModelException | InvalidInputException e) {
 		}
 
 		return new IRegion[0];
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/wizards/NewJavaProjectWizardPageTwo.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/wizards/NewJavaProjectWizardPageTwo.java
index fba252d..8c9c708 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/wizards/NewJavaProjectWizardPageTwo.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/wizards/NewJavaProjectWizardPageTwo.java
@@ -373,8 +373,7 @@
 						foldersToKeep.add(canonicalFileStore);
 					}
 				}
-			} catch (IOException e) {
-			} catch (CoreException e) {
+			} catch (IOException | CoreException e) {
 			}
 		}
 
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/wizards/NewTypeWizardPage.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/wizards/NewTypeWizardPage.java
index 98d6184..e0382bc 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/wizards/NewTypeWizardPage.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/wizards/NewTypeWizardPage.java
@@ -2742,11 +2742,7 @@
 			if (template != null) {
 				return TemplateUtils.evaluateTemplate(template, parentCU, pos);
 			}
-		} catch (CoreException e) {
-			JavaPlugin.log(e);
-		} catch (BadLocationException e) {
-			JavaPlugin.log(e);
-		} catch (TemplateException e) {
+		} catch (CoreException | BadLocationException | TemplateException e) {
 			JavaPlugin.log(e);
 		}
 		return null;