You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sl...@apache.org on 2019/05/04 09:56:03 UTC

[maven-doxia] 03/03: [DOXIA-591] Use Java 7 syntax

This is an automated email from the ASF dual-hosted git repository.

slachiewicz pushed a commit to branch DOXIA-591
in repository https://gitbox.apache.org/repos/asf/maven-doxia.git

commit b5216e18c540d5b3cb5d7973de29df5fa71c3734
Author: Sylwester Lachiewicz <sl...@apache.org>
AuthorDate: Fri May 3 23:45:13 2019 +0200

    [DOXIA-591] Use Java 7 syntax
    
    - use <>
    - collapse identical catch Exceptions
    - if to switch
---
 .../org/apache/maven/doxia/index/IndexEntry.java   |   4 +-
 .../org/apache/maven/doxia/index/IndexingSink.java |   2 +-
 .../org/apache/maven/doxia/macro/SwfMacro.java     | 149 ++++++++++-----------
 .../maven/doxia/macro/snippet/SnippetMacro.java    |   4 +-
 .../maven/doxia/macro/snippet/SnippetReader.java   |   2 +-
 .../maven/doxia/parser/AbstractXmlParser.java      |   4 +-
 .../maven/doxia/parser/Xhtml5BaseParser.java       |  42 +++---
 .../apache/maven/doxia/parser/XhtmlBaseParser.java |  40 +++---
 .../parser/module/DefaultParserModuleManager.java  |   2 +-
 .../maven/doxia/sink/impl/RandomAccessSink.java    |   4 +-
 .../doxia/sink/impl/SinkEventAttributeSet.java     |   8 +-
 .../maven/doxia/sink/impl/Xhtml5BaseSink.java      |  24 ++--
 .../maven/doxia/sink/impl/XhtmlBaseSink.java       |  22 +--
 .../org/apache/maven/doxia/util/HtmlTools.java     |   4 +-
 .../org/apache/maven/doxia/util/XmlValidator.java  |   6 +-
 .../apache/maven/doxia/macro/EchoMacroTest.java    |   2 +-
 .../org/apache/maven/doxia/macro/SsiMacroTest.java |   2 +-
 .../org/apache/maven/doxia/macro/SwfMacroTest.java |   4 +-
 .../doxia/macro/snippet/SnippetMacroTest.java      |   4 +-
 .../apache/maven/doxia/macro/toc/TocMacroTest.java |   4 +-
 .../doxia/sink/impl/SinkEventTestingSink.java      |   2 +-
 .../sink/impl/WellformednessCheckingSink.java      |   4 +-
 .../maven/doxia/xsd/AbstractXmlValidator.java      |   2 +-
 .../maven/doxia/xsd/AbstractXmlValidatorTest.java  |   4 +-
 .../apache/maven/doxia/module/apt/AptParser.java   |   6 +-
 .../org/apache/maven/doxia/module/apt/AptSink.java |   6 +-
 .../doxia/module/confluence/ConfluenceParser.java  |   2 +-
 .../doxia/module/confluence/ConfluenceSink.java    |   6 +-
 .../confluence/parser/ChildBlocksBuilder.java      |  10 +-
 .../confluence/parser/list/TreeComponent.java      |   2 +-
 .../confluence/parser/list/TreeListBuilder.java    |   4 +-
 .../confluence/parser/table/TableBlockParser.java  |  10 +-
 .../maven/doxia/module/docbook/DocBookParser.java  |  60 ++++-----
 .../maven/doxia/module/docbook/DocBookSink.java    |   8 +-
 .../apache/maven/doxia/module/fml/FmlParser.java   |   8 +-
 .../maven/doxia/module/fo/FoAggregateSink.java     |   4 +-
 .../maven/doxia/module/fo/FoConfiguration.java     |   7 +-
 .../org/apache/maven/doxia/module/fo/FoSink.java   |  26 ++--
 .../apache/maven/doxia/module/itext/ITextSink.java |   8 +-
 .../doxia/module/itext/SinkActionContext.java      |   2 +-
 .../apache/maven/doxia/module/latex/LatexSink.java |   4 +-
 .../module/markdown/FlexmarkDoxiaExtension.java    |   2 +-
 .../module/markdown/FlexmarkDoxiaLinkResolver.java |   2 +-
 .../module/markdown/FlexmarkDoxiaNodeRenderer.java |  34 +++--
 .../doxia/module/markdown/MarkdownParser.java      |   2 +-
 .../org/apache/maven/doxia/module/rtf/RtfSink.java |   4 +-
 .../maven/doxia/module/twiki/TWikiParser.java      |   2 +-
 .../apache/maven/doxia/module/twiki/TWikiSink.java |   8 +-
 .../module/twiki/parser/FormatedTextParser.java    |   4 +-
 .../twiki/parser/GenericListBlockParser.java       |   4 +-
 .../module/twiki/parser/ParagraphBlockParser.java  |   2 +-
 .../module/twiki/parser/SectionBlockParser.java    |   2 +-
 .../module/twiki/parser/TableBlockParser.java      |   4 +-
 .../doxia/module/twiki/parser/TextParser.java      |   2 +-
 .../module/twiki/parser/VerbatimBlockParser.java   |   2 +-
 .../apache/maven/doxia/module/xdoc/XdocParser.java |   4 +-
 .../maven/doxia/module/xhtml/XhtmlParser.java      |   2 +-
 .../maven/doxia/module/xhtml5/Xhtml5Parser.java    |   2 +-
 58 files changed, 291 insertions(+), 309 deletions(-)

diff --git a/doxia-core/src/main/java/org/apache/maven/doxia/index/IndexEntry.java b/doxia-core/src/main/java/org/apache/maven/doxia/index/IndexEntry.java
index 0f1d49e..6983f2c 100644
--- a/doxia-core/src/main/java/org/apache/maven/doxia/index/IndexEntry.java
+++ b/doxia-core/src/main/java/org/apache/maven/doxia/index/IndexEntry.java
@@ -51,7 +51,7 @@ public class IndexEntry
     /**
      * The child entries.
      */
-    private List<IndexEntry> childEntries = new ArrayList<IndexEntry>();
+    private List<IndexEntry> childEntries = new ArrayList<>();
 
     /**
      * System-dependent EOL.
@@ -155,7 +155,7 @@ public class IndexEntry
     {
         if ( entries == null )
         {
-            childEntries = new ArrayList<IndexEntry>();
+            childEntries = new ArrayList<>();
         }
 
         this.childEntries = entries;
diff --git a/doxia-core/src/main/java/org/apache/maven/doxia/index/IndexingSink.java b/doxia-core/src/main/java/org/apache/maven/doxia/index/IndexingSink.java
index 3dd3fb8..4a5ac2e 100644
--- a/doxia-core/src/main/java/org/apache/maven/doxia/index/IndexingSink.java
+++ b/doxia-core/src/main/java/org/apache/maven/doxia/index/IndexingSink.java
@@ -77,7 +77,7 @@ public class IndexingSink
      */
     public IndexingSink( IndexEntry sectionEntry )
     {
-        stack = new Stack<IndexEntry>();
+        stack = new Stack<>();
         stack.push( sectionEntry );
 
         init();
diff --git a/doxia-core/src/main/java/org/apache/maven/doxia/macro/SwfMacro.java b/doxia-core/src/main/java/org/apache/maven/doxia/macro/SwfMacro.java
index d03f75f..896f612 100644
--- a/doxia-core/src/main/java/org/apache/maven/doxia/macro/SwfMacro.java
+++ b/doxia-core/src/main/java/org/apache/maven/doxia/macro/SwfMacro.java
@@ -59,91 +59,86 @@ public class SwfMacro
                 continue;
             }
             String str = (String) parameterObject;
-            if ( key.equals( "src" ) )
+            switch ( key )
             {
-                if ( StringUtils.isNotEmpty( str ) )
-                {
-                    src = str;
-                }
-            }
-            else if ( key.equals( "id" ) )
-            {
-                if ( StringUtils.isNotEmpty( str ) )
-                {
-                    id = str;
-                }
-            }
-            else if ( key.equals( "width" ) )
-            {
-                if ( StringUtils.isNotEmpty( str ) )
-                {
-                    width = str;
-                }
-            }
-            else if ( key.equals( "height" ) )
-            {
-                if ( StringUtils.isNotEmpty( str ) )
-                {
-                    height = str;
-                }
-            }
-            else if ( key.equals( "quality" ) )
-            {
-                if ( StringUtils.isNotEmpty( str ) )
-                {
-                    quality = str;
-                }
-            }
-            else if ( key.equals( "menu" ) )
-            {
-                if ( StringUtils.isNotEmpty( str ) )
-                {
-                    menu = str;
-                }
-            }
-            else if ( key.equals( "loop" ) )
-            {
-                if ( StringUtils.isNotEmpty( str ) )
-                {
-                    loop = str;
-                }
-            }
-            else if ( key.equals( "play" ) )
-            {
-                if ( StringUtils.isNotEmpty( str ) )
-                {
-                    play = str;
-                }
-            }
-            else if ( key.equals( "version" ) )
-            {
-                // enable version shorthand
-                // TODO: put in other shorthand versions
-                if ( str.equals( "6" ) )
-                {
-                    version = "6,0,29,0";
-                }
-                else
-                {
-                    if ( str.equals( "9" ) )
+                case "src":
+                    if ( StringUtils.isNotEmpty( str ) )
+                    {
+                        src = str;
+                    }
+                    break;
+                case "id":
+                    if ( StringUtils.isNotEmpty( str ) )
+                    {
+                        id = str;
+                    }
+                    break;
+                case "width":
+                    if ( StringUtils.isNotEmpty( str ) )
+                    {
+                        width = str;
+                    }
+                    break;
+                case "height":
+                    if ( StringUtils.isNotEmpty( str ) )
+                    {
+                        height = str;
+                    }
+                    break;
+                case "quality":
+                    if ( StringUtils.isNotEmpty( str ) )
                     {
-                        version = "9,0,45,0";
+                        quality = str;
+                    }
+                    break;
+                case "menu":
+                    if ( StringUtils.isNotEmpty( str ) )
+                    {
+                        menu = str;
+                    }
+                    break;
+                case "loop":
+                    if ( StringUtils.isNotEmpty( str ) )
+                    {
+                        loop = str;
+                    }
+                    break;
+                case "play":
+                    if ( StringUtils.isNotEmpty( str ) )
+                    {
+                        play = str;
+                    }
+                    break;
+                case "version":
+                    // enable version shorthand
+                    // TODO: put in other shorthand versions
+                    if ( str.equals( "6" ) )
+                    {
+                        version = "6,0,29,0";
                     }
                     else
                     {
-                        if ( StringUtils.isNotEmpty( str ) )
+                        if ( str.equals( "9" ) )
+                        {
+                            version = "9,0,45,0";
+                        }
+                        else
                         {
-                            version = str;
+                            if ( StringUtils.isNotEmpty( str ) )
+                            {
+                                version = str;
+                            }
                         }
                     }
-                }
-            }
-            else if ( key.equals( "allowScript" ) )
-            {
-                if ( StringUtils.isNotEmpty( str ) )
-                {
-                    allowScript = str;
-                }
+                    break;
+                case "allowScript":
+                    if ( StringUtils.isNotEmpty( str ) )
+                    {
+                        allowScript = str;
+                    }
+                    break;
+                 default:
+                        // ignore all other
             }
         }
 
diff --git a/doxia-core/src/main/java/org/apache/maven/doxia/macro/snippet/SnippetMacro.java b/doxia-core/src/main/java/org/apache/maven/doxia/macro/snippet/SnippetMacro.java
index fb482bf..2166a3e 100644
--- a/doxia-core/src/main/java/org/apache/maven/doxia/macro/snippet/SnippetMacro.java
+++ b/doxia-core/src/main/java/org/apache/maven/doxia/macro/snippet/SnippetMacro.java
@@ -47,7 +47,7 @@ public class SnippetMacro
     /**
      * Holds the cache.
      */
-    private static Map<String, String> cache = new HashMap<String, String>();
+    private static Map<String, String> cache = new HashMap<>();
 
     private static final int HOUR = 60;
 
@@ -59,7 +59,7 @@ public class SnippetMacro
     /**
      * Holds the time cache.
      */
-    private static Map<String, Long> timeCached = new HashMap<String, Long>();
+    private static Map<String, Long> timeCached = new HashMap<>();
 
     /**
      * Debug.
diff --git a/doxia-core/src/main/java/org/apache/maven/doxia/macro/snippet/SnippetReader.java b/doxia-core/src/main/java/org/apache/maven/doxia/macro/snippet/SnippetReader.java
index 4ae468a..12d3e22 100644
--- a/doxia-core/src/main/java/org/apache/maven/doxia/macro/snippet/SnippetReader.java
+++ b/doxia-core/src/main/java/org/apache/maven/doxia/macro/snippet/SnippetReader.java
@@ -145,7 +145,7 @@ public class SnippetReader
             reader = new BufferedReader( new InputStreamReader( source.openStream(), encoding ) );
         }
 
-        List<String> lines = new ArrayList<String>();
+        List<String> lines = new ArrayList<>();
         try
         {
             boolean capture = false;
diff --git a/doxia-core/src/main/java/org/apache/maven/doxia/parser/AbstractXmlParser.java b/doxia-core/src/main/java/org/apache/maven/doxia/parser/AbstractXmlParser.java
index 23141c2..4ac4df5 100644
--- a/doxia-core/src/main/java/org/apache/maven/doxia/parser/AbstractXmlParser.java
+++ b/doxia-core/src/main/java/org/apache/maven/doxia/parser/AbstractXmlParser.java
@@ -565,7 +565,7 @@ public abstract class AbstractXmlParser
     {
         if ( entities == null )
         {
-            entities = new LinkedHashMap<String, String>();
+            entities = new LinkedHashMap<>();
         }
 
         return entities;
@@ -724,7 +724,7 @@ public abstract class AbstractXmlParser
         implements EntityResolver
     {
         /** Map with systemId as key and the content of systemId as byte[]. */
-        protected static final Map<String, byte[]> ENTITY_CACHE = new Hashtable<String, byte[]>();
+        protected static final Map<String, byte[]> ENTITY_CACHE = new Hashtable<>();
 
         /** {@inheritDoc} */
         public InputSource resolveEntity( String publicId, String systemId )
diff --git a/doxia-core/src/main/java/org/apache/maven/doxia/parser/Xhtml5BaseParser.java b/doxia-core/src/main/java/org/apache/maven/doxia/parser/Xhtml5BaseParser.java
index fb12426..58c45c8 100644
--- a/doxia-core/src/main/java/org/apache/maven/doxia/parser/Xhtml5BaseParser.java
+++ b/doxia-core/src/main/java/org/apache/maven/doxia/parser/Xhtml5BaseParser.java
@@ -70,7 +70,7 @@ public class Xhtml5BaseParser
     private boolean inVerbatim;
 
     /** Used to keep track of closing tags for content events */
-    private Stack<String> divStack = new Stack<String>();
+    private Stack<String> divStack = new Stack<>();
 
     /** Used to wrap the definedTerm with its definition, even when one is omitted */
     boolean hasDefinitionListItem = false;
@@ -1163,25 +1163,25 @@ public class Xhtml5BaseParser
 
         if ( style != null )
         {
-            if ( "list-style-type: upper-alpha".equals( style ) )
+            switch ( style )
             {
-                numbering = Sink.NUMBERING_UPPER_ALPHA;
-            }
-            else if ( "list-style-type: lower-alpha".equals( style ) )
-            {
-                numbering = Sink.NUMBERING_LOWER_ALPHA;
-            }
-            else if ( "list-style-type: upper-roman".equals( style ) )
-            {
-                numbering = Sink.NUMBERING_UPPER_ROMAN;
-            }
-            else if ( "list-style-type: lower-roman".equals( style ) )
-            {
-                numbering = Sink.NUMBERING_LOWER_ROMAN;
-            }
-            else if ( "list-style-type: decimal".equals( style ) )
-            {
-                numbering = Sink.NUMBERING_DECIMAL;
+                case "list-style-type: upper-alpha":
+                    numbering = Sink.NUMBERING_UPPER_ALPHA;
+                    break;
+                case "list-style-type: lower-alpha":
+                    numbering = Sink.NUMBERING_LOWER_ALPHA;
+                    break;
+                case "list-style-type: upper-roman":
+                    numbering = Sink.NUMBERING_UPPER_ROMAN;
+                    break;
+                case "list-style-type: lower-roman":
+                    numbering = Sink.NUMBERING_LOWER_ROMAN;
+                    break;
+                case "list-style-type: decimal":
+                    numbering = Sink.NUMBERING_DECIMAL;
+                    break;
+                default:
+                    // ignore all other
             }
         }
 
@@ -1275,13 +1275,13 @@ public class Xhtml5BaseParser
 
         if ( warnMessages == null )
         {
-            warnMessages = new HashMap<String, Set<String>>();
+            warnMessages = new HashMap<>();
         }
 
         Set<String> set = warnMessages.get( key );
         if ( set == null )
         {
-            set = new TreeSet<String>();
+            set = new TreeSet<>();
         }
         set.add( log );
         warnMessages.put( key, set );
diff --git a/doxia-core/src/main/java/org/apache/maven/doxia/parser/XhtmlBaseParser.java b/doxia-core/src/main/java/org/apache/maven/doxia/parser/XhtmlBaseParser.java
index 2e4ee88..4cfab7b 100644
--- a/doxia-core/src/main/java/org/apache/maven/doxia/parser/XhtmlBaseParser.java
+++ b/doxia-core/src/main/java/org/apache/maven/doxia/parser/XhtmlBaseParser.java
@@ -1172,25 +1172,25 @@ public class XhtmlBaseParser
 
         if ( style != null )
         {
-            if ( "list-style-type: upper-alpha".equals( style ) )
+            switch ( style )
             {
-                numbering = Sink.NUMBERING_UPPER_ALPHA;
-            }
-            else if ( "list-style-type: lower-alpha".equals( style ) )
-            {
-                numbering = Sink.NUMBERING_LOWER_ALPHA;
-            }
-            else if ( "list-style-type: upper-roman".equals( style ) )
-            {
-                numbering = Sink.NUMBERING_UPPER_ROMAN;
-            }
-            else if ( "list-style-type: lower-roman".equals( style ) )
-            {
-                numbering = Sink.NUMBERING_LOWER_ROMAN;
-            }
-            else if ( "list-style-type: decimal".equals( style ) )
-            {
-                numbering = Sink.NUMBERING_DECIMAL;
+                case "list-style-type: upper-alpha":
+                    numbering = Sink.NUMBERING_UPPER_ALPHA;
+                    break;
+                case "list-style-type: lower-alpha":
+                    numbering = Sink.NUMBERING_LOWER_ALPHA;
+                    break;
+                case "list-style-type: upper-roman":
+                    numbering = Sink.NUMBERING_UPPER_ROMAN;
+                    break;
+                case "list-style-type: lower-roman":
+                    numbering = Sink.NUMBERING_LOWER_ROMAN;
+                    break;
+                case "list-style-type: decimal":
+                    numbering = Sink.NUMBERING_DECIMAL;
+                    break;
+                default:
+                    // ignore all other
             }
         }
 
@@ -1275,13 +1275,13 @@ public class XhtmlBaseParser
 
         if ( warnMessages == null )
         {
-            warnMessages = new HashMap<String, Set<String>>();
+            warnMessages = new HashMap<>();
         }
 
         Set<String> set = warnMessages.get( key );
         if ( set == null )
         {
-            set = new TreeSet<String>();
+            set = new TreeSet<>();
         }
         set.add( log );
         warnMessages.put( key, set );
diff --git a/doxia-core/src/main/java/org/apache/maven/doxia/parser/module/DefaultParserModuleManager.java b/doxia-core/src/main/java/org/apache/maven/doxia/parser/module/DefaultParserModuleManager.java
index 8f0e179..7b88cb6 100644
--- a/doxia-core/src/main/java/org/apache/maven/doxia/parser/module/DefaultParserModuleManager.java
+++ b/doxia-core/src/main/java/org/apache/maven/doxia/parser/module/DefaultParserModuleManager.java
@@ -45,7 +45,7 @@ public class DefaultParserModuleManager
     {
         if ( parserModulesValues == null )
         {
-            Map<Class<?>, ParserModule> parserModulesTmp = new LinkedHashMap<Class<?>, ParserModule>();
+            Map<Class<?>, ParserModule> parserModulesTmp = new LinkedHashMap<>();
             for ( ParserModule module : parserModules.values() )
             {
                 parserModulesTmp.put( module.getClass(), module );
diff --git a/doxia-core/src/main/java/org/apache/maven/doxia/sink/impl/RandomAccessSink.java b/doxia-core/src/main/java/org/apache/maven/doxia/sink/impl/RandomAccessSink.java
index 4a873d4..62f6e07 100644
--- a/doxia-core/src/main/java/org/apache/maven/doxia/sink/impl/RandomAccessSink.java
+++ b/doxia-core/src/main/java/org/apache/maven/doxia/sink/impl/RandomAccessSink.java
@@ -52,9 +52,9 @@ public class RandomAccessSink
 
     private Sink coreSink;
 
-    private List<Sink> sinks = new ArrayList<Sink>();
+    private List<Sink> sinks = new ArrayList<>();
 
-    private List<ByteArrayOutputStream> outputStreams = new ArrayList<ByteArrayOutputStream>();
+    private List<ByteArrayOutputStream> outputStreams = new ArrayList<>();
 
     private Sink currentSink;
 
diff --git a/doxia-core/src/main/java/org/apache/maven/doxia/sink/impl/SinkEventAttributeSet.java b/doxia-core/src/main/java/org/apache/maven/doxia/sink/impl/SinkEventAttributeSet.java
index 9374dbd..bb7f230 100644
--- a/doxia-core/src/main/java/org/apache/maven/doxia/sink/impl/SinkEventAttributeSet.java
+++ b/doxia-core/src/main/java/org/apache/maven/doxia/sink/impl/SinkEventAttributeSet.java
@@ -130,7 +130,7 @@ public class SinkEventAttributeSet
      */
     public SinkEventAttributeSet( int size )
     {
-        attribs = new LinkedHashMap<String, Object>( size );
+        attribs = new LinkedHashMap<>( size );
     }
 
     /**
@@ -149,7 +149,7 @@ public class SinkEventAttributeSet
             throw new IllegalArgumentException( "Missing attribute!" );
         }
 
-        attribs = new LinkedHashMap<String, Object>( n / 2 );
+        attribs = new LinkedHashMap<>( n / 2 );
 
         for ( int i = 0; i < n; i += 2 )
         {
@@ -165,7 +165,7 @@ public class SinkEventAttributeSet
      */
     public SinkEventAttributeSet( AttributeSet attributes )
     {
-        attribs = new LinkedHashMap<String, Object>( attributes.getAttributeCount() );
+        attribs = new LinkedHashMap<>( attributes.getAttributeCount() );
 
         Enumeration<?> names = attributes.getAttributeNames();
 
@@ -362,7 +362,7 @@ public class SinkEventAttributeSet
     public Object clone()
     {
         SinkEventAttributeSet attr = new SinkEventAttributeSet( attribs.size() );
-        attr.attribs = new LinkedHashMap<String, Object>( attribs );
+        attr.attribs = new LinkedHashMap<>( attribs );
 
         if ( resolveParent != null )
         {
diff --git a/doxia-core/src/main/java/org/apache/maven/doxia/sink/impl/Xhtml5BaseSink.java b/doxia-core/src/main/java/org/apache/maven/doxia/sink/impl/Xhtml5BaseSink.java
index df9c5f2..bfa33f0 100644
--- a/doxia-core/src/main/java/org/apache/maven/doxia/sink/impl/Xhtml5BaseSink.java
+++ b/doxia-core/src/main/java/org/apache/maven/doxia/sink/impl/Xhtml5BaseSink.java
@@ -67,10 +67,10 @@ public class Xhtml5BaseSink
     private boolean headFlag;
 
     /** Keep track of the main and div tags for content events. */
-    protected Stack<Tag> contentStack = new Stack<Tag>();
+    protected Stack<Tag> contentStack = new Stack<>();
 
     /** Keep track of the closing tags for inline events. */
-    protected Stack<List<Tag>> inlineStack = new Stack<List<Tag>>();
+    protected Stack<List<Tag>> inlineStack = new Stack<>();
 
     /** An indication on if we're inside a paragraph flag. */
     private boolean paragraphFlag;
@@ -135,13 +135,13 @@ public class Xhtml5BaseSink
     {
         this.writer = new PrintWriter( out );
 
-        this.cellJustifStack = new LinkedList<int[]>();
-        this.isCellJustifStack = new LinkedList<Boolean>();
-        this.cellCountStack = new LinkedList<Integer>();
-        this.tableContentWriterStack = new LinkedList<StringWriter>();
-        this.tableCaptionWriterStack = new LinkedList<StringWriter>();
-        this.tableCaptionXMLWriterStack = new LinkedList<PrettyPrintXMLWriter>();
-        this.tableCaptionStack = new LinkedList<String>();
+        this.cellJustifStack = new LinkedList<>();
+        this.isCellJustifStack = new LinkedList<>();
+        this.cellCountStack = new LinkedList<>();
+        this.tableContentWriterStack = new LinkedList<>();
+        this.tableCaptionWriterStack = new LinkedList<>();
+        this.tableCaptionXMLWriterStack = new LinkedList<>();
+        this.tableCaptionStack = new LinkedList<>();
 
         init();
     }
@@ -1976,7 +1976,7 @@ public class Xhtml5BaseSink
     {
         if ( !headFlag )
         {
-            List<Tag> tags = new ArrayList<Tag>();
+            List<Tag> tags = new ArrayList<>();
 
             if ( attributes != null )
             {
@@ -2512,13 +2512,13 @@ public class Xhtml5BaseSink
 
         if ( warnMessages == null )
         {
-            warnMessages = new HashMap<String, Set<String>>();
+            warnMessages = new HashMap<>();
         }
 
         Set<String> set = warnMessages.get( key );
         if ( set == null )
         {
-            set = new TreeSet<String>();
+            set = new TreeSet<>();
         }
         set.add( mesg );
         warnMessages.put( key, set );
diff --git a/doxia-core/src/main/java/org/apache/maven/doxia/sink/impl/XhtmlBaseSink.java b/doxia-core/src/main/java/org/apache/maven/doxia/sink/impl/XhtmlBaseSink.java
index 25de329..eea03a0 100644
--- a/doxia-core/src/main/java/org/apache/maven/doxia/sink/impl/XhtmlBaseSink.java
+++ b/doxia-core/src/main/java/org/apache/maven/doxia/sink/impl/XhtmlBaseSink.java
@@ -129,7 +129,7 @@ public class XhtmlBaseSink
     protected boolean tableRows = false;
 
     /** Keep track of the closing tags for inline events. */
-    protected Stack<List<Tag>> inlineStack = new Stack<List<Tag>>();
+    protected Stack<List<Tag>> inlineStack = new Stack<>();
 
     /** Map of warn messages with a String as key to describe the error type and a Set as value.
      * Using to reduce warn messages. */
@@ -148,13 +148,13 @@ public class XhtmlBaseSink
     {
         this.writer = new PrintWriter( out );
 
-        this.cellJustifStack = new LinkedList<int[]>();
-        this.isCellJustifStack = new LinkedList<Boolean>();
-        this.cellCountStack = new LinkedList<Integer>();
-        this.tableContentWriterStack = new LinkedList<StringWriter>();
-        this.tableCaptionWriterStack = new LinkedList<StringWriter>();
-        this.tableCaptionXMLWriterStack = new LinkedList<PrettyPrintXMLWriter>();
-        this.tableCaptionStack = new LinkedList<String>();
+        this.cellJustifStack = new LinkedList<>();
+        this.isCellJustifStack = new LinkedList<>();
+        this.cellCountStack = new LinkedList<>();
+        this.tableContentWriterStack = new LinkedList<>();
+        this.tableCaptionWriterStack = new LinkedList<>();
+        this.tableCaptionXMLWriterStack = new LinkedList<>();
+        this.tableCaptionStack = new LinkedList<>();
 
         init();
     }
@@ -1794,7 +1794,7 @@ public class XhtmlBaseSink
     {
         if ( !headFlag )
         {
-            List<Tag> tags = new ArrayList<Tag>();
+            List<Tag> tags = new ArrayList<>();
 
             if ( attributes != null )
             {
@@ -2297,13 +2297,13 @@ public class XhtmlBaseSink
 
         if ( warnMessages == null )
         {
-            warnMessages = new HashMap<String, Set<String>>();
+            warnMessages = new HashMap<>();
         }
 
         Set<String> set = warnMessages.get( key );
         if ( set == null )
         {
-            set = new TreeSet<String>();
+            set = new TreeSet<>();
         }
         set.add( mesg );
         warnMessages.put( key, set );
diff --git a/doxia-core/src/main/java/org/apache/maven/doxia/util/HtmlTools.java b/doxia-core/src/main/java/org/apache/maven/doxia/util/HtmlTools.java
index 81a2d88..ef818b4 100644
--- a/doxia-core/src/main/java/org/apache/maven/doxia/util/HtmlTools.java
+++ b/doxia-core/src/main/java/org/apache/maven/doxia/util/HtmlTools.java
@@ -62,7 +62,7 @@ public class HtmlTools
         HtmlMarkup.TR, HtmlMarkup.TT, HtmlMarkup.U, HtmlMarkup.UL, HtmlMarkup.VAR
     };
 
-    private static final Map<String, Tag> TAG_MAP = new HashMap<String, Tag>( ALL_TAGS.length );
+    private static final Map<String, Tag> TAG_MAP = new HashMap<>( ALL_TAGS.length );
 
     private static final int ASCII = 0x7E;
 
@@ -254,7 +254,7 @@ public class HtmlTools
         }
 
         String tmp = unescaped;
-        List<String> entities = new ArrayList<String>();
+        List<String> entities = new ArrayList<>();
         while ( true )
         {
             int i = tmp.indexOf( "&#x" );
diff --git a/doxia-core/src/main/java/org/apache/maven/doxia/util/XmlValidator.java b/doxia-core/src/main/java/org/apache/maven/doxia/util/XmlValidator.java
index 2595b49..3a870de 100644
--- a/doxia-core/src/main/java/org/apache/maven/doxia/util/XmlValidator.java
+++ b/doxia-core/src/main/java/org/apache/maven/doxia/util/XmlValidator.java
@@ -107,11 +107,7 @@ public class XmlValidator
             getLog().debug( "Validating the content..." );
             getXmlReader( hasXsd && hasDoctype ).parse( new InputSource( new StringReader( content ) ) );
         }
-        catch ( IOException e )
-        {
-            throw new ParseException( "Error validating the model: " + e.getMessage(), e );
-        }
-        catch ( SAXException e )
+        catch ( IOException | SAXException e )
         {
             throw new ParseException( "Error validating the model: " + e.getMessage(), e );
         }
diff --git a/doxia-core/src/test/java/org/apache/maven/doxia/macro/EchoMacroTest.java b/doxia-core/src/test/java/org/apache/maven/doxia/macro/EchoMacroTest.java
index 33b5f3f..0825af5 100644
--- a/doxia-core/src/test/java/org/apache/maven/doxia/macro/EchoMacroTest.java
+++ b/doxia-core/src/test/java/org/apache/maven/doxia/macro/EchoMacroTest.java
@@ -44,7 +44,7 @@ public class EchoMacroTest
      */
     public void testExecute()
     {
-        final Map<String,Object> macroParameters = new HashMap<String,Object>();
+        final Map<String,Object> macroParameters = new HashMap<>();
         macroParameters.put( "paramName", "paramValue" );
         macroParameters.put( "parser", "parserValue" );
         macroParameters.put( "sourceContent", "sourceContentValue" );
diff --git a/doxia-core/src/test/java/org/apache/maven/doxia/macro/SsiMacroTest.java b/doxia-core/src/test/java/org/apache/maven/doxia/macro/SsiMacroTest.java
index e30bf92..b5c157e 100644
--- a/doxia-core/src/test/java/org/apache/maven/doxia/macro/SsiMacroTest.java
+++ b/doxia-core/src/test/java/org/apache/maven/doxia/macro/SsiMacroTest.java
@@ -44,7 +44,7 @@ public class SsiMacroTest
         throws MacroExecutionException
     {
 
-        Map<String, Object> macroParameters = new HashMap<String, Object>();
+        Map<String, Object> macroParameters = new HashMap<>();
         macroParameters.put( "function", "include" );
         macroParameters.put( "file", "include-file.html" );
 
diff --git a/doxia-core/src/test/java/org/apache/maven/doxia/macro/SwfMacroTest.java b/doxia-core/src/test/java/org/apache/maven/doxia/macro/SwfMacroTest.java
index 8e56627..2580cec 100644
--- a/doxia-core/src/test/java/org/apache/maven/doxia/macro/SwfMacroTest.java
+++ b/doxia-core/src/test/java/org/apache/maven/doxia/macro/SwfMacroTest.java
@@ -48,7 +48,7 @@ public class SwfMacroTest
             throws MacroExecutionException
     {
 
-        Map<String, Object> macroParameters = new HashMap<String, Object>();
+        Map<String, Object> macroParameters = new HashMap<>();
         macroParameters.put( "src", "src.swf" );
         macroParameters.put( "id", "Movie" );
         macroParameters.put( "width", "50" );
@@ -115,7 +115,7 @@ public class SwfMacroTest
             throws MacroExecutionException
     {
 
-        Map<String, Object> macroParameters = new HashMap<String, Object>();
+        Map<String, Object> macroParameters = new HashMap<>();
         macroParameters.put( "src", "src.swf" );
         macroParameters.put( "id", "Movie" );
         macroParameters.put( "width", "50" );
diff --git a/doxia-core/src/test/java/org/apache/maven/doxia/macro/snippet/SnippetMacroTest.java b/doxia-core/src/test/java/org/apache/maven/doxia/macro/snippet/SnippetMacroTest.java
index b89d81d..b4cb0c2 100644
--- a/doxia-core/src/test/java/org/apache/maven/doxia/macro/snippet/SnippetMacroTest.java
+++ b/doxia-core/src/test/java/org/apache/maven/doxia/macro/snippet/SnippetMacroTest.java
@@ -48,7 +48,7 @@ public class SnippetMacroTest
     public void testExecute()
         throws MacroExecutionException
     {
-        Map<String, Object> macroParameters = new HashMap<String, Object>();
+        Map<String, Object> macroParameters = new HashMap<>();
         macroParameters.put( "file", "src/test/resources/macro/snippet/testSnippet.txt" );
         macroParameters.put( "encoding", "UTF-8" );
 
@@ -140,7 +140,7 @@ public class SnippetMacroTest
     public void testIgnoreDownloadError()
         throws Exception
     {
-        Map<String, Object> macroParameters = new HashMap<String, Object>();
+        Map<String, Object> macroParameters = new HashMap<>();
         macroParameters.put( "debug", "true" );
         macroParameters.put( "ignoreDownloadError", "true" );
         macroParameters.put( "url", "http://foo.bar.com/wine.txt" );
diff --git a/doxia-core/src/test/java/org/apache/maven/doxia/macro/toc/TocMacroTest.java b/doxia-core/src/test/java/org/apache/maven/doxia/macro/toc/TocMacroTest.java
index 6c8140b..3a59a66 100644
--- a/doxia-core/src/test/java/org/apache/maven/doxia/macro/toc/TocMacroTest.java
+++ b/doxia-core/src/test/java/org/apache/maven/doxia/macro/toc/TocMacroTest.java
@@ -58,7 +58,7 @@ public class TocMacroTest
         XhtmlBaseParser parser = new XhtmlBaseParser();
         parser.setSecondParsing( true );
 
-        Map<String, Object> macroParameters = new HashMap<String, Object>();
+        Map<String, Object> macroParameters = new HashMap<>();
         macroParameters.put( "parser", parser );
         macroParameters.put( "sourceContent", sourceContent );
         macroParameters.put( "section", "sec1" );
@@ -159,7 +159,7 @@ public class TocMacroTest
         XhtmlBaseParser parser = new XhtmlBaseParser();
         parser.setSecondParsing( true );
 
-        Map<String, Object> macroParameters = new HashMap<String, Object>();
+        Map<String, Object> macroParameters = new HashMap<>();
         macroParameters.put( "parser", parser );
         macroParameters.put( "sourceContent", sourceContent );
         macroParameters.put( "section", "sec1" );
diff --git a/doxia-core/src/test/java/org/apache/maven/doxia/sink/impl/SinkEventTestingSink.java b/doxia-core/src/test/java/org/apache/maven/doxia/sink/impl/SinkEventTestingSink.java
index 4618be0..851ab3e 100644
--- a/doxia-core/src/test/java/org/apache/maven/doxia/sink/impl/SinkEventTestingSink.java
+++ b/doxia-core/src/test/java/org/apache/maven/doxia/sink/impl/SinkEventTestingSink.java
@@ -37,7 +37,7 @@ public class SinkEventTestingSink
     extends AbstractSink
 {
     /** The list of sink events. */
-    private final List<SinkEventElement> events = new LinkedList<SinkEventElement>();
+    private final List<SinkEventElement> events = new LinkedList<>();
 
     /**
      * Return the collected list of SinkEventElements.
diff --git a/doxia-core/src/test/java/org/apache/maven/doxia/sink/impl/WellformednessCheckingSink.java b/doxia-core/src/test/java/org/apache/maven/doxia/sink/impl/WellformednessCheckingSink.java
index 01ddaef..2ad1a5a 100644
--- a/doxia-core/src/test/java/org/apache/maven/doxia/sink/impl/WellformednessCheckingSink.java
+++ b/doxia-core/src/test/java/org/apache/maven/doxia/sink/impl/WellformednessCheckingSink.java
@@ -37,9 +37,9 @@ import org.apache.maven.doxia.sink.impl.AbstractSink;
 public class WellformednessCheckingSink
     extends AbstractSink
 {
-    private final Stack<String> elements = new Stack<String>();
+    private final Stack<String> elements = new Stack<>();
 
-    private final List<String> errors = new LinkedList<String>();
+    private final List<String> errors = new LinkedList<>();
 
     @Override
     public void head()
diff --git a/doxia-core/src/test/java/org/apache/maven/doxia/xsd/AbstractXmlValidator.java b/doxia-core/src/test/java/org/apache/maven/doxia/xsd/AbstractXmlValidator.java
index 4a66cb2..0388105 100644
--- a/doxia-core/src/test/java/org/apache/maven/doxia/xsd/AbstractXmlValidator.java
+++ b/doxia-core/src/test/java/org/apache/maven/doxia/xsd/AbstractXmlValidator.java
@@ -395,7 +395,7 @@ public abstract class AbstractXmlValidator
 
         MessagesErrorHandler()
         {
-            messages = new ArrayList<ErrorMessage>( 8 );
+            messages = new ArrayList<>( 8 );
         }
 
         /** {@inheritDoc} */
diff --git a/doxia-core/src/test/java/org/apache/maven/doxia/xsd/AbstractXmlValidatorTest.java b/doxia-core/src/test/java/org/apache/maven/doxia/xsd/AbstractXmlValidatorTest.java
index a8207d6..46b2250 100644
--- a/doxia-core/src/test/java/org/apache/maven/doxia/xsd/AbstractXmlValidatorTest.java
+++ b/doxia-core/src/test/java/org/apache/maven/doxia/xsd/AbstractXmlValidatorTest.java
@@ -57,7 +57,7 @@ public abstract class AbstractXmlValidatorTest
 {
 
     /** Simple cache mechanism to load test documents. */
-    private static final Map<String,String> CACHE_DOXIA_TEST_DOCUMENTS = new Hashtable<String,String>();
+    private static final Map<String,String> CACHE_DOXIA_TEST_DOCUMENTS = new Hashtable<>();
 
     /** Maven resource in the doxia-test-docs-XXX.jar */
     private static final String MAVEN_RESOURCE_PATH = "META-INF/maven/org.apache.maven.doxia/doxia-test-docs/";
@@ -87,7 +87,7 @@ public abstract class AbstractXmlValidatorTest
         }
 
         Map<String,String> testDocs = getAllTestDocuments();
-        Map<String,String> ret = new Hashtable<String,String>();
+        Map<String,String> ret = new Hashtable<>();
         ret.putAll( testDocs );
         for ( String key : testDocs.keySet() )
         {
diff --git a/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptParser.java b/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptParser.java
index 08bd6f4..c1397d3 100644
--- a/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptParser.java
+++ b/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptParser.java
@@ -1622,13 +1622,13 @@ public class AptParser
 
         if ( warnMessages == null )
         {
-            warnMessages = new HashMap<String, Set<String>>();
+            warnMessages = new HashMap<>();
         }
 
         Set<String> set = warnMessages.get( key );
         if ( set == null )
         {
-            set = new TreeSet<String>();
+            set = new TreeSet<>();
         }
         set.add( msg );
         warnMessages.put( key, set );
@@ -2906,7 +2906,7 @@ public class AptParser
 
             String macroId = params[0];
 
-            Map<String, Object> parameters = new HashMap<String, Object>();
+            Map<String, Object> parameters = new HashMap<>();
 
             for ( int i = 1; i < params.length; i++ )
             {
diff --git a/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptSink.java b/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptSink.java
index b232c4e..017c5fd 100644
--- a/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptSink.java
+++ b/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptSink.java
@@ -108,7 +108,7 @@ public class AptSink
     private final Stack<String> listStyles;
 
     /** Keep track of the closing tags for inline events. */
-    protected Stack<List<String>> inlineStack = new Stack<List<String>>();
+    protected Stack<List<String>> inlineStack = new Stack<>();
 
     // ----------------------------------------------------------------------
     // Public protected methods
@@ -123,7 +123,7 @@ public class AptSink
     protected AptSink( Writer writer )
     {
         this.writer = new PrintWriter( writer );
-        this.listStyles = new Stack<String>();
+        this.listStyles = new Stack<>();
 
         init();
     }
@@ -827,7 +827,7 @@ public class AptSink
     {
         if ( !headerFlag )
         {
-            List<String> tags = new ArrayList<String>();
+            List<String> tags = new ArrayList<>();
 
             if ( attributes != null )
             {
diff --git a/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceParser.java b/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceParser.java
index da3d868..f63acd0 100644
--- a/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceParser.java
+++ b/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceParser.java
@@ -68,7 +68,7 @@ public class ConfluenceParser
     {
         init();
 
-        List<Block> blocks = new ArrayList<Block>();
+        List<Block> blocks = new ArrayList<>();
 
         String line;
 
diff --git a/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceSink.java b/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceSink.java
index 4aa968a..0f9e657 100644
--- a/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceSink.java
+++ b/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceSink.java
@@ -65,7 +65,7 @@ public class ConfluenceSink
     private boolean monospacedFlag;
 
     /** Keep track of the closing tags for inline events. */
-    protected Stack<List<String>> inlineStack = new Stack<List<String>>();
+    protected Stack<List<String>> inlineStack = new Stack<>();
 
     /** An indication on if we're in verbatim box mode. */
     private boolean verbatimBoxedFlag;
@@ -88,7 +88,7 @@ public class ConfluenceSink
     protected ConfluenceSink( Writer writer )
     {
         this.out = new PrintWriter( writer );
-        this.listStyles = new Stack<String>();
+        this.listStyles = new Stack<>();
 
         init();
     }
@@ -433,7 +433,7 @@ public class ConfluenceSink
     {
         if ( !headFlag )
         {
-            List<String> tags = new ArrayList<String>();
+            List<String> tags = new ArrayList<>();
 
             if ( attributes != null )
             {
diff --git a/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/ChildBlocksBuilder.java b/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/ChildBlocksBuilder.java
index 738d279..dfaef5f 100644
--- a/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/ChildBlocksBuilder.java
+++ b/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/ChildBlocksBuilder.java
@@ -49,7 +49,7 @@ public class ChildBlocksBuilder
 
     private boolean insideSup = false;
 
-    private List<Block> blocks = new ArrayList<Block>();
+    private List<Block> blocks = new ArrayList<>();
 
     private StringBuilder text = new StringBuilder();
 
@@ -74,7 +74,7 @@ public class ChildBlocksBuilder
      */
     public List<Block> getBlocks()
     {
-        List<Block> specialBlocks = new ArrayList<Block>();
+        List<Block> specialBlocks = new ArrayList<>();
 
         for ( int i = 0; i < input.length(); i++ )
         {
@@ -382,7 +382,7 @@ public class ChildBlocksBuilder
 
     private List<Block> getList( Block block, List<Block> currentBlocks )
     {
-        List<Block> list = new ArrayList<Block>();
+        List<Block> list = new ArrayList<>();
 
         if ( insideBold || insideItalic || insideMonospaced )
         {
@@ -400,10 +400,10 @@ public class ChildBlocksBuilder
 
         if ( currentBlocks.isEmpty() && StringUtils.isEmpty( txt ) )
         {
-            return new ArrayList<Block>();
+            return new ArrayList<>();
         }
 
-        ArrayList<Block> list = new ArrayList<Block>();
+        ArrayList<Block> list = new ArrayList<>();
 
         if ( !insideBold && !insideItalic && !insideMonospaced )
         {
diff --git a/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/list/TreeComponent.java b/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/list/TreeComponent.java
index 52cf20d..1b3297a 100644
--- a/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/list/TreeComponent.java
+++ b/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/list/TreeComponent.java
@@ -30,7 +30,7 @@ class TreeComponent
 {
     private static final String EOL = System.getProperty( "line.separator" );
 
-    private List<TreeComponent> children = new ArrayList<TreeComponent>();
+    private List<TreeComponent> children = new ArrayList<>();
 
     private String text;
 
diff --git a/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/list/TreeListBuilder.java b/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/list/TreeListBuilder.java
index 74695e7..c775f1a 100644
--- a/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/list/TreeListBuilder.java
+++ b/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/list/TreeListBuilder.java
@@ -110,11 +110,11 @@ public class TreeListBuilder
 
     private List<Block> getListItems( TreeComponent tc )
     {
-        List<Block> blocks = new ArrayList<Block>();
+        List<Block> blocks = new ArrayList<>();
 
         for ( TreeComponent child : tc.getChildren() )
         {
-            List<Block> childBlocks = new ArrayList<Block>();
+            List<Block> childBlocks = new ArrayList<>();
 
             if ( child.getFather() != null )
             {
diff --git a/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/table/TableBlockParser.java b/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/table/TableBlockParser.java
index a34222e..08202fe 100644
--- a/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/table/TableBlockParser.java
+++ b/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/table/TableBlockParser.java
@@ -85,7 +85,7 @@ public class TableBlockParser
             throw new IllegalAccessError( "call accept before this ;)" );
         }
 
-        List<Block> rows = new ArrayList<Block>();
+        List<Block> rows = new ArrayList<>();
 
         String l = line;
 
@@ -93,7 +93,7 @@ public class TableBlockParser
         {
             l = l.substring( 0, l.lastIndexOf( "|" ) );
 
-            List<Block> cells = new ArrayList<Block>();
+            List<Block> cells = new ArrayList<>();
 
             if ( l.startsWith( "||" ) )
             {
@@ -105,7 +105,7 @@ public class TableBlockParser
 
                     textBlocks.add( parseLine( s, new ByLineReaderSource( new StringReader( EMPTY_STRING ) ) ) );
 
-                    List<Block> blocks = new ArrayList<Block>();
+                    List<Block> blocks = new ArrayList<>();
 
                     blocks.add( new BoldBlock( textBlocks ) );
 
@@ -116,7 +116,7 @@ public class TableBlockParser
             {
                 int it = 0;
                 String[] text = StringUtils.split( l, "|" );
-                List<String> texts = new LinkedList<String>();
+                List<String> texts = new LinkedList<>();
 
                 while ( it < text.length )
                 {
@@ -135,7 +135,7 @@ public class TableBlockParser
 
                 for ( String pText : texts )
                 {
-                    List<Block> blocks = new ArrayList<Block>();
+                    List<Block> blocks = new ArrayList<>();
 
                     blocks.add( parseLine( pText, new ByLineReaderSource( new StringReader( EMPTY_STRING ) ) ) );
 
diff --git a/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookParser.java b/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookParser.java
index 1043c23..5267118 100644
--- a/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookParser.java
+++ b/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookParser.java
@@ -68,50 +68,50 @@ public class DocBookParser
     /**
      * A selective stack of parent elements
      */
-    private final Stack<String> parent = new Stack<String>();
+    private final Stack<String> parent = new Stack<>();
 
     /**
      * The list of DocBook elements that introduce a new level of hierarchy.
      */
-    private static final Collection<String> HIER_ELEMENTS = new HashSet<String>();
+    private static final Collection<String> HIER_ELEMENTS = new HashSet<>();
 
     /**
      * Simplified DocBook elements that are direct children of &lt;article&gt;
      * and that should be emitted into the Sink's head.
      */
-    private static final Collection<String> META_ELEMENTS = new HashSet<String>();
+    private static final Collection<String> META_ELEMENTS = new HashSet<>();
 
     /**
      * Simplified DocBook elements that occur within &lt;articleinfo&gt;
      * and that are currently recognized by the parser.
      */
-    private static final Collection<String> ARTICLEINFO_ELEMENTS = new HashSet<String>();
+    private static final Collection<String> ARTICLEINFO_ELEMENTS = new HashSet<>();
 
     /**
      * The list of DocBook elements that will be rendered verbatim
      */
-    private static final Collection<String> VERBATIM_ELEMENTS = new HashSet<String>();
+    private static final Collection<String> VERBATIM_ELEMENTS = new HashSet<>();
 
     /**
      * The list of DocBook elements that will be rendered inline and bold
      */
-    private static final Collection<String> BOLD_ELEMENTS = new HashSet<String>();
+    private static final Collection<String> BOLD_ELEMENTS = new HashSet<>();
 
     /**
      * The list of DocBook elements that will be rendered inline and italic
      */
-    private static final Collection<String> ITALIC_ELEMENTS = new HashSet<String>();
+    private static final Collection<String> ITALIC_ELEMENTS = new HashSet<>();
 
     /**
      * The list of DocBook elements that will be rendered inline and monospace
      */
-    private static final Collection<String> MONOSPACE_ELEMENTS = new HashSet<String>();
+    private static final Collection<String> MONOSPACE_ELEMENTS = new HashSet<>();
 
     /**
      * The list of DocBook elements that may be ignored, either because they don't
      * require any special processing or because they are not yet implemented.
      */
-    private static final Collection<String> IGNORABLE_ELEMENTS = new HashSet<String>();
+    private static final Collection<String> IGNORABLE_ELEMENTS = new HashSet<>();
     static
     {
         META_ELEMENTS.add( SimplifiedDocbookMarkup.ARTICLEINFO_TAG.toString() );
@@ -495,28 +495,26 @@ public class DocBookParser
     {
         final String text = parser.getText();
 
-        if ( "PB".equals( text.trim() ) )
-        {
-            sink.pageBreak();
-        }
-        else if ( "HR".equals( text.trim() ) )
-        {
-            sink.horizontalRule();
-        }
-        else if ( "LB".equals( text.trim() ) )
-        {
-            sink.lineBreak();
-        }
-        else if ( "anchor_end".equals( text.trim() ) )
-        {
-            sink.anchor_();
-        }
-        else
-        {
-            if ( isEmitComments() )
-            {
-                sink.comment( text );
-            }
+        switch ( text.trim() )
+        {
+            case "PB":
+                sink.pageBreak();
+                break;
+            case "HR":
+                sink.horizontalRule();
+                break;
+            case "LB":
+                sink.lineBreak();
+                break;
+            case "anchor_end":
+                sink.anchor_();
+                break;
+            default:
+                if ( isEmitComments() )
+                {
+                    sink.comment( text );
+                }
+                break;
         }
     }
 
diff --git a/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookSink.java b/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookSink.java
index 9cb996d..683cf8f 100644
--- a/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookSink.java
+++ b/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookSink.java
@@ -154,7 +154,7 @@ public class DocBookSink
     private String encoding;
 
     /** Keep track of the closing tags for inline events. */
-    protected Stack<List<String>> inlineStack = new Stack<List<String>>();
+    protected Stack<List<String>> inlineStack = new Stack<>();
 
     /** Map of warn messages with a String as key to describe the error type and a Set as value.
      * Using to reduce warn messages. */
@@ -1544,7 +1544,7 @@ public class DocBookSink
     /** {@inheritDoc} */
     public void inline( SinkEventAttributes attributes )
     {
-        List<String> tags = new ArrayList<String>();
+        List<String> tags = new ArrayList<>();
 
         if ( attributes != null )
         {
@@ -1797,13 +1797,13 @@ public class DocBookSink
 
         if ( warnMessages == null )
         {
-            warnMessages = new HashMap<String, Set<String>>();
+            warnMessages = new HashMap<>();
         }
 
         Set<String> set = warnMessages.get( key );
         if ( set == null )
         {
-            set = new TreeSet<String>();
+            set = new TreeSet<>();
         }
         set.add( msg );
         warnMessages.put( key, set );
diff --git a/doxia-modules/doxia-module-fml/src/main/java/org/apache/maven/doxia/module/fml/FmlParser.java b/doxia-modules/doxia-module-fml/src/main/java/org/apache/maven/doxia/module/fml/FmlParser.java
index c2a296e..51d83a4 100644
--- a/doxia-modules/doxia-module-fml/src/main/java/org/apache/maven/doxia/module/fml/FmlParser.java
+++ b/doxia-modules/doxia-module-fml/src/main/java/org/apache/maven/doxia/module/fml/FmlParser.java
@@ -87,7 +87,7 @@ public class FmlParser
     private String macroName;
 
     /** The macro parameters. */
-    private Map<String, Object> macroParameters = new HashMap<String, Object>();
+    private Map<String, Object> macroParameters = new HashMap<>();
 
     /** {@inheritDoc} */
     public void parse( Reader source, Sink sink )
@@ -463,7 +463,7 @@ public class FmlParser
 
             if ( macroParameters == null )
             {
-                macroParameters = new HashMap<String, Object>();
+                macroParameters = new HashMap<>();
             }
 
             if ( StringUtils.isEmpty( macroName ) )
@@ -719,13 +719,13 @@ public class FmlParser
 
         if ( warnMessages == null )
         {
-            warnMessages = new HashMap<String, Set<String>>();
+            warnMessages = new HashMap<>();
         }
 
         Set<String> set = warnMessages.get( key );
         if ( set == null )
         {
-            set = new TreeSet<String>();
+            set = new TreeSet<>();
         }
         set.add( msg );
         warnMessages.put( key, set );
diff --git a/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoAggregateSink.java b/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoAggregateSink.java
index 6c7fe94..f393288 100644
--- a/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoAggregateSink.java
+++ b/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoAggregateSink.java
@@ -124,7 +124,7 @@ public class FoAggregateSink
     /**
      * Used to get the current position in the TOC.
      */
-    private final Stack<NumberedListItem> tocStack = new Stack<NumberedListItem>();
+    private final Stack<NumberedListItem> tocStack = new Stack<>();
 
     /**
      * Constructor.
@@ -346,7 +346,7 @@ public class FoAggregateSink
             DocumentTOCItem tocItem = new DocumentTOCItem();
             tocItem.setName( this.docModel.getToc().getName() );
             tocItem.setRef( "./toc" );
-            List<DocumentTOCItem> items = new LinkedList<DocumentTOCItem>();
+            List<DocumentTOCItem> items = new LinkedList<>();
             if ( this.tocPosition == TOC_START )
             {
                 items.add( tocItem );
diff --git a/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoConfiguration.java b/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoConfiguration.java
index 93ddd50..c05d6aa 100644
--- a/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoConfiguration.java
+++ b/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoConfiguration.java
@@ -189,16 +189,11 @@ public class FoConfiguration
         {
             config.load( ReaderFactory.newXmlReader( getClass().getResourceAsStream( "/fo-styles.xslt" ) ) );
         }
-        catch ( ConfigurationException cex )
+        catch ( ConfigurationException | IOException cex )
         {
             // this should not happen
             throw new RuntimeException( cex );
         }
-        catch ( IOException e )
-        {
-            // this should not happen
-            throw new RuntimeException( e );
-        }
 
         this.sets = config.getList( "xsl:attribute-set[@name]" );
         reset();
diff --git a/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoSink.java b/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoSink.java
index a9421b6..289bf86 100644
--- a/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoSink.java
+++ b/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoSink.java
@@ -116,7 +116,7 @@ public class FoSink
     private final LinkedList<String> tableCaptionStack;
 
     /** Keep track of the closing tags for inline events. */
-    protected Stack<List<Tag>> inlineStack = new Stack<List<Tag>>();
+    protected Stack<List<Tag>> inlineStack = new Stack<>();
 
     /** Map of warn messages with a String as key to describe the error type and a Set as value.
      * Using to reduce warn messages. */
@@ -167,15 +167,15 @@ public class FoSink
         this.languageId = languageId;
         this.config = new FoConfiguration();
 
-        this.listStack = new Stack<NumberedListItem>();
-        this.tableGridStack = new LinkedList<Boolean>();
-        this.cellJustifStack = new LinkedList<int[]>();
-        this.isCellJustifStack = new LinkedList<Boolean>();
-        this.cellCountStack = new LinkedList<Integer>();
-        this.tableContentWriterStack = new LinkedList<StringWriter>();
-        this.tableCaptionWriterStack = new LinkedList<StringWriter>();
-        this.tableCaptionXMLWriterStack = new LinkedList<PrettyPrintXMLWriter>();
-        this.tableCaptionStack = new LinkedList<String>();
+        this.listStack = new Stack<>();
+        this.tableGridStack = new LinkedList<>();
+        this.cellJustifStack = new LinkedList<>();
+        this.isCellJustifStack = new LinkedList<>();
+        this.cellCountStack = new LinkedList<>();
+        this.tableContentWriterStack = new LinkedList<>();
+        this.tableCaptionWriterStack = new LinkedList<>();
+        this.tableCaptionXMLWriterStack = new LinkedList<>();
+        this.tableCaptionStack = new LinkedList<>();
 
         setNameSpace( "fo" );
     }
@@ -1266,7 +1266,7 @@ public class FoSink
     /** {@inheritDoc} */
     public void inline( SinkEventAttributes attributes )
     {
-        List<Tag> tags = new ArrayList<Tag>();
+        List<Tag> tags = new ArrayList<>();
 
         if ( attributes != null )
         {
@@ -1844,13 +1844,13 @@ public class FoSink
 
         if ( warnMessages == null )
         {
-            warnMessages = new HashMap<String, Set<String>>();
+            warnMessages = new HashMap<>();
         }
 
         Set<String> set = warnMessages.get( key );
         if ( set == null )
         {
-            set = new TreeSet<String>();
+            set = new TreeSet<>();
         }
         set.add( msg );
         warnMessages.put( key, set );
diff --git a/doxia-modules/doxia-module-itext/src/main/java/org/apache/maven/doxia/module/itext/ITextSink.java b/doxia-modules/doxia-module-itext/src/main/java/org/apache/maven/doxia/module/itext/ITextSink.java
index 1a3d60e..92771c0 100644
--- a/doxia-modules/doxia-module-itext/src/main/java/org/apache/maven/doxia/module/itext/ITextSink.java
+++ b/doxia-modules/doxia-module-itext/src/main/java/org/apache/maven/doxia/module/itext/ITextSink.java
@@ -123,7 +123,7 @@ public class ITextSink
     private boolean figureDefined = false;
 
     /** Keep track of the closing tags for inline events. */
-    protected Stack<List<String>> inlineStack = new Stack<List<String>>();
+    protected Stack<List<String>> inlineStack = new Stack<>();
 
     /** Map of warn messages with a String as key to describe the error type and a Set as value.
      * Using to reduce warn messages. */
@@ -1283,7 +1283,7 @@ public class ITextSink
     /** {@inheritDoc} */
     public void inline( SinkEventAttributes attributes )
     {
-        List<String> tags = new ArrayList<String>();
+        List<String> tags = new ArrayList<>();
 
         if ( attributes != null )
         {
@@ -1873,13 +1873,13 @@ public class ITextSink
 
         if ( warnMessages == null )
         {
-            warnMessages = new HashMap<String, Set<String>>();
+            warnMessages = new HashMap<>();
         }
 
         Set<String> set = warnMessages.get( key );
         if ( set == null )
         {
-            set = new TreeSet<String>();
+            set = new TreeSet<>();
         }
         set.add( msg );
         warnMessages.put( key, set );
diff --git a/doxia-modules/doxia-module-itext/src/main/java/org/apache/maven/doxia/module/itext/SinkActionContext.java b/doxia-modules/doxia-module-itext/src/main/java/org/apache/maven/doxia/module/itext/SinkActionContext.java
index 5128f47..7d7f1d7 100644
--- a/doxia-modules/doxia-module-itext/src/main/java/org/apache/maven/doxia/module/itext/SinkActionContext.java
+++ b/doxia-modules/doxia-module-itext/src/main/java/org/apache/maven/doxia/module/itext/SinkActionContext.java
@@ -114,7 +114,7 @@ public class SinkActionContext
     /** Constant <code>UNDEFINED=82</code> */
     public static final int UNDEFINED = 82;
 
-    private Stack<Integer> stack = new Stack<Integer>();
+    private Stack<Integer> stack = new Stack<>();
 
     private int currentAction;
 
diff --git a/doxia-modules/doxia-module-latex/src/main/java/org/apache/maven/doxia/module/latex/LatexSink.java b/doxia-modules/doxia-module-latex/src/main/java/org/apache/maven/doxia/module/latex/LatexSink.java
index 0d8e540..ba73aa6 100644
--- a/doxia-modules/doxia-module-latex/src/main/java/org/apache/maven/doxia/module/latex/LatexSink.java
+++ b/doxia-modules/doxia-module-latex/src/main/java/org/apache/maven/doxia/module/latex/LatexSink.java
@@ -84,7 +84,7 @@ public class LatexSink
     private String title;
 
     /** Keep track of the closing tags for inline events. */
-    protected Stack<List<String>> inlineStack = new Stack<List<String>>();
+    protected Stack<List<String>> inlineStack = new Stack<>();
 
     // ----------------------------------------------------------------------
     //
@@ -1141,7 +1141,7 @@ public class LatexSink
     /** {@inheritDoc} */
     public void inline( SinkEventAttributes attributes )
     {
-        List<String> tags = new ArrayList<String>();
+        List<String> tags = new ArrayList<>();
 
         if ( attributes != null )
         {
diff --git a/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/FlexmarkDoxiaExtension.java b/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/FlexmarkDoxiaExtension.java
index bfd89b7..9233148 100644
--- a/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/FlexmarkDoxiaExtension.java
+++ b/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/FlexmarkDoxiaExtension.java
@@ -29,7 +29,7 @@ import com.vladsch.flexmark.util.options.MutableDataHolder;
  */
 class FlexmarkDoxiaExtension implements HtmlRenderer.HtmlRendererExtension
 {
-    public static final DataKey<String> INPUT_FILE_EXTENSION = new DataKey<String>( "INPUT_FILE_EXTENSION", "md" );
+    public static final DataKey<String> INPUT_FILE_EXTENSION = new DataKey<>( "INPUT_FILE_EXTENSION", "md" );
 
     @Override
     public void rendererOptions( final MutableDataHolder options )
diff --git a/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/FlexmarkDoxiaLinkResolver.java b/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/FlexmarkDoxiaLinkResolver.java
index 10810af..cab9b2d 100644
--- a/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/FlexmarkDoxiaLinkResolver.java
+++ b/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/FlexmarkDoxiaLinkResolver.java
@@ -90,7 +90,7 @@ public class FlexmarkDoxiaLinkResolver implements LinkResolver
         @Override
         public Set<Class<? extends LinkResolverFactory>> getBeforeDependents()
         {
-            Set<Class<? extends LinkResolverFactory>> set = new HashSet<Class<? extends LinkResolverFactory>>();
+            Set<Class<? extends LinkResolverFactory>> set = new HashSet<>();
             set.add( WikiLinkLinkResolver.Factory.class );
             return set;
         }
diff --git a/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/FlexmarkDoxiaNodeRenderer.java b/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/FlexmarkDoxiaNodeRenderer.java
index 090008e..aea3316 100644
--- a/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/FlexmarkDoxiaNodeRenderer.java
+++ b/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/FlexmarkDoxiaNodeRenderer.java
@@ -48,24 +48,22 @@ class FlexmarkDoxiaNodeRenderer implements NodeRenderer
     {
         //noinspection unchecked
         return new HashSet<NodeRenderingHandler<?>>( Arrays.asList(
-                new NodeRenderingHandler<IndentedCodeBlock>( IndentedCodeBlock.class,
-                        new CustomNodeRenderer<IndentedCodeBlock>()
-                        {
-                            @Override
-                            public void render( IndentedCodeBlock node, NodeRendererContext context, HtmlWriter html )
-                            {
-                                FlexmarkDoxiaNodeRenderer.this.render( node, context, html );
-                            }
-                        } ),
-                new NodeRenderingHandler<FencedCodeBlock>( FencedCodeBlock.class,
-                        new CustomNodeRenderer<FencedCodeBlock>()
-                        {
-                            @Override
-                            public void render( FencedCodeBlock node, NodeRendererContext context, HtmlWriter html )
-                            {
-                                FlexmarkDoxiaNodeRenderer.this.render( node, context, html );
-                            }
-                        } )
+                new NodeRenderingHandler<>( IndentedCodeBlock.class, new CustomNodeRenderer<IndentedCodeBlock>()
+                {
+                    @Override
+                    public void render( IndentedCodeBlock node, NodeRendererContext context, HtmlWriter html )
+                    {
+                        FlexmarkDoxiaNodeRenderer.this.render( node, context, html );
+                    }
+                } ),
+                new NodeRenderingHandler<>( FencedCodeBlock.class, new CustomNodeRenderer<FencedCodeBlock>()
+                {
+                    @Override
+                    public void render( FencedCodeBlock node, NodeRendererContext context, HtmlWriter html )
+                    {
+                        FlexmarkDoxiaNodeRenderer.this.render( node, context, html );
+                    }
+                } )
         ) );
     }
 
diff --git a/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownParser.java b/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownParser.java
index fa1454f..b9a2e14 100644
--- a/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownParser.java
+++ b/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownParser.java
@@ -130,7 +130,7 @@ public class MarkdownParser
         String text = IOUtil.toString( source );
         MutableDataHolder flexmarkOptions = PegdownOptionsAdapter.flexmarkOptions(
                 Extensions.ALL & ~( Extensions.HARDWRAPS | Extensions.ANCHORLINKS ) ).toMutable();
-        ArrayList<Extension> extensions = new ArrayList<Extension>();
+        ArrayList<Extension> extensions = new ArrayList<>();
         for ( Extension extension : flexmarkOptions.get( com.vladsch.flexmark.parser.Parser.EXTENSIONS ) )
         {
             extensions.add( extension );
diff --git a/doxia-modules/doxia-module-rtf/src/main/java/org/apache/maven/doxia/module/rtf/RtfSink.java b/doxia-modules/doxia-module-rtf/src/main/java/org/apache/maven/doxia/module/rtf/RtfSink.java
index e878204..68195d2 100644
--- a/doxia-modules/doxia-module-rtf/src/main/java/org/apache/maven/doxia/module/rtf/RtfSink.java
+++ b/doxia-modules/doxia-module-rtf/src/main/java/org/apache/maven/doxia/module/rtf/RtfSink.java
@@ -217,7 +217,7 @@ public class RtfSink
     protected OutputStream stream; // for raw image data
 
     /** Keep track of the closing tags for inline events. */
-    protected Stack<List<Integer>> inlineStack = new Stack<List<Integer>>();
+    protected Stack<List<Integer>> inlineStack = new Stack<>();
 
     /** Map of warn messages with a String as key to describe the error type and a Set as value.
      * Using to reduce warn messages. */
@@ -1457,7 +1457,7 @@ public class RtfSink
     /** {@inheritDoc} */
     public void inline( SinkEventAttributes attributes )
     {
-        List<Integer> tags = new ArrayList<Integer>();
+        List<Integer> tags = new ArrayList<>();
 
         if ( attributes != null )
         {
diff --git a/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/TWikiParser.java b/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/TWikiParser.java
index 8e90cf6..82c0d71 100644
--- a/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/TWikiParser.java
+++ b/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/TWikiParser.java
@@ -106,7 +106,7 @@ public class TWikiParser
     public final List<Block> parse( final ByLineSource source )
         throws ParseException
     {
-        final List<Block> ret = new ArrayList<Block>();
+        final List<Block> ret = new ArrayList<>();
 
         String line;
         while ( ( line = source.getNextLine() ) != null )
diff --git a/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/TWikiSink.java b/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/TWikiSink.java
index dffbcb6..384d31e 100644
--- a/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/TWikiSink.java
+++ b/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/TWikiSink.java
@@ -68,10 +68,10 @@ public class TWikiSink
     private final Stack<String> listStyles;
 
     /** Keep track of the nested bold flag. */
-    protected Stack<Boolean> boldStack = new Stack<Boolean>();
+    protected Stack<Boolean> boldStack = new Stack<>();
 
     /** Keep track of the closing tags for inline events. */
-    protected Stack<List<String>> inlineStack = new Stack<List<String>>();
+    protected Stack<List<String>> inlineStack = new Stack<>();
 
     /**
      * Constructor, initialize the Writer and the variables.
@@ -82,7 +82,7 @@ public class TWikiSink
     protected TWikiSink( Writer writer )
     {
         this.out = new PrintWriter( writer );
-        this.listStyles = new Stack<String>();
+        this.listStyles = new Stack<>();
 
         init();
     }
@@ -405,7 +405,7 @@ public class TWikiSink
     /** {@inheritDoc} */
     public void inline( SinkEventAttributes attributes )
     {
-        List<String> tags = new ArrayList<String>();
+        List<String> tags = new ArrayList<>();
 
         boldStack.push( boldFlag );
 
diff --git a/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/FormatedTextParser.java b/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/FormatedTextParser.java
index 039ca2d..919605f 100644
--- a/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/FormatedTextParser.java
+++ b/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/FormatedTextParser.java
@@ -40,7 +40,7 @@ public class FormatedTextParser
     /**
      * map used to create blocks dependening on the text format
      */
-    private static final Map<String, FormatBlockFactory> FACTORY_MAP = new HashMap<String, FormatBlockFactory>();
+    private static final Map<String, FormatBlockFactory> FACTORY_MAP = new HashMap<>();
 
     /**
      * creates bold blocks
@@ -163,7 +163,7 @@ public class FormatedTextParser
      */
     private List<Block> parseFormat( final String line )
     {
-        final List<Block> ret = new ArrayList<Block>();
+        final List<Block> ret = new ArrayList<>();
         final int[] lhOffsets = new int[SPECIAL_CHAR.length];
         final int[] rhOffsets = new int[SPECIAL_CHAR.length];
 
diff --git a/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/GenericListBlockParser.java b/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/GenericListBlockParser.java
index 9716582..a28bfdb 100644
--- a/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/GenericListBlockParser.java
+++ b/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/GenericListBlockParser.java
@@ -375,7 +375,7 @@ class TreeListBuilder
      */
     private List<ListItemBlock> getListItems( final TreeComponent tc )
     {
-        final List<ListItemBlock> blocks = new ArrayList<ListItemBlock>();
+        final List<ListItemBlock> blocks = new ArrayList<>();
 
         for ( int i = 0; i < tc.getChildren().length; i++ )
         {
@@ -411,7 +411,7 @@ class TreeListBuilder
         /**
          * childrens
          */
-        private List<TreeComponent> children = new ArrayList<TreeComponent>();
+        private List<TreeComponent> children = new ArrayList<>();
 
         /**
          * node text
diff --git a/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/ParagraphBlockParser.java b/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/ParagraphBlockParser.java
index 09a29fb..4c28331 100644
--- a/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/ParagraphBlockParser.java
+++ b/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/ParagraphBlockParser.java
@@ -90,7 +90,7 @@ public class ParagraphBlockParser
         throws ParseException
     {
         StringBuilder sb = new StringBuilder();
-        List<Block> childs = new ArrayList<Block>();
+        List<Block> childs = new ArrayList<>();
 
         boolean sawText = false;
 
diff --git a/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/SectionBlockParser.java b/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/SectionBlockParser.java
index 2ac84e2..9906772 100644
--- a/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/SectionBlockParser.java
+++ b/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/SectionBlockParser.java
@@ -75,7 +75,7 @@ public class SectionBlockParser
         }
 
         String newLine;
-        final ArrayList<Block> blocks = new ArrayList<Block>();
+        final ArrayList<Block> blocks = new ArrayList<>();
 
         while ( ( newLine = source.getNextLine() ) != null && !accept( newLine ) )
         {
diff --git a/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/TableBlockParser.java b/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/TableBlockParser.java
index b2d9667..50555c2 100644
--- a/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/TableBlockParser.java
+++ b/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/TableBlockParser.java
@@ -63,7 +63,7 @@ public class TableBlockParser
             throw new IllegalAccessError( "call accept before this ;)" );
         }
 
-        final List<Block> rows = new ArrayList<Block>();
+        final List<Block> rows = new ArrayList<>();
         String l = line;
 
         do
@@ -71,7 +71,7 @@ public class TableBlockParser
             final Matcher m = TABLE_PATTERN.matcher( l );
             if ( m.lookingAt() )
             {
-                final List<Block> cells = new ArrayList<Block>();
+                final List<Block> cells = new ArrayList<>();
 
                 /* for each cell... */
                 for ( int lh = l.indexOf( '|' ) + 1, rh; ( rh = l.indexOf( '|', lh ) ) != -1; lh = rh + 1 )
diff --git a/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/TextParser.java b/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/TextParser.java
index 41f7f75..42214cd 100644
--- a/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/TextParser.java
+++ b/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/TextParser.java
@@ -99,7 +99,7 @@ public class TextParser
      */
     public final List<Block> parse( final String line )
     {
-        final List<Block> ret = new ArrayList<Block>();
+        final List<Block> ret = new ArrayList<>();
 
         final Matcher linkMatcher = SPECIFICLINK_PATTERN.matcher( line );
         final Matcher wikiMatcher = WIKIWORD_PATTERN.matcher( line );
diff --git a/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/VerbatimBlockParser.java b/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/VerbatimBlockParser.java
index 52c11c9..5dc7028 100644
--- a/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/VerbatimBlockParser.java
+++ b/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/VerbatimBlockParser.java
@@ -61,7 +61,7 @@ public class VerbatimBlockParser
             throw new IllegalAccessError( "call accept before this ;)" );
         }
 
-        final List<Block> lines = new ArrayList<Block>();
+        final List<Block> lines = new ArrayList<>();
         Matcher matcher = VERBATIM_START_PATTERN.matcher( line );
         matcher.find();
         String l = line.substring( matcher.end() );
diff --git a/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocParser.java b/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocParser.java
index fab515b..a5140a3 100644
--- a/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocParser.java
+++ b/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocParser.java
@@ -73,7 +73,7 @@ public class XdocParser
     /**
      * The macro parameters.
      */
-    private Map<String, Object> macroParameters = new HashMap<String, Object>();
+    private Map<String, Object> macroParameters = new HashMap<>();
 
     /**
      * Indicates that we're inside &lt;properties&gt; or &lt;head&gt;.
@@ -410,7 +410,7 @@ public class XdocParser
 
             if ( macroParameters == null )
             {
-                macroParameters = new HashMap<String, Object>();
+                macroParameters = new HashMap<>();
             }
 
             if ( StringUtils.isEmpty( macroName ) )
diff --git a/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlParser.java b/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlParser.java
index a801d41..3ea1a4a 100644
--- a/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlParser.java
+++ b/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlParser.java
@@ -247,7 +247,7 @@ public class XhtmlParser
         String[] params = StringUtils.split( s, "|" );
         String macroName = params[0];
 
-        Map<String, Object> parameters = new HashMap<String, Object>();
+        Map<String, Object> parameters = new HashMap<>();
         for ( int i = 1; i < params.length; i++ )
         {
             String[] param = StringUtils.split( params[i], "=" );
diff --git a/doxia-modules/doxia-module-xhtml5/src/main/java/org/apache/maven/doxia/module/xhtml5/Xhtml5Parser.java b/doxia-modules/doxia-module-xhtml5/src/main/java/org/apache/maven/doxia/module/xhtml5/Xhtml5Parser.java
index 1cee1b0..1f4f5c7 100644
--- a/doxia-modules/doxia-module-xhtml5/src/main/java/org/apache/maven/doxia/module/xhtml5/Xhtml5Parser.java
+++ b/doxia-modules/doxia-module-xhtml5/src/main/java/org/apache/maven/doxia/module/xhtml5/Xhtml5Parser.java
@@ -248,7 +248,7 @@ public class Xhtml5Parser
         String[] params = StringUtils.split( s, "|" );
         String macroName = params[0];
 
-        Map<String, Object> parameters = new HashMap<String, Object>();
+        Map<String, Object> parameters = new HashMap<>();
         for ( int i = 1; i < params.length; i++ )
         {
             String[] param = StringUtils.split( params[i], "=" );