[MCHECKSTYLE-406] Upgrade Checkstyle to 9.1
diff --git a/pom.xml b/pom.xml
index 5c463dc..980ed98 100644
--- a/pom.xml
+++ b/pom.xml
@@ -66,7 +66,7 @@
     <!-- Because Checkstyle 7+ requires Java 8 -->
     <javaVersion>8</javaVersion>
     <mavenVersion>3.0</mavenVersion>
-    <checkstyleVersion>8.41.1</checkstyleVersion>
+    <checkstyleVersion>9.1</checkstyleVersion>
     <doxiaVersion>1.4</doxiaVersion>
     <sitePluginVersion>3.9.1</sitePluginVersion>
     <surefire.version>2.22.2</surefire.version>
@@ -278,12 +278,12 @@
             <dependency>
               <groupId>com.puppycrawl.tools</groupId>
               <artifactId>checkstyle</artifactId>
-              <version>8.41.1</version>
+              <version>9.1</version>
             </dependency>
             <dependency>
               <groupId>org.apache.maven.shared</groupId>
               <artifactId>maven-shared-resources</artifactId>
-              <version>3</version>
+              <version>4</version>
             </dependency>
           </dependencies>
         </plugin>
diff --git a/src/it/MCHECKSTYLE-338/empty-logging-check/src/main/java/org/apache/maven/plugins/checkstyle/EmptyLoggingCheck.java b/src/it/MCHECKSTYLE-338/empty-logging-check/src/main/java/org/apache/maven/plugins/checkstyle/EmptyLoggingCheck.java
index 10d3b3e..09f288a 100644
--- a/src/it/MCHECKSTYLE-338/empty-logging-check/src/main/java/org/apache/maven/plugins/checkstyle/EmptyLoggingCheck.java
+++ b/src/it/MCHECKSTYLE-338/empty-logging-check/src/main/java/org/apache/maven/plugins/checkstyle/EmptyLoggingCheck.java
@@ -27,8 +27,8 @@
 import com.puppycrawl.tools.checkstyle.api.AbstractFileSetCheck;
 import com.puppycrawl.tools.checkstyle.api.CheckstyleException;
 import com.puppycrawl.tools.checkstyle.api.FileText;
-import com.puppycrawl.tools.checkstyle.api.LocalizedMessage;
 import com.puppycrawl.tools.checkstyle.api.SeverityLevel;
+import com.puppycrawl.tools.checkstyle.api.Violation;
 
 public class EmptyLoggingCheck
     extends AbstractFileSetCheck
@@ -38,7 +38,7 @@
     protected void processFiltered( File file, FileText lines )
         throws CheckstyleException
     {
-        addMessages( new TreeSet<LocalizedMessage>( Collections.singleton( new LocalizedMessage( 0, 0, getMessageBundle(),
+        addViolations( new TreeSet<Violation>( Collections.singleton( new Violation( 0, 0, getMessageBundle(),
                                                          "EmptyLoggingCheck on file " + file.getName(), new Object[0],
                                                          SeverityLevel.ERROR, getId(), getClass(), null ) ) ) );
     }
diff --git a/src/test/java/org/apache/maven/plugins/checkstyle/exec/CheckstyleReportListenerMultiSourceTest.java b/src/test/java/org/apache/maven/plugins/checkstyle/exec/CheckstyleReportListenerMultiSourceTest.java
index b0f8acb..0befa3b 100644
--- a/src/test/java/org/apache/maven/plugins/checkstyle/exec/CheckstyleReportListenerMultiSourceTest.java
+++ b/src/test/java/org/apache/maven/plugins/checkstyle/exec/CheckstyleReportListenerMultiSourceTest.java
@@ -20,8 +20,8 @@
  */
 
 import com.puppycrawl.tools.checkstyle.api.AuditEvent;
-import com.puppycrawl.tools.checkstyle.api.LocalizedMessage;
 import com.puppycrawl.tools.checkstyle.api.SeverityLevel;
+import com.puppycrawl.tools.checkstyle.api.Violation;
 
 import junit.framework.TestCase;
 
@@ -69,21 +69,21 @@
 
         AuditEvent event = new AuditEvent( this, "/source/path/file1", null );
         fireFileStarted( event );
-        LocalizedMessage message =
-            new LocalizedMessage( 0, 0, "", "", null, SeverityLevel.INFO, null, getClass(), null );
+        Violation message =
+            new Violation( 0, 0, "", "", null, SeverityLevel.INFO, null, getClass(), null );
         fireAddError( new AuditEvent( this, "/source/path/file1", message ) );
         fireFileFinished( event );
 
         event = new AuditEvent( this, "/source/path2/file2", null );
         fireFileStarted( event );
-        message = new LocalizedMessage( 0, 0, "", "", null, SeverityLevel.WARNING, null, getClass(), null );
+        message = new Violation( 0, 0, "", "", null, SeverityLevel.WARNING, null, getClass(), null );
         fireAddError( new AuditEvent( this, "/source/path2/file2", message ) );
         fireAddError( new AuditEvent( this, "/source/path2/file2", message ) );
         fireFileFinished( event );
 
         event = new AuditEvent( this, "/source/path/file3", null );
         fireFileStarted( event );
-        message = new LocalizedMessage( 0, 0, "", "", null, SeverityLevel.ERROR, null, getClass(), null );
+        message = new Violation( 0, 0, "", "", null, SeverityLevel.ERROR, null, getClass(), null );
         fireAddError( new AuditEvent( this, "/source/path/file3", message ) );
         fireAddError( new AuditEvent( this, "/source/path/file3", message ) );
         fireAddError( new AuditEvent( this, "/source/path/file3", message ) );
@@ -91,7 +91,7 @@
 
         event = new AuditEvent( this, "/source/path2/file4", null );
         fireFileStarted( event );
-        message = new LocalizedMessage( 0, 0, "", "", null, SeverityLevel.IGNORE, null, getClass(), null );
+        message = new Violation( 0, 0, "", "", null, SeverityLevel.IGNORE, null, getClass(), null );
         fireAddError( new AuditEvent( this, "/source/path2/file4", message ) );
         fireAddError( new AuditEvent( this, "/source/path2/file4", message ) );
         fireAddError( new AuditEvent( this, "/source/path2/file4", message ) );
diff --git a/src/test/java/org/apache/maven/plugins/checkstyle/exec/CheckstyleReportListenerTest.java b/src/test/java/org/apache/maven/plugins/checkstyle/exec/CheckstyleReportListenerTest.java
index eeb7cc9..a6e48e0 100644
--- a/src/test/java/org/apache/maven/plugins/checkstyle/exec/CheckstyleReportListenerTest.java
+++ b/src/test/java/org/apache/maven/plugins/checkstyle/exec/CheckstyleReportListenerTest.java
@@ -20,8 +20,9 @@
  */
 
 import com.puppycrawl.tools.checkstyle.api.AuditEvent;
-import com.puppycrawl.tools.checkstyle.api.LocalizedMessage;
 import com.puppycrawl.tools.checkstyle.api.SeverityLevel;
+import com.puppycrawl.tools.checkstyle.api.Violation;
+
 
 import junit.framework.TestCase;
 
@@ -67,20 +68,20 @@
 
         AuditEvent event = new AuditEvent( this, "/source/path/file1", null );
         fireFileStarted( event );
-        LocalizedMessage message = new LocalizedMessage( 0, 0, "", "", null, SeverityLevel.INFO, null, getClass(), null );
+        Violation message = new Violation( 0, 0, "", "", null, SeverityLevel.INFO, null, getClass(), null );
         fireAddError( new AuditEvent( this, "/source/path/file1", message ) );
         fireFileFinished( event );
 
         event = new AuditEvent( this, "/source/path/file2", null );
         fireFileStarted( event );
-        message = new LocalizedMessage( 0, 0, "", "", null, SeverityLevel.WARNING, null, getClass(), null );
+        message = new Violation( 0, 0, "", "", null, SeverityLevel.WARNING, null, getClass(), null );
         fireAddError( new AuditEvent( this, "/source/path/file2", message ) );
         fireAddError( new AuditEvent( this, "/source/path/file2", message ) );
         fireFileFinished( event );
 
         event = new AuditEvent( this, "/source/path/file3", null );
         fireFileStarted( event );
-        message = new LocalizedMessage( 0, 0, "", "", null, SeverityLevel.ERROR, null, getClass(), null );
+        message = new Violation( 0, 0, "", "", null, SeverityLevel.ERROR, null, getClass(), null );
         fireAddError( new AuditEvent( this, "/source/path/file3", message ) );
         fireAddError( new AuditEvent( this, "/source/path/file3", message ) );
         fireAddError( new AuditEvent( this, "/source/path/file3", message ) );
@@ -88,7 +89,7 @@
 
         event = new AuditEvent( this, "/source/path/file4", null );
         fireFileStarted( event );
-        message = new LocalizedMessage( 0, 0, "", "", null, SeverityLevel.IGNORE, null, getClass(), null );
+        message = new Violation( 0, 0, "", "", null, SeverityLevel.IGNORE, null, getClass(), null );
         fireAddError( new AuditEvent( this, "/source/path/file4", message ) );
         fireAddError( new AuditEvent( this, "/source/path/file4", message ) );
         fireAddError( new AuditEvent( this, "/source/path/file4", message ) );
diff --git a/src/test/java/org/apache/maven/plugins/checkstyle/exec/CheckstyleResultsTest.java b/src/test/java/org/apache/maven/plugins/checkstyle/exec/CheckstyleResultsTest.java
index 2c2180e..513457f 100644
--- a/src/test/java/org/apache/maven/plugins/checkstyle/exec/CheckstyleResultsTest.java
+++ b/src/test/java/org/apache/maven/plugins/checkstyle/exec/CheckstyleResultsTest.java
@@ -23,7 +23,7 @@
 
 import com.puppycrawl.tools.checkstyle.api.SeverityLevel;
 import com.puppycrawl.tools.checkstyle.api.AuditEvent;
-import com.puppycrawl.tools.checkstyle.api.LocalizedMessage;
+import com.puppycrawl.tools.checkstyle.api.Violation;
 
 import java.util.Collections;
 import java.util.Map;
@@ -75,24 +75,24 @@
     {
         Map<String, List<AuditEvent>> files = new HashMap<>();
 
-        LocalizedMessage message = new LocalizedMessage( 0, 0, "", "", null, SeverityLevel.INFO, null, getClass(), null );
+        Violation message = new Violation( 0, 0, "", "", null, SeverityLevel.INFO, null, getClass(), null );
         AuditEvent event = new AuditEvent( this, "file1", message );
         files.put( "file1", Collections.singletonList( event ) );
 
-        message = new LocalizedMessage( 0, 0, "", "", null, SeverityLevel.WARNING, null, getClass(), null );
+        message = new Violation( 0, 0, "", "", null, SeverityLevel.WARNING, null, getClass(), null );
         List<AuditEvent> events = new ArrayList<>();
         events.add( new AuditEvent( this, "file2", message ) );
         events.add( new AuditEvent( this, "file2", message ) );
         files.put( "file2", events );
 
-        message = new LocalizedMessage( 0, 0, "", "", null, SeverityLevel.ERROR, null, getClass(), null );
+        message = new Violation( 0, 0, "", "", null, SeverityLevel.ERROR, null, getClass(), null );
         events = new ArrayList<>();
         events.add( new AuditEvent( this, "file3", message ) );
         events.add( new AuditEvent( this, "file3", message ) );
         events.add( new AuditEvent( this, "file3", message ) );
         files.put( "file3", events );
 
-        message = new LocalizedMessage( 0, 0, "", "", null, SeverityLevel.IGNORE, null, getClass(), null );
+        message = new Violation( 0, 0, "", "", null, SeverityLevel.IGNORE, null, getClass(), null );
         events = new ArrayList<>();
         events.add( new AuditEvent( this, "file4", message ) );
         events.add( new AuditEvent( this, "file4", message ) );