diff --git a/src/main/java/com/thesamet/gerrit/plugins/saml/SamlConfig.java b/src/main/java/com/thesamet/gerrit/plugins/saml/SamlConfig.java
index 8b64ebd..80f7d9e 100644
--- a/src/main/java/com/thesamet/gerrit/plugins/saml/SamlConfig.java
+++ b/src/main/java/com/thesamet/gerrit/plugins/saml/SamlConfig.java
@@ -34,7 +34,7 @@
   private final int maxAuthLifetimeDefault = 24 * 60 * 60; // 24h;
 
   @Inject
-  SamlConfig(@GerritServerConfig final Config cfg) {
+  SamlConfig(@GerritServerConfig Config cfg) {
     metadataPath = getString(cfg, "metadataPath");
     keystorePath = getString(cfg, "keystorePath");
     privateKeyPassword = getString(cfg, "privateKeyPassword");
diff --git a/src/main/java/com/thesamet/gerrit/plugins/saml/SamlWebFilter.java b/src/main/java/com/thesamet/gerrit/plugins/saml/SamlWebFilter.java
index b3228e6..8deeeeb 100644
--- a/src/main/java/com/thesamet/gerrit/plugins/saml/SamlWebFilter.java
+++ b/src/main/java/com/thesamet/gerrit/plugins/saml/SamlWebFilter.java
@@ -169,7 +169,7 @@
       } else {
         chain.doFilter(httpRequest, httpResponse);
       }
-    } catch (final HttpAction httpAction) {
+    } catch (HttpAction httpAction) {
       // In pac4j v3.4.0 SLO (Single Log Out) throws HttpAction with code 200.
       // Detect that flow and recover by redirecting to the main gerrit page.
       if (httpAction.getCode() != 200) {
@@ -255,7 +255,7 @@
 
     @Override
     public Enumeration<String> getHeaderNames() {
-      final Enumeration<String> wrappedHeaderNames = super.getHeaderNames();
+      Enumeration<String> wrappedHeaderNames = super.getHeaderNames();
       HashSet<String> headerNames = new HashSet<>(authHeaders);
       while (wrappedHeaderNames.hasMoreElements()) {
         headerNames.add(wrappedHeaderNames.nextElement());
@@ -287,7 +287,7 @@
 
     @Override
     public Enumeration<String> getHeaderNames() {
-      final Enumeration<String> wrappedHeaderNames = super.getHeaderNames();
+      Enumeration<String> wrappedHeaderNames = super.getHeaderNames();
 
       HashSet<String> headerNames = new HashSet<>();
       while (wrappedHeaderNames.hasMoreElements()) {
