collapse identical catch blocks
diff --git a/src/main/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiver.java b/src/main/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiver.java
index e54fc01..9cc75e1 100644
--- a/src/main/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiver.java
+++ b/src/main/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiver.java
@@ -183,12 +183,7 @@
 
             archiver.createArchive();
         }
-        catch ( final ArchiverException e )
-        {
-            throw new ArchiveCreationException(
-                "Error creating assembly archive " + assembly.getId() + ": " + e.getMessage(), e );
-        }
-        catch ( final IOException e )
+        catch ( final ArchiverException | IOException e )
         {
             throw new ArchiveCreationException(
                 "Error creating assembly archive " + assembly.getId() + ": " + e.getMessage(), e );
@@ -385,12 +380,7 @@
         {
             config = Xpp3DomBuilder.build( new StringReader( configSource.getArchiverConfig() ) );
         }
-        catch ( final XmlPullParserException e )
-        {
-            throw new ArchiverException( "Failed to parse archiver configuration for: " + archiver.getClass().getName(),
-                                         e );
-        }
-        catch ( final IOException e )
+        catch ( final XmlPullParserException | IOException e )
         {
             throw new ArchiverException( "Failed to parse archiver configuration for: " + archiver.getClass().getName(),
                                          e );
@@ -443,11 +433,7 @@
             configureComponent.invoke( configurator, component, configuration, expressionEvaluator, containerRealm[0],
                                        listener );
         }
-        catch ( final NoSuchMethodException e )
-        {
-            throw new RuntimeException( e );
-        }
-        catch ( final IllegalAccessException e )
+        catch ( final NoSuchMethodException | IllegalAccessException e )
         {
             throw new RuntimeException( e );
         }
@@ -472,11 +458,7 @@
             final Method getContainerRealm = container.getClass().getMethod( "getContainerRealm" );
             return new Object[]{ getContainerRealm.invoke( container ), getContainerRealm.getReturnType() };
         }
-        catch ( final NoSuchMethodException e )
-        {
-            throw new RuntimeException( e );
-        }
-        catch ( final IllegalAccessException e )
+        catch ( final NoSuchMethodException | IllegalAccessException e )
         {
             throw new RuntimeException( e );
         }
diff --git a/src/main/java/org/apache/maven/plugins/assembly/archive/ManifestCreationFinalizer.java b/src/main/java/org/apache/maven/plugins/assembly/archive/ManifestCreationFinalizer.java
index 4ed1d3e..3522981 100644
--- a/src/main/java/org/apache/maven/plugins/assembly/archive/ManifestCreationFinalizer.java
+++ b/src/main/java/org/apache/maven/plugins/assembly/archive/ManifestCreationFinalizer.java
@@ -136,11 +136,7 @@
                     return Collections.singletonList( "META-INF/MANIFEST.MF" );
                 }
             }
-            catch ( final ManifestException ignore )
-            {
-                // noop
-            }
-            catch ( final DependencyResolutionRequiredException ignore )
+            catch ( final ManifestException | DependencyResolutionRequiredException ignore )
             {
                 // noop
             }
diff --git a/src/main/java/org/apache/maven/plugins/assembly/archive/phase/FileItemAssemblyPhase.java b/src/main/java/org/apache/maven/plugins/assembly/archive/phase/FileItemAssemblyPhase.java
index 799f39f..67701a4 100644
--- a/src/main/java/org/apache/maven/plugins/assembly/archive/phase/FileItemAssemblyPhase.java
+++ b/src/main/java/org/apache/maven/plugins/assembly/archive/phase/FileItemAssemblyPhase.java
@@ -122,11 +122,7 @@
                 int mode = TypeConversionUtils.modeToInt( fileItem.getFileMode(), getLogger() );
                 archiver.addResource( restoUse, target, mode );
             }
-            catch ( final ArchiverException e )
-            {
-                throw new ArchiveCreationException( "Error adding file to archive: " + e.getMessage(), e );
-            }
-            catch ( IOException e )
+            catch ( final ArchiverException | IOException e )
             {
                 throw new ArchiveCreationException( "Error adding file to archive: " + e.getMessage(), e );
             }
diff --git a/src/main/java/org/apache/maven/plugins/assembly/io/DefaultAssemblyReader.java b/src/main/java/org/apache/maven/plugins/assembly/io/DefaultAssemblyReader.java
index 2dfd47a..7ef826e 100644
--- a/src/main/java/org/apache/maven/plugins/assembly/io/DefaultAssemblyReader.java
+++ b/src/main/java/org/apache/maven/plugins/assembly/io/DefaultAssemblyReader.java
@@ -360,12 +360,7 @@
             reader.close();
             reader = null;
         }
-        catch ( final IOException e )
-        {
-            throw new AssemblyReadException( "Error reading descriptor: " + locationDescription + ": " + e.getMessage(),
-                                             e );
-        }
-        catch ( final XmlPullParserException e )
+        catch ( final IOException | XmlPullParserException e )
         {
             throw new AssemblyReadException( "Error reading descriptor: " + locationDescription + ": " + e.getMessage(),
                                              e );
@@ -454,12 +449,7 @@
                 reader = new InputStreamReader( resolvedLocation.getInputStream() );
                 component = new ComponentXpp3Reader( transformer ).read( reader );
             }
-            catch ( final IOException e )
-            {
-                throw new AssemblyReadException( "Error reading component descriptor: " + location + " (resolved to: "
-                    + resolvedLocation.getSpecification() + ")", e );
-            }
-            catch ( final XmlPullParserException e )
+            catch ( final IOException | XmlPullParserException e )
             {
                 throw new AssemblyReadException( "Error reading component descriptor: " + location + " (resolved to: "
                     + resolvedLocation.getSpecification() + ")", e );
diff --git a/src/main/java/org/apache/maven/plugins/assembly/mojos/AbstractAssemblyMojo.java b/src/main/java/org/apache/maven/plugins/assembly/mojos/AbstractAssemblyMojo.java
index c6a00ff..d74da75 100644
--- a/src/main/java/org/apache/maven/plugins/assembly/mojos/AbstractAssemblyMojo.java
+++ b/src/main/java/org/apache/maven/plugins/assembly/mojos/AbstractAssemblyMojo.java
@@ -527,11 +527,7 @@
                     }
                 }
             }
-            catch ( final ArchiveCreationException e )
-            {
-                throw new MojoExecutionException( "Failed to create assembly: " + e.getMessage(), e );
-            }
-            catch ( final AssemblyFormattingException e )
+            catch ( final ArchiveCreationException | AssemblyFormattingException e )
             {
                 throw new MojoExecutionException( "Failed to create assembly: " + e.getMessage(), e );
             }
diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiverTest.java b/src/test/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiverTest.java
index b404ab3..dbb6cf4 100644
--- a/src/test/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiverTest.java
+++ b/src/test/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiverTest.java
@@ -166,11 +166,7 @@
         {
             macMgr.archiver.createArchive();
         }
-        catch ( final ArchiverException e )
-        {
-            fail( "Should never happen" );
-        }
-        catch ( final IOException e )
+        catch ( final ArchiverException | IOException e )
         {
             fail( "Should never happen" );
         }