Use final.
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/JCS.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/JCS.java
index fd53588..9b65da1 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/JCS.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/JCS.java
@@ -55,7 +55,7 @@
      * <p>
      * @param configFilename
      */
-    public static void setConfigFilename( String configFilename )
+    public static void setConfigFilename( final String configFilename )
     {
         JCS.configFilename = configFilename;
     }
@@ -66,7 +66,7 @@
      *
      * @param configProps
      */
-    public static void setConfigProperties( Properties configProps )
+    public static void setConfigProperties( final Properties configProps )
     {
         JCS.configProps = configProps;
     }
@@ -78,7 +78,7 @@
      *
      * @param logSystem the logSystem to set
      */
-    public static void setLogSystem(String logSystem)
+    public static void setLogSystem(final String logSystem)
     {
         LogManager.setLogSystem(logSystem);
     }
@@ -138,10 +138,10 @@
      * @return A CacheAccess which provides access to a given region.
      * @throws CacheException
      */
-    public static <K, V> CacheAccess<K, V> getInstance( String region )
+    public static <K, V> CacheAccess<K, V> getInstance( final String region )
         throws CacheException
     {
-        CompositeCache<K, V> cache = getCacheManager().getCache( region );
+        final CompositeCache<K, V> cache = getCacheManager().getCache( region );
         return new CacheAccess<>( cache );
     }
 
@@ -153,10 +153,10 @@
      * @return A CacheAccess which provides access to a given region.
      * @throws CacheException
      */
-    public static <K, V> CacheAccess<K, V> getInstance( String region, ICompositeCacheAttributes icca )
+    public static <K, V> CacheAccess<K, V> getInstance( final String region, final ICompositeCacheAttributes icca )
         throws CacheException
     {
-        CompositeCache<K, V> cache = getCacheManager().getCache( region, icca );
+        final CompositeCache<K, V> cache = getCacheManager().getCache( region, icca );
         return new CacheAccess<>( cache );
     }
 
@@ -169,10 +169,10 @@
      * @return A CacheAccess which provides access to a given region.
      * @throws CacheException
      */
-    public static <K, V> CacheAccess<K, V> getInstance( String region, ICompositeCacheAttributes icca,  IElementAttributes eattr )
+    public static <K, V> CacheAccess<K, V> getInstance( final String region, final ICompositeCacheAttributes icca,  final IElementAttributes eattr )
         throws CacheException
     {
-        CompositeCache<K, V> cache = getCacheManager().getCache( region, icca, eattr );
+        final CompositeCache<K, V> cache = getCacheManager().getCache( region, icca, eattr );
         return new CacheAccess<>( cache );
     }
 
@@ -183,10 +183,10 @@
      * @return A GroupCacheAccess which provides access to a given region.
      * @throws CacheException
      */
-    public static <K, V> GroupCacheAccess<K, V> getGroupCacheInstance( String region )
+    public static <K, V> GroupCacheAccess<K, V> getGroupCacheInstance( final String region )
         throws CacheException
     {
-        CompositeCache<GroupAttrName<K>, V> cache = getCacheManager().getCache( region );
+        final CompositeCache<GroupAttrName<K>, V> cache = getCacheManager().getCache( region );
         return new GroupCacheAccess<>( cache );
     }
 
@@ -198,10 +198,10 @@
      * @return A GroupCacheAccess which provides access to a given region.
      * @throws CacheException
      */
-    public static <K, V> GroupCacheAccess<K, V> getGroupCacheInstance( String region, ICompositeCacheAttributes icca )
+    public static <K, V> GroupCacheAccess<K, V> getGroupCacheInstance( final String region, final ICompositeCacheAttributes icca )
         throws CacheException
     {
-        CompositeCache<GroupAttrName<K>, V> cache = getCacheManager().getCache( region, icca );
+        final CompositeCache<GroupAttrName<K>, V> cache = getCacheManager().getCache( region, icca );
         return new GroupCacheAccess<>( cache );
     }
 
@@ -214,10 +214,10 @@
      * @return A GroupCacheAccess which provides access to a given region.
      * @throws CacheException
      */
-    public static <K, V> GroupCacheAccess<K, V> getGroupCacheInstance( String region, ICompositeCacheAttributes icca,  IElementAttributes eattr )
+    public static <K, V> GroupCacheAccess<K, V> getGroupCacheInstance( final String region, final ICompositeCacheAttributes icca,  final IElementAttributes eattr )
         throws CacheException
     {
-        CompositeCache<GroupAttrName<K>, V> cache = getCacheManager().getCache( region, icca, eattr );
+        final CompositeCache<GroupAttrName<K>, V> cache = getCacheManager().getCache( region, icca, eattr );
         return new GroupCacheAccess<>( cache );
     }
 }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/AbstractCacheAccess.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/AbstractCacheAccess.java
index 2c28555..374620d 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/AbstractCacheAccess.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/AbstractCacheAccess.java
@@ -54,7 +54,7 @@
      * <p>
      * @param cacheControl The cache which the created instance accesses
      */
-    protected AbstractCacheAccess( CompositeCache<K, V> cacheControl )
+    protected AbstractCacheAccess( final CompositeCache<K, V> cacheControl )
     {
         this.cacheControl = cacheControl;
     }
@@ -72,7 +72,7 @@
         {
             this.getCacheControl().removeAll();
         }
-        catch ( IOException e )
+        catch ( final IOException e )
         {
             throw new CacheException( e );
         }
@@ -89,7 +89,7 @@
      * @throws CacheException if something goes wrong.
      */
     @Override
-    public void setDefaultElementAttributes( IElementAttributes attr )
+    public void setDefaultElementAttributes( final IElementAttributes attr )
         throws CacheException
     {
         this.getCacheControl().setElementAttributes( attr );
@@ -164,7 +164,7 @@
      * @param cattr The new ICompositeCacheAttribute value
      */
     @Override
-    public void setCacheAttributes( ICompositeCacheAttributes cattr )
+    public void setCacheAttributes( final ICompositeCacheAttributes cattr )
     {
         this.getCacheControl().setCacheAttributes( cattr );
     }
@@ -180,7 +180,7 @@
      * @throws CacheException
      */
     @Override
-    public int freeMemoryElements( int numberToFree )
+    public int freeMemoryElements( final int numberToFree )
         throws CacheException
     {
         int numFreed = -1;
@@ -188,9 +188,9 @@
         {
             numFreed = this.getCacheControl().getMemoryCache().freeElements( numberToFree );
         }
-        catch ( IOException ioe )
+        catch ( final IOException ioe )
         {
-            String message = "Failure freeing memory elements.";
+            final String message = "Failure freeing memory elements.";
             throw new CacheException( message, ioe );
         }
         return numFreed;
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/CacheAccess.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/CacheAccess.java
index 0964216..4d3efe8 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/CacheAccess.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/CacheAccess.java
@@ -57,7 +57,7 @@
      * <p>
      * @param cacheControl The cache which the created instance accesses
      */
-    public CacheAccess( CompositeCache<K, V> cacheControl )
+    public CacheAccess( final CompositeCache<K, V> cacheControl )
     {
         super(cacheControl);
     }
@@ -69,9 +69,9 @@
      * @return The object if found or null
      */
     @Override
-    public V get( K name )
+    public V get( final K name )
     {
-        ICacheElement<K, V> element = this.getCacheControl().get( name );
+        final ICacheElement<K, V> element = this.getCacheControl().get( name );
 
         return ( element != null ) ? element.getVal() : null;
     }
@@ -86,7 +86,7 @@
      * @return Object.
      */
     @Override
-    public V get(K name, Supplier<V> supplier)
+    public V get(final K name, final Supplier<V> supplier)
     {
         V value = get(name);
 
@@ -106,11 +106,11 @@
      * @return A map of key to values.  These are stripped from the wrapper.
      */
     @Override
-    public Map<K, V> getMatching( String pattern )
+    public Map<K, V> getMatching( final String pattern )
     {
         Map<K, V> unwrappedResults;
 
-        Map<K, ICacheElement<K, V>> wrappedResults = this.getCacheControl().getMatching( pattern );
+        final Map<K, ICacheElement<K, V>> wrappedResults = this.getCacheControl().getMatching( pattern );
 
         if ( wrappedResults == null )
         {
@@ -145,7 +145,7 @@
      * @return The ICacheElement&lt;K, V&gt; if the object is found or null
      */
     @Override
-    public ICacheElement<K, V> getCacheElement( K name )
+    public ICacheElement<K, V> getCacheElement( final K name )
     {
         return this.getCacheControl().get( name );
     }
@@ -168,7 +168,7 @@
      * @return a map of K key to ICacheElement&lt;K, V&gt; element, or empty map if none of the keys are present
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getCacheElements( Set<K> names )
+    public Map<K, ICacheElement<K, V>> getCacheElements( final Set<K> names )
     {
         return this.getCacheControl().getMultiple( names );
     }
@@ -191,7 +191,7 @@
      * @return a map of K key to ICacheElement&lt;K, V&gt; element, or empty map if no keys match the pattern
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMatchingCacheElements( String pattern )
+    public Map<K, ICacheElement<K, V>> getMatchingCacheElements( final String pattern )
     {
         return this.getCacheControl().getMatching( pattern );
     }
@@ -207,7 +207,7 @@
      *                cache.
      */
     @Override
-    public void putSafe( K key, V value )
+    public void putSafe( final K key, final V value )
     {
         if ( this.getCacheControl().get( key ) != null )
         {
@@ -225,7 +225,7 @@
      * @param obj Object to store
      */
     @Override
-    public void put( K name, V obj )
+    public void put( final K name, final V obj )
     {
         // Call put with a copy of the contained caches default attributes.
         // the attributes are copied by the cacheControl
@@ -240,7 +240,7 @@
      * @see org.apache.commons.jcs3.access.behavior.ICacheAccess#put(Object, Object, IElementAttributes)
      */
     @Override
-    public void put( K key, V val, IElementAttributes attr )
+    public void put( final K key, final V val, final IElementAttributes attr )
     {
         if ( key == null )
         {
@@ -256,14 +256,14 @@
         // should be wrapped by cache access.
         try
         {
-            CacheElement<K, V> ce = new CacheElement<>( this.getCacheControl().getCacheName(), key,
+            final CacheElement<K, V> ce = new CacheElement<>( this.getCacheControl().getCacheName(), key,
                                                 val );
 
             ce.setElementAttributes( attr );
 
             this.getCacheControl().update( ce );
         }
-        catch ( IOException e )
+        catch ( final IOException e )
         {
             throw new CacheException( e );
         }
@@ -275,7 +275,7 @@
      * @param name the name of the item to remove.
      */
     @Override
-    public void remove( K name )
+    public void remove( final K name )
     {
         this.getCacheControl().remove( name );
     }
@@ -289,9 +289,9 @@
      * @throws InvalidHandleException if the item does not exist.
      */
     @Override
-    public void resetElementAttributes( K name, IElementAttributes attr )
+    public void resetElementAttributes( final K name, final IElementAttributes attr )
     {
-        ICacheElement<K, V> element = this.getCacheControl().get( name );
+        final ICacheElement<K, V> element = this.getCacheControl().get( name );
 
         if ( element == null )
         {
@@ -315,7 +315,7 @@
      * @return Attributes for the object, null if object not in cache
      */
     @Override
-    public IElementAttributes getElementAttributes( K name ) throws CacheException
+    public IElementAttributes getElementAttributes( final K name ) throws CacheException
     {
         IElementAttributes attr = null;
 
@@ -323,7 +323,7 @@
         {
             attr = this.getCacheControl().getElementAttributes( name );
         }
-        catch ( IOException ioe )
+        catch ( final IOException ioe )
         {
             throw new CacheException("Failure getting element attributes", ioe);
         }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/GroupCacheAccess.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/GroupCacheAccess.java
index cad9082..7d42573 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/GroupCacheAccess.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/GroupCacheAccess.java
@@ -45,7 +45,7 @@
      * <p>
      * @param cacheControl
      */
-    public GroupCacheAccess( CompositeCache<GroupAttrName<K>, V> cacheControl )
+    public GroupCacheAccess( final CompositeCache<GroupAttrName<K>, V> cacheControl )
     {
         super(cacheControl);
     }
@@ -60,9 +60,9 @@
      * @return The cached value, null if not found.
      */
     @Override
-    public V getFromGroup( K name, String group )
+    public V getFromGroup( final K name, final String group )
     {
-        ICacheElement<GroupAttrName<K>, V> element = this.getCacheControl().get( getGroupAttrName( group, name ) );
+        final ICacheElement<GroupAttrName<K>, V> element = this.getCacheControl().get( getGroupAttrName( group, name ) );
         return ( element != null ) ? element.getVal() : null;
     }
 
@@ -73,9 +73,9 @@
      * @param name
      * @return GroupAttrName
      */
-    private GroupAttrName<K> getGroupAttrName( String group, K name )
+    private GroupAttrName<K> getGroupAttrName( final String group, final K name )
     {
-        GroupId gid = new GroupId( this.getCacheControl().getCacheName(), group );
+        final GroupId gid = new GroupId( this.getCacheControl().getCacheName(), group );
         return new GroupAttrName<>( gid, name );
     }
 
@@ -93,7 +93,7 @@
      * @throws CacheException
      */
     @Override
-    public void putInGroup( K name, String groupName, V value )
+    public void putInGroup( final K name, final String groupName, final V value )
         throws CacheException
     {
         putInGroup( name, groupName, value, null );
@@ -115,7 +115,7 @@
      * @throws CacheException
      */
     @Override
-    public void putInGroup( K name, String groupName, V value, IElementAttributes attr )
+    public void putInGroup( final K name, final String groupName, final V value, final IElementAttributes attr )
         throws CacheException
     {
         if ( name == null )
@@ -132,16 +132,16 @@
         // should be wrapped by cache access.
         try
         {
-            GroupAttrName<K> key = getGroupAttrName( groupName, name );
-            CacheElement<GroupAttrName<K>, V> ce =
+            final GroupAttrName<K> key = getGroupAttrName( groupName, name );
+            final CacheElement<GroupAttrName<K>, V> ce =
                 new CacheElement<>( this.getCacheControl().getCacheName(), key, value );
 
-            IElementAttributes attributes = (attr == null) ? this.getCacheControl().getElementAttributes() : attr;
+            final IElementAttributes attributes = (attr == null) ? this.getCacheControl().getElementAttributes() : attr;
             ce.setElementAttributes( attributes );
 
             this.getCacheControl().update( ce );
         }
-        catch ( IOException e )
+        catch ( final IOException e )
         {
             throw new CacheException( e );
         }
@@ -155,9 +155,9 @@
      * @param group
      */
     @Override
-    public void removeFromGroup( K name, String group )
+    public void removeFromGroup( final K name, final String group )
     {
-        GroupAttrName<K> key = getGroupAttrName( group, name );
+        final GroupAttrName<K> key = getGroupAttrName( group, name );
         this.getCacheControl().remove( key );
     }
 
@@ -168,9 +168,9 @@
      * @return A Set of keys.
      */
     @Override
-    public Set<K> getGroupKeys( String group )
+    public Set<K> getGroupKeys( final String group )
     {
-        GroupId groupId = new GroupId( this.getCacheControl().getCacheName(), group );
+        final GroupId groupId = new GroupId( this.getCacheControl().getCacheName(), group );
 
         return this.getCacheControl().getKeySet()
                 .stream()
@@ -199,7 +199,7 @@
      *            The name of the group to invalidate
      */
     @Override
-    public void invalidateGroup( String group )
+    public void invalidateGroup( final String group )
     {
         this.getCacheControl().remove(getGroupAttrName(group, null));
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/exception/CacheException.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/exception/CacheException.java
index ba20f88..9825b4b 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/exception/CacheException.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/exception/CacheException.java
@@ -39,7 +39,7 @@
      * Constructor for the CacheException object
      * @param nested a nested exception
      */
-    public CacheException( Throwable nested )
+    public CacheException( final Throwable nested )
     {
         super(nested);
     }
@@ -48,7 +48,7 @@
      * Constructor for the CacheException object
      * @param message the exception message
      */
-    public CacheException( String message )
+    public CacheException( final String message )
     {
         super(message);
     }
@@ -58,7 +58,7 @@
      * @param message the exception message
      * @param nested a nested exception
      */
-    public CacheException(String message, Throwable nested)
+    public CacheException(final String message, final Throwable nested)
     {
         super(message, nested);
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/exception/ConfigurationException.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/exception/ConfigurationException.java
index bb977a4..da3c890 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/exception/ConfigurationException.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/exception/ConfigurationException.java
@@ -36,7 +36,7 @@
      * <p>
      * @param message
      */
-    public ConfigurationException( String message )
+    public ConfigurationException( final String message )
     {
         super( message );
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/exception/InvalidArgumentException.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/exception/InvalidArgumentException.java
index 02cab12..26baa96 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/exception/InvalidArgumentException.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/exception/InvalidArgumentException.java
@@ -39,7 +39,7 @@
      * <p>
      * @param message
      */
-    public InvalidArgumentException( String message )
+    public InvalidArgumentException( final String message )
     {
         super( message );
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/exception/InvalidGroupException.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/exception/InvalidGroupException.java
index 440dcaa..cc59fd4 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/exception/InvalidGroupException.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/exception/InvalidGroupException.java
@@ -38,7 +38,7 @@
      * <p>
      * @param message
      */
-    public InvalidGroupException( String message )
+    public InvalidGroupException( final String message )
     {
         super( message );
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/exception/InvalidHandleException.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/exception/InvalidHandleException.java
index 45f84fb..ad49507 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/exception/InvalidHandleException.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/exception/InvalidHandleException.java
@@ -40,7 +40,7 @@
      * <p>
      * @param message
      */
-    public InvalidHandleException( String message )
+    public InvalidHandleException( final String message )
     {
         super( message );
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/exception/ObjectExistsException.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/exception/ObjectExistsException.java
index b005ec7..df7db12 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/exception/ObjectExistsException.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/exception/ObjectExistsException.java
@@ -44,7 +44,7 @@
      * Constructor for the ObjectExistsException object
      * @param message
      */
-    public ObjectExistsException( String message )
+    public ObjectExistsException( final String message )
     {
         super( message );
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/exception/ObjectNotFoundException.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/exception/ObjectNotFoundException.java
index bdee272..f0d9a99 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/exception/ObjectNotFoundException.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/access/exception/ObjectNotFoundException.java
@@ -42,7 +42,7 @@
      * Constructor for the ObjectNotFoundException object
      * @param message
      */
-    public ObjectNotFoundException( String message )
+    public ObjectNotFoundException( final String message )
     {
         super( message );
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/admin/CacheElementInfo.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/admin/CacheElementInfo.java
index fbfa7b0..a1266e5 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/admin/CacheElementInfo.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/admin/CacheElementInfo.java
@@ -52,8 +52,8 @@
 	 * @param expiresInSeconds when it will expire
 	 */
     @ConstructorProperties({"key", "eternal", "createTime", "maxLifeSeconds", "expiresInSeconds"})
-    public CacheElementInfo(String key, boolean eternal, String createTime,
-			long maxLifeSeconds, long expiresInSeconds)
+    public CacheElementInfo(final String key, final boolean eternal, final String createTime,
+			final long maxLifeSeconds, final long expiresInSeconds)
     {
 		this.key = key;
 		this.eternal = eternal;
@@ -110,7 +110,7 @@
     @Override
     public String toString()
     {
-        StringBuilder buf = new StringBuilder();
+        final StringBuilder buf = new StringBuilder();
         buf.append( "\nCacheElementInfo " );
         buf.append( "\n Key [" ).append( getKey() ).append( "]" );
         buf.append( "\n Eternal [" ).append( isEternal() ).append( "]" );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/admin/CacheRegionInfo.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/admin/CacheRegionInfo.java
index c2b4aa5..7956aee 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/admin/CacheRegionInfo.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/admin/CacheRegionInfo.java
@@ -70,9 +70,9 @@
 	 */
     @ConstructorProperties({"cacheName", "cacheSize", "cacheStatus", "cacheStatistics",
     	"hitCountRam", "hitCountAux", "missCountNotFound", "missCountExpired", "byteCount"})
-	public CacheRegionInfo(String cacheName, int cacheSize, String cacheStatus,
-			String cacheStatistics, long hitCountRam, long hitCountAux,
-			long missCountNotFound, long missCountExpired, long byteCount)
+	public CacheRegionInfo(final String cacheName, final int cacheSize, final String cacheStatus,
+			final String cacheStatistics, final long hitCountRam, final long hitCountAux,
+			final long missCountNotFound, final long missCountExpired, final long byteCount)
 	{
 		this.cacheName = cacheName;
 		this.cacheSize = cacheSize;
@@ -165,7 +165,7 @@
     @Override
     public String toString()
     {
-        StringBuilder buf = new StringBuilder();
+        final StringBuilder buf = new StringBuilder();
         buf.append( "\nCacheRegionInfo " );
         if ( cacheName != null )
         {
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/admin/CountingOnlyOutputStream.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/admin/CountingOnlyOutputStream.java
index 3ee9736..a08bdc7 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/admin/CountingOnlyOutputStream.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/admin/CountingOnlyOutputStream.java
@@ -38,7 +38,7 @@
      * @throws IOException
      */
     @Override
-    public void write( byte[] b )
+    public void write( final byte[] b )
         throws IOException
     {
         this.count += b.length;
@@ -53,7 +53,7 @@
      * @throws IOException
      */
     @Override
-    public void write( byte[] b, int off, int len )
+    public void write( final byte[] b, final int off, final int len )
         throws IOException
     {
         this.count += len;
@@ -66,7 +66,7 @@
      * @throws IOException
      */
     @Override
-    public void write( int b )
+    public void write( final int b )
         throws IOException
     {
         this.count++;
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/admin/JCSAdminBean.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/admin/JCSAdminBean.java
index 6d54ffb..4b52893 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/admin/JCSAdminBean.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/admin/JCSAdminBean.java
@@ -62,7 +62,7 @@
         {
             this.cacheHub = CompositeCacheManager.getInstance();
         }
-        catch (CacheException e)
+        catch (final CacheException e)
         {
             throw new RuntimeException("Could not retrieve cache manager instance", e);
         }
@@ -73,7 +73,7 @@
      *
 	 * @param cacheHub the cache manager instance
 	 */
-	public JCSAdminBean(CompositeCacheManager cacheHub)
+	public JCSAdminBean(final CompositeCacheManager cacheHub)
 	{
 		this.cacheHub = cacheHub;
 	}
@@ -86,29 +86,29 @@
      * @throws IOException
      */
     @Override
-    public List<CacheElementInfo> buildElementInfo( String cacheName )
+    public List<CacheElementInfo> buildElementInfo( final String cacheName )
         throws IOException
     {
-        CompositeCache<Object, Object> cache = cacheHub.getCache( cacheName );
+        final CompositeCache<Object, Object> cache = cacheHub.getCache( cacheName );
 
         // Convert all keys to string, store in a sorted map
-        TreeMap<String, ?> keys = new TreeMap<>(cache.getMemoryCache().getKeySet()
+        final TreeMap<String, ?> keys = new TreeMap<>(cache.getMemoryCache().getKeySet()
                 .stream()
                 .collect(Collectors.toMap(Object::toString, k -> k)));
 
-        LinkedList<CacheElementInfo> records = new LinkedList<>();
+        final LinkedList<CacheElementInfo> records = new LinkedList<>();
 
-        DateFormat format = DateFormat.getDateTimeInstance( DateFormat.SHORT, DateFormat.SHORT );
+        final DateFormat format = DateFormat.getDateTimeInstance( DateFormat.SHORT, DateFormat.SHORT );
 
-        long now = System.currentTimeMillis();
+        final long now = System.currentTimeMillis();
 
-        for (Map.Entry<String, ?> key : keys.entrySet())
+        for (final Map.Entry<String, ?> key : keys.entrySet())
         {
-            ICacheElement<?, ?> element = cache.getMemoryCache().getQuiet( key.getValue() );
+            final ICacheElement<?, ?> element = cache.getMemoryCache().getQuiet( key.getValue() );
 
-            IElementAttributes attributes = element.getElementAttributes();
+            final IElementAttributes attributes = element.getElementAttributes();
 
-            CacheElementInfo elementInfo = new CacheElementInfo(
+            final CacheElementInfo elementInfo = new CacheElementInfo(
             		key.getKey(),
             		attributes.getIsEternal(),
             		format.format(new Date(attributes.getCreateTime())),
@@ -131,15 +131,15 @@
     @Override
     public List<CacheRegionInfo> buildCacheInfo()
     {
-        TreeSet<String> cacheNames = new TreeSet<>(cacheHub.getCacheNames());
+        final TreeSet<String> cacheNames = new TreeSet<>(cacheHub.getCacheNames());
 
-        LinkedList<CacheRegionInfo> cacheInfo = new LinkedList<>();
+        final LinkedList<CacheRegionInfo> cacheInfo = new LinkedList<>();
 
-        for (String cacheName : cacheNames)
+        for (final String cacheName : cacheNames)
         {
-            CompositeCache<?, ?> cache = cacheHub.getCache( cacheName );
+            final CompositeCache<?, ?> cache = cacheHub.getCache( cacheName );
 
-            CacheRegionInfo regionInfo = new CacheRegionInfo(
+            final CacheRegionInfo regionInfo = new CacheRegionInfo(
                     cache.getCacheName(),
                     cache.getSize(),
                     cache.getStatus().toString(),
@@ -165,7 +165,7 @@
      * @return int The size of the region in bytes.
      */
 	@Override
-    public long getByteCount(String cacheName)
+    public long getByteCount(final String cacheName)
 	{
 		return getByteCount(cacheHub.getCache(cacheName));
 	}
@@ -177,7 +177,7 @@
      *
      * @return int The size of the region in bytes.
      */
-    public <K, V> long getByteCount(CompositeCache<K, V> cache)
+    public <K, V> long getByteCount(final CompositeCache<K, V> cache)
     {
         if (cache == null)
         {
@@ -185,16 +185,16 @@
         }
 
         long size = 0;
-        IMemoryCache<K, V> memCache = cache.getMemoryCache();
+        final IMemoryCache<K, V> memCache = cache.getMemoryCache();
 
-        for (K key : memCache.getKeySet())
+        for (final K key : memCache.getKeySet())
         {
             ICacheElement<K, V> ice = null;
 			try
 			{
 				ice = memCache.get(key);
 			}
-			catch (IOException e)
+			catch (final IOException e)
 			{
                 throw new RuntimeException("IOException while trying to get a cached element", e);
 			}
@@ -210,15 +210,15 @@
             }
             else
             {
-                Object element = ice.getVal();
+                final Object element = ice.getVal();
 
                 //CountingOnlyOutputStream: Keeps track of the number of bytes written to it, but doesn't write them anywhere.
-                CountingOnlyOutputStream counter = new CountingOnlyOutputStream();
+                final CountingOnlyOutputStream counter = new CountingOnlyOutputStream();
                 try (ObjectOutputStream out = new ObjectOutputStream(counter);)
                 {
                     out.writeObject(element);
                 }
-                catch (IOException e)
+                catch (final IOException e)
                 {
                     throw new RuntimeException("IOException while trying to measure the size of the cached element", e);
                 }
@@ -228,7 +228,7 @@
                 	{
 						counter.close();
 					}
-                	catch (IOException e)
+                	catch (final IOException e)
                 	{
                 		// ignore
 					}
@@ -252,13 +252,13 @@
     @Override
     public void clearAllRegions() throws IOException
     {
-        RemoteCacheServer<?, ?> remoteCacheServer = RemoteCacheServerFactory.getRemoteCacheServer();
+        final RemoteCacheServer<?, ?> remoteCacheServer = RemoteCacheServerFactory.getRemoteCacheServer();
 
         if (remoteCacheServer == null)
         {
             // Not running in a remote cache server.
             // Remove objects from the cache directly, as no need to broadcast removes to client machines...
-            for (String name : cacheHub.getCacheNames())
+            for (final String name : cacheHub.getCacheNames())
             {
                 cacheHub.getCache(name).removeAll();
             }
@@ -268,7 +268,7 @@
             // Running in a remote cache server.
             // Remove objects via the RemoteCacheServer API, so that removes will be broadcast to client machines...
             // Call remoteCacheServer.removeAll(String) for each cacheName...
-            for (String name : cacheHub.getCacheNames())
+            for (final String name : cacheHub.getCacheNames())
             {
                 remoteCacheServer.removeAll(name);
             }
@@ -283,7 +283,7 @@
      * cache API.
      */
     @Override
-    public void clearRegion(String cacheName) throws IOException
+    public void clearRegion(final String cacheName) throws IOException
     {
         if (cacheName == null)
         {
@@ -302,10 +302,10 @@
             try
             {
                 // Call remoteCacheServer.removeAll(String)...
-                RemoteCacheServer<?, ?> remoteCacheServer = RemoteCacheServerFactory.getRemoteCacheServer();
+                final RemoteCacheServer<?, ?> remoteCacheServer = RemoteCacheServerFactory.getRemoteCacheServer();
                 remoteCacheServer.removeAll(cacheName);
             }
-            catch (IOException e)
+            catch (final IOException e)
             {
                 throw new IllegalStateException("Failed to remove all elements from cache region [" + cacheName + "]: " + e, e);
             }
@@ -325,7 +325,7 @@
      * @throws IOException
      */
     @Override
-    public void removeItem(String cacheName, String key) throws IOException
+    public void removeItem(final String cacheName, final String key) throws IOException
     {
         if (cacheName == null)
         {
@@ -348,14 +348,14 @@
             try
             {
                 Object keyToRemove = null;
-                CompositeCache<?, ?> cache = CompositeCacheManager.getInstance().getCache(cacheName);
+                final CompositeCache<?, ?> cache = CompositeCacheManager.getInstance().getCache(cacheName);
 
                 // A String key was supplied, but to remove elements via the RemoteCacheServer API, we need the
                 // actual key object as stored in the cache (i.e. a Serializable object). To find the key in this form,
                 // we iterate through all keys stored in the memory cache until we find one whose toString matches
                 // the string supplied...
-                Set<?> allKeysInCache = cache.getMemoryCache().getKeySet();
-                for (Object keyInCache : allKeysInCache)
+                final Set<?> allKeysInCache = cache.getMemoryCache().getKeySet();
+                for (final Object keyInCache : allKeysInCache)
                 {
                     if (keyInCache.toString().equals(key))
                     {
@@ -377,10 +377,10 @@
                 // At this point, we have retrieved the matching K key.
 
                 // Call remoteCacheServer.remove(String, Serializable)...
-                RemoteCacheServer<Serializable, Serializable> remoteCacheServer = RemoteCacheServerFactory.getRemoteCacheServer();
+                final RemoteCacheServer<Serializable, Serializable> remoteCacheServer = RemoteCacheServerFactory.getRemoteCacheServer();
                 remoteCacheServer.remove(cacheName, key);
             }
-            catch (Exception e)
+            catch (final Exception e)
             {
                 throw new IllegalStateException("Failed to remove element with key [" + key + ", " + key.getClass() + "] from cache region [" + cacheName + "]: " + e, e);
             }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/AbstractAuxiliaryCache.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/AbstractAuxiliaryCache.java
index bfb231b..d9df597 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/AbstractAuxiliaryCache.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/AbstractAuxiliaryCache.java
@@ -54,7 +54,7 @@
      * @return a map of K key to ICacheElement&lt;K, V&gt; element, or an empty map if there is no
      *         data in cache for any of these keys
      */
-    protected Map<K, ICacheElement<K, V>> processGetMultiple(Set<K> keys) throws IOException
+    protected Map<K, ICacheElement<K, V>> processGetMultiple(final Set<K> keys) throws IOException
     {
         if (keys != null)
         {
@@ -64,7 +64,7 @@
                     {
                         return get(key);
                     }
-                    catch (IOException e)
+                    catch (final IOException e)
                     {
                         return null;
                     }
@@ -95,13 +95,13 @@
      * @param eventName
      * @return ICacheEvent
      */
-    protected ICacheEvent<K> createICacheEvent( ICacheElement<K, V> item, String eventName )
+    protected ICacheEvent<K> createICacheEvent( final ICacheElement<K, V> item, final String eventName )
     {
         if ( cacheEventLogger == null )
         {
             return new CacheEvent<>();
         }
-        String diskLocation = getEventLoggingExtraInfo();
+        final String diskLocation = getEventLoggingExtraInfo();
         String regionName = null;
         K key = null;
         if ( item != null )
@@ -121,13 +121,13 @@
      * @param eventName
      * @return ICacheEvent
      */
-    protected <T> ICacheEvent<T> createICacheEvent( String regionName, T key, String eventName )
+    protected <T> ICacheEvent<T> createICacheEvent( final String regionName, final T key, final String eventName )
     {
         if ( cacheEventLogger == null )
         {
             return new CacheEvent<>();
         }
-        String diskLocation = getEventLoggingExtraInfo();
+        final String diskLocation = getEventLoggingExtraInfo();
         return cacheEventLogger.createICacheEvent( getAuxiliaryCacheAttributes().getName(), regionName, eventName,
                                                    diskLocation, key );
 
@@ -138,7 +138,7 @@
      * <p>
      * @param cacheEvent
      */
-    protected <T> void logICacheEvent( ICacheEvent<T> cacheEvent )
+    protected <T> void logICacheEvent( final ICacheEvent<T> cacheEvent )
     {
         if ( cacheEventLogger != null )
         {
@@ -153,7 +153,7 @@
      * @param eventName
      * @param optionalDetails
      */
-    protected void logApplicationEvent( String source, String eventName, String optionalDetails )
+    protected void logApplicationEvent( final String source, final String eventName, final String optionalDetails )
     {
         if ( cacheEventLogger != null )
         {
@@ -168,7 +168,7 @@
      * @param eventName
      * @param errorMessage
      */
-    protected void logError( String source, String eventName, String errorMessage )
+    protected void logError( final String source, final String eventName, final String errorMessage )
     {
         if ( cacheEventLogger != null )
         {
@@ -189,7 +189,7 @@
      * @param cacheEventLogger
      */
     @Override
-    public void setCacheEventLogger( ICacheEventLogger cacheEventLogger )
+    public void setCacheEventLogger( final ICacheEventLogger cacheEventLogger )
     {
         this.cacheEventLogger = cacheEventLogger;
     }
@@ -213,7 +213,7 @@
      * @param elementSerializer
      */
     @Override
-    public void setElementSerializer( IElementSerializer elementSerializer )
+    public void setElementSerializer( final IElementSerializer elementSerializer )
     {
         if ( elementSerializer != null )
         {
@@ -237,7 +237,7 @@
      * @param keyMatcher
      */
     @Override
-    public void setKeyMatcher( IKeyMatcher<K> keyMatcher )
+    public void setKeyMatcher( final IKeyMatcher<K> keyMatcher )
     {
         if ( keyMatcher != null )
         {
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/AbstractAuxiliaryCacheAttributes.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/AbstractAuxiliaryCacheAttributes.java
index 8792615..757409a 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/AbstractAuxiliaryCacheAttributes.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/AbstractAuxiliaryCacheAttributes.java
@@ -46,7 +46,7 @@
      * @param name
      */
     @Override
-    public void setCacheName( String name )
+    public void setCacheName( final String name )
     {
         this.cacheName = name;
     }
@@ -68,7 +68,7 @@
      * @see org.apache.commons.jcs3.auxiliary.AuxiliaryCacheAttributes#setName(java.lang.String)
      */
     @Override
-    public void setName( String s )
+    public void setName( final String s )
     {
         this.name = s;
     }
@@ -90,7 +90,7 @@
      * @param queueType SINGLE or POOLED
      */
     @Override
-    public void setEventQueueType( ICacheEventQueue.QueueType queueType )
+    public void setEventQueueType( final ICacheEventQueue.QueueType queueType )
     {
         this.eventQueueType = queueType;
     }
@@ -111,7 +111,7 @@
      * @param s SINGLE or POOLED
      */
     @Override
-    public void setEventQueuePoolName( String s )
+    public void setEventQueuePoolName( final String s )
     {
         eventQueuePoolName = s;
     }
@@ -138,7 +138,7 @@
         {
             return (AbstractAuxiliaryCacheAttributes)super.clone();
         }
-        catch (CloneNotSupportedException e)
+        catch (final CloneNotSupportedException e)
         {
             throw new RuntimeException("Clone not supported. This should never happen.", e);
         }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/AbstractAuxiliaryCacheEventLogging.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/AbstractAuxiliaryCacheEventLogging.java
index 8b78f3b..d7db07c 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/AbstractAuxiliaryCacheEventLogging.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/AbstractAuxiliaryCacheEventLogging.java
@@ -44,7 +44,7 @@
      * @throws IOException
      */
     @Override
-    public void update( ICacheElement<K, V> cacheElement )
+    public void update( final ICacheElement<K, V> cacheElement )
         throws IOException
     {
         updateWithEventLogging( cacheElement );
@@ -56,10 +56,10 @@
      * @param cacheElement
      * @throws IOException
      */
-    protected final void updateWithEventLogging( ICacheElement<K, V> cacheElement )
+    protected final void updateWithEventLogging( final ICacheElement<K, V> cacheElement )
         throws IOException
     {
-        ICacheEvent<K> cacheEvent = createICacheEvent( cacheElement, ICacheEventLogger.UPDATE_EVENT );
+        final ICacheEvent<K> cacheEvent = createICacheEvent( cacheElement, ICacheEventLogger.UPDATE_EVENT );
         try
         {
             processUpdate( cacheElement );
@@ -87,7 +87,7 @@
      * @throws IOException
      */
     @Override
-    public ICacheElement<K, V> get( K key )
+    public ICacheElement<K, V> get( final K key )
         throws IOException
     {
         return getWithEventLogging( key );
@@ -100,10 +100,10 @@
      * @return ICacheElement, a wrapper around the key, value, and attributes
      * @throws IOException
      */
-    protected final ICacheElement<K, V> getWithEventLogging( K key )
+    protected final ICacheElement<K, V> getWithEventLogging( final K key )
         throws IOException
     {
-        ICacheEvent<K> cacheEvent = createICacheEvent( getCacheName(), key, ICacheEventLogger.GET_EVENT );
+        final ICacheEvent<K> cacheEvent = createICacheEvent( getCacheName(), key, ICacheEventLogger.GET_EVENT );
         try
         {
             return processGet( key );
@@ -133,7 +133,7 @@
      * @throws IOException
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMultiple(Set<K> keys)
+    public Map<K, ICacheElement<K, V>> getMultiple(final Set<K> keys)
         throws IOException
     {
         return getMultipleWithEventLogging( keys );
@@ -147,10 +147,10 @@
      *         data in cache for any of these keys
      * @throws IOException
      */
-    protected final Map<K, ICacheElement<K, V>> getMultipleWithEventLogging(Set<K> keys )
+    protected final Map<K, ICacheElement<K, V>> getMultipleWithEventLogging(final Set<K> keys )
         throws IOException
     {
-        ICacheEvent<Serializable> cacheEvent = createICacheEvent( getCacheName(), (Serializable) keys,
+        final ICacheEvent<Serializable> cacheEvent = createICacheEvent( getCacheName(), (Serializable) keys,
                                                     ICacheEventLogger.GETMULTIPLE_EVENT );
         try
         {
@@ -177,7 +177,7 @@
      * @throws IOException
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMatching( String pattern )
+    public Map<K, ICacheElement<K, V>> getMatching( final String pattern )
         throws IOException
     {
         return getMatchingWithEventLogging( pattern );
@@ -191,10 +191,10 @@
      *         data matching the pattern.
      * @throws IOException
      */
-    protected final Map<K, ICacheElement<K, V>> getMatchingWithEventLogging( String pattern )
+    protected final Map<K, ICacheElement<K, V>> getMatchingWithEventLogging( final String pattern )
         throws IOException
     {
-        ICacheEvent<String> cacheEvent = createICacheEvent( getCacheName(), pattern, ICacheEventLogger.GETMATCHING_EVENT );
+        final ICacheEvent<String> cacheEvent = createICacheEvent( getCacheName(), pattern, ICacheEventLogger.GETMATCHING_EVENT );
         try
         {
             return processGetMatching( pattern );
@@ -224,7 +224,7 @@
      * @throws IOException
      */
     @Override
-    public boolean remove( K key )
+    public boolean remove( final K key )
         throws IOException
     {
         return removeWithEventLogging( key );
@@ -237,10 +237,10 @@
      * @return boolean, whether or not the item was removed
      * @throws IOException
      */
-    protected final boolean removeWithEventLogging( K key )
+    protected final boolean removeWithEventLogging( final K key )
         throws IOException
     {
-        ICacheEvent<K> cacheEvent = createICacheEvent( getCacheName(), key, ICacheEventLogger.REMOVE_EVENT );
+        final ICacheEvent<K> cacheEvent = createICacheEvent( getCacheName(), key, ICacheEventLogger.REMOVE_EVENT );
         try
         {
             return processRemove( key );
@@ -281,7 +281,7 @@
     protected final void removeAllWithEventLogging()
         throws IOException
     {
-        ICacheEvent<String> cacheEvent = createICacheEvent( getCacheName(), "all", ICacheEventLogger.REMOVEALL_EVENT );
+        final ICacheEvent<String> cacheEvent = createICacheEvent( getCacheName(), "all", ICacheEventLogger.REMOVEALL_EVENT );
         try
         {
             processRemoveAll();
@@ -321,7 +321,7 @@
     protected final void disposeWithEventLogging()
         throws IOException
     {
-        ICacheEvent<String> cacheEvent = createICacheEvent( getCacheName(), "none", ICacheEventLogger.DISPOSE_EVENT );
+        final ICacheEvent<String> cacheEvent = createICacheEvent( getCacheName(), "none", ICacheEventLogger.DISPOSE_EVENT );
         try
         {
             processDispose();
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/AbstractAuxiliaryCacheFactory.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/AbstractAuxiliaryCacheFactory.java
index bca907f..606ccc3 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/AbstractAuxiliaryCacheFactory.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/AbstractAuxiliaryCacheFactory.java
@@ -45,7 +45,7 @@
      * @param name The new name value
      */
     @Override
-    public void setName( String name )
+    public void setName( final String name )
     {
         this.name = name;
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/AbstractAuxiliaryCacheMonitor.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/AbstractAuxiliaryCacheMonitor.java
index 2595ddd..bc62464 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/AbstractAuxiliaryCacheMonitor.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/AbstractAuxiliaryCacheMonitor.java
@@ -63,7 +63,7 @@
      *

      * @param name the thread name

      */

-    public AbstractAuxiliaryCacheMonitor(String name)

+    public AbstractAuxiliaryCacheMonitor(final String name)

     {

         super(name);

     }

@@ -73,7 +73,7 @@
      * <p>

      * @param idlePeriod The new idlePeriod value

      */

-    public static void setIdlePeriod( long idlePeriod )

+    public static void setIdlePeriod( final long idlePeriod )

     {

         if ( idlePeriod > AbstractAuxiliaryCacheMonitor.idlePeriod )

         {

@@ -153,7 +153,7 @@
                     trigger.await();

                     // wake up only if there is an error.

                 }

-                catch ( InterruptedException ignore )

+                catch ( final InterruptedException ignore )

                 {

                     //no op, this is expected

                 }

@@ -187,7 +187,7 @@
 

                 Thread.sleep( idlePeriod );

             }

-            catch ( InterruptedException ex )

+            catch ( final InterruptedException ex )

             {

                 // ignore;

             }

diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/AuxiliaryCacheConfigurator.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/AuxiliaryCacheConfigurator.java
index 575f1c4..90f0610 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/AuxiliaryCacheConfigurator.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/AuxiliaryCacheConfigurator.java
@@ -62,15 +62,15 @@
      * @param auxPrefix - ex. AUXILIARY_PREFIX + auxName
      * @return cacheEventLogger
      */
-    public static ICacheEventLogger parseCacheEventLogger( Properties props, String auxPrefix )
+    public static ICacheEventLogger parseCacheEventLogger( final Properties props, final String auxPrefix )
     {
 
         // auxFactory was not previously initialized.
-        String eventLoggerClassName = auxPrefix + CACHE_EVENT_LOGGER_PREFIX;
-        ICacheEventLogger cacheEventLogger = OptionConverter.instantiateByKey( props, eventLoggerClassName, null );
+        final String eventLoggerClassName = auxPrefix + CACHE_EVENT_LOGGER_PREFIX;
+        final ICacheEventLogger cacheEventLogger = OptionConverter.instantiateByKey( props, eventLoggerClassName, null );
         if ( cacheEventLogger != null )
         {
-            String cacheEventLoggerAttributePrefix = auxPrefix + CACHE_EVENT_LOGGER_PREFIX + ATTRIBUTE_PREFIX;
+            final String cacheEventLoggerAttributePrefix = auxPrefix + CACHE_EVENT_LOGGER_PREFIX + ATTRIBUTE_PREFIX;
             PropertySetter.setProperties( cacheEventLogger, props, cacheEventLoggerAttributePrefix + "." );
             log.info( "Using custom cache event logger [{0}] for auxiliary [{1}]",
                     cacheEventLogger, auxPrefix );
@@ -89,15 +89,15 @@
      * @param auxPrefix - ex. AUXILIARY_PREFIX + auxName
      * @return cacheEventLogger
      */
-    public static IElementSerializer parseElementSerializer( Properties props, String auxPrefix )
+    public static IElementSerializer parseElementSerializer( final Properties props, final String auxPrefix )
     {
         // TODO take in the entire prop key
         // auxFactory was not previously initialized.
-        String elementSerializerClassName = auxPrefix + SERIALIZER_PREFIX;
+        final String elementSerializerClassName = auxPrefix + SERIALIZER_PREFIX;
         IElementSerializer elementSerializer = OptionConverter.instantiateByKey( props, elementSerializerClassName, null );
         if ( elementSerializer != null )
         {
-            String attributePrefix = auxPrefix + SERIALIZER_PREFIX + ATTRIBUTE_PREFIX;
+            final String attributePrefix = auxPrefix + SERIALIZER_PREFIX + ATTRIBUTE_PREFIX;
             PropertySetter.setProperties( elementSerializer, props, attributePrefix + "." );
             log.info( "Using custom element serializer [{0}] for auxiliary [{1}]",
                     elementSerializer, auxPrefix );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/AbstractDiskCache.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/AbstractDiskCache.java
index 138c2a7..b3aca70 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/AbstractDiskCache.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/AbstractDiskCache.java
@@ -108,13 +108,13 @@
      *
      * @param attr
      */
-    protected AbstractDiskCache( IDiskCacheAttributes attr )
+    protected AbstractDiskCache( final IDiskCacheAttributes attr )
     {
         this.diskCacheAttributes = attr;
         this.cacheName = attr.getCacheName();
 
         // create queue
-        CacheEventQueueFactory<K, V> fact = new CacheEventQueueFactory<>();
+        final CacheEventQueueFactory<K, V> fact = new CacheEventQueueFactory<>();
         this.cacheEventQueue = fact.createCacheEventQueue( new MyCacheListener(), CacheInfo.listenerId, cacheName,
                                                            diskCacheAttributes.getEventQueuePoolName(),
                                                            diskCacheAttributes.getEventQueueType() );
@@ -134,7 +134,7 @@
     /**
      * @param alive set the alive status
      */
-    public void setAlive(boolean alive)
+    public void setAlive(final boolean alive)
     {
         this.alive = alive;
     }
@@ -187,7 +187,7 @@
      * @see org.apache.commons.jcs3.engine.behavior.ICache#update
      */
     @Override
-    public final void update( ICacheElement<K, V> cacheElement )
+    public final void update( final ICacheElement<K, V> cacheElement )
         throws IOException
     {
         log.debug( "Putting element in purgatory, cacheName: {0}, key: {1}",
@@ -196,7 +196,7 @@
         try
         {
             // Wrap the CacheElement in a PurgatoryElement
-            PurgatoryElement<K, V> pe = new PurgatoryElement<>( cacheElement );
+            final PurgatoryElement<K, V> pe = new PurgatoryElement<>( cacheElement );
 
             // Indicates the the element is eligible to be spooled to disk,
             // this will remain true unless the item is pulled back into
@@ -212,7 +212,7 @@
             // Queue element for serialization
             cacheEventQueue.addPutEvent( pe );
         }
-        catch ( IOException ex )
+        catch ( final IOException ex )
         {
             log.error( "Problem adding put event to queue.", ex );
 
@@ -229,7 +229,7 @@
      * @see AuxiliaryCache#get
      */
     @Override
-    public final ICacheElement<K, V> get( K key )
+    public final ICacheElement<K, V> get( final K key )
     {
         // If not alive, always return null.
 
@@ -280,7 +280,7 @@
         {
             return doGet( key );
         }
-        catch ( Exception e )
+        catch ( final Exception e )
         {
             log.error( e );
 
@@ -305,7 +305,7 @@
      * @throws IOException
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMatching( String pattern )
+    public Map<K, ICacheElement<K, V>> getMatching( final String pattern )
         throws IOException
     {
         // Get the keys from purgatory
@@ -317,13 +317,13 @@
             keyArray = new HashSet<>(purgatory.keySet());
         }
 
-        Set<K> matchingKeys = getKeyMatcher().getMatchingKeysFromArray( pattern, keyArray );
+        final Set<K> matchingKeys = getKeyMatcher().getMatchingKeysFromArray( pattern, keyArray );
 
         // call getMultiple with the set
-        Map<K, ICacheElement<K, V>> result = processGetMultiple( matchingKeys );
+        final Map<K, ICacheElement<K, V>> result = processGetMultiple( matchingKeys );
 
         // Get the keys from disk
-        Map<K, ICacheElement<K, V>> diskMatches = doGetMatching( pattern );
+        final Map<K, ICacheElement<K, V>> diskMatches = doGetMatching( pattern );
 
         result.putAll( diskMatches );
 
@@ -347,7 +347,7 @@
      * @see org.apache.commons.jcs3.engine.behavior.ICache#remove
      */
     @Override
-    public final boolean remove( K key )
+    public final boolean remove( final K key )
         throws IOException
     {
         PurgatoryElement<K, V> pe = null;
@@ -425,11 +425,11 @@
     public final void dispose()
         throws IOException
     {
-        Thread t = new Thread(() ->
+        final Thread t = new Thread(() ->
         {
             boolean keepGoing = true;
             // long total = 0;
-            long interval = 100;
+            final long interval = 100;
             while ( keepGoing )
             {
                 keepGoing = !cacheEventQueue.isEmpty();
@@ -439,7 +439,7 @@
                     // total += interval;
                     // log.info( "total = " + total );
                 }
-                catch ( InterruptedException e )
+                catch ( final InterruptedException e )
                 {
                     break;
                 }
@@ -453,7 +453,7 @@
         {
             t.join( this.diskCacheAttributes.getShutdownSpoolTimeLimit() * 1000L );
         }
-        catch ( InterruptedException ex )
+        catch ( final InterruptedException ex )
         {
             log.error( "The Shutdown Spool Process was interrupted.", ex );
         }
@@ -498,16 +498,16 @@
     @Override
     public IStats getStatistics()
     {
-        IStats stats = new Stats();
+        final IStats stats = new Stats();
         stats.setTypeName( "Abstract Disk Cache" );
 
-        ArrayList<IStatElement<?>> elems = new ArrayList<>();
+        final ArrayList<IStatElement<?>> elems = new ArrayList<>();
 
         elems.add(new StatElement<>( "Purgatory Hits", Integer.valueOf(purgHits) ) );
         elems.add(new StatElement<>( "Purgatory Size", Integer.valueOf(purgatory.size()) ) );
 
         // get the stats from the event queue too
-        IStats eqStats = this.cacheEventQueue.getStatistics();
+        final IStats eqStats = this.cacheEventQueue.getStatistics();
         elems.addAll(eqStats.getStatElements());
 
         stats.setStatElements( elems );
@@ -573,7 +573,7 @@
          * @see ICacheListener#setListenerId
          */
         @Override
-        public void setListenerId( long id )
+        public void setListenerId( final long id )
             throws IOException
         {
             this.listenerId = id;
@@ -597,7 +597,7 @@
                 // if it is still spoolable, and remove it from purgatory.
                 if ( element instanceof PurgatoryElement )
                 {
-                    PurgatoryElement<K, V> pe = (PurgatoryElement<K, V>) element;
+                    final PurgatoryElement<K, V> pe = (PurgatoryElement<K, V>) element;
 
                     synchronized ( pe.getCacheElement() )
                     {
@@ -671,7 +671,7 @@
          * @see ICacheListener#handleRemove
          */
         @Override
-        public void handleRemove( String cacheName, K key )
+        public void handleRemove( final String cacheName, final K key )
             throws IOException
         {
             if ( alive )
@@ -689,7 +689,7 @@
          * @see ICacheListener#handleRemoveAll
          */
         @Override
-        public void handleRemoveAll( String cacheName )
+        public void handleRemoveAll( final String cacheName )
             throws IOException
         {
             if ( alive )
@@ -704,7 +704,7 @@
          * @see ICacheListener#handleDispose
          */
         @Override
-        public void handleDispose( String cacheName )
+        public void handleDispose( final String cacheName )
             throws IOException
         {
             if ( alive )
@@ -733,7 +733,7 @@
      * @return An object matching key, or null.
      * @throws IOException
      */
-    protected final ICacheElement<K, V> doGet( K key )
+    protected final ICacheElement<K, V> doGet( final K key )
         throws IOException
     {
         return super.getWithEventLogging( key );
@@ -750,7 +750,7 @@
      * @return A map of matches..
      * @throws IOException
      */
-    protected final Map<K, ICacheElement<K, V>> doGetMatching( String pattern )
+    protected final Map<K, ICacheElement<K, V>> doGetMatching( final String pattern )
         throws IOException
     {
         return super.getMatchingWithEventLogging( pattern );
@@ -766,7 +766,7 @@
      * @param cacheElement
      * @throws IOException
      */
-    protected final void doUpdate( ICacheElement<K, V> cacheElement )
+    protected final void doUpdate( final ICacheElement<K, V> cacheElement )
         throws IOException
     {
         super.updateWithEventLogging( cacheElement );
@@ -783,7 +783,7 @@
      * @return whether or no the item was present when removed
      * @throws IOException
      */
-    protected final boolean doRemove( K key )
+    protected final boolean doRemove( final K key )
         throws IOException
     {
         return super.removeWithEventLogging( key );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/AbstractDiskCacheAttributes.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/AbstractDiskCacheAttributes.java
index 266c922..4aa4c6c 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/AbstractDiskCacheAttributes.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/AbstractDiskCacheAttributes.java
@@ -66,7 +66,7 @@
      *            The new diskPath value
      */
     @Override
-    public void setDiskPath(String path)
+    public void setDiskPath(final String path)
     {
         setDiskPath(new File(path));
     }
@@ -78,7 +78,7 @@
      * @param diskPath
      *            The new diskPath value
      */
-    public void setDiskPath(File diskPath)
+    public void setDiskPath(final File diskPath)
     {
         this.diskPath = diskPath;
         boolean result = this.diskPath.isDirectory();
@@ -125,7 +125,7 @@
      *            The new maxPurgatorySize value
      */
     @Override
-    public void setMaxPurgatorySize(int maxPurgatorySize)
+    public void setMaxPurgatorySize(final int maxPurgatorySize)
     {
         this.maxPurgatorySize = maxPurgatorySize;
     }
@@ -156,7 +156,7 @@
      *            the time in seconds
      */
     @Override
-    public void setShutdownSpoolTimeLimit(int shutdownSpoolTimeLimit)
+    public void setShutdownSpoolTimeLimit(final int shutdownSpoolTimeLimit)
     {
         this.shutdownSpoolTimeLimit = shutdownSpoolTimeLimit;
     }
@@ -166,7 +166,7 @@
      *            The allowRemoveAll to set.
      */
     @Override
-    public void setAllowRemoveAll(boolean allowRemoveAll)
+    public void setAllowRemoveAll(final boolean allowRemoveAll)
     {
         this.allowRemoveAll = allowRemoveAll;
     }
@@ -189,7 +189,7 @@
     @Override
     public String toString()
     {
-        StringBuilder str = new StringBuilder();
+        final StringBuilder str = new StringBuilder();
         str.append("AbstractDiskCacheAttributes ");
         str.append("\n diskPath = " + getDiskPath());
         str.append("\n maxPurgatorySize   = " + getMaxPurgatorySize());
@@ -199,13 +199,13 @@
     }
 
     @Override
-    public void setDiskLimitType(DiskLimitType diskLimitType)
+    public void setDiskLimitType(final DiskLimitType diskLimitType)
     {
         this.diskLimitType = diskLimitType;
     }
 
     @Override
-    public void setDiskLimitTypeName(String diskLimitTypeName)
+    public void setDiskLimitTypeName(final String diskLimitTypeName)
     {
         if (diskLimitTypeName != null)
         {
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/PurgatoryElement.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/PurgatoryElement.java
index f2babab..f7fa6f5 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/PurgatoryElement.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/PurgatoryElement.java
@@ -46,7 +46,7 @@
      *
      * @param cacheElement CacheElement
      */
-    public PurgatoryElement( ICacheElement<K, V> cacheElement )
+    public PurgatoryElement( final ICacheElement<K, V> cacheElement )
     {
         super(cacheElement.getCacheName(),
                 cacheElement.getKey(), cacheElement.getVal(),
@@ -69,7 +69,7 @@
      *
      * @param spoolable The new spoolable value
      */
-    public void setSpoolable( boolean spoolable )
+    public void setSpoolable( final boolean spoolable )
     {
         this.spoolable = spoolable;
     }
@@ -131,7 +131,7 @@
      * @see ICacheElement#setElementAttributes
      */
     @Override
-    public void setElementAttributes( IElementAttributes attr )
+    public void setElementAttributes( final IElementAttributes attr )
     {
         cacheElement.setElementAttributes( attr );
     }
@@ -142,7 +142,7 @@
     @Override
     public String toString()
     {
-        StringBuilder buf = new StringBuilder();
+        final StringBuilder buf = new StringBuilder();
         buf.append( "[PurgatoryElement: " );
         buf.append( " isSpoolable = " + isSpoolable() );
         buf.append( " CacheElement = " + getCacheElement() );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDisk.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDisk.java
index 517a9bf..7b0555c 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDisk.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDisk.java
@@ -85,7 +85,7 @@
      * @param elementSerializer
      * @throws IOException
      */
-    public BlockDisk(File file, IElementSerializer elementSerializer)
+    public BlockDisk(final File file, final IElementSerializer elementSerializer)
         throws IOException
     {
         this(file, DEFAULT_BLOCK_SIZE_BYTES, elementSerializer);
@@ -98,7 +98,7 @@
      * @param blockSizeBytes
      * @throws IOException
      */
-    public BlockDisk(File file, int blockSizeBytes)
+    public BlockDisk(final File file, final int blockSizeBytes)
         throws IOException
     {
         this(file, blockSizeBytes, new StandardSerializer());
@@ -112,7 +112,7 @@
      * @param elementSerializer
      * @throws IOException
      */
-    public BlockDisk(File file, int blockSizeBytes, IElementSerializer elementSerializer)
+    public BlockDisk(final File file, final int blockSizeBytes, final IElementSerializer elementSerializer)
         throws IOException
     {
         this.filepath = file.getAbsolutePath();
@@ -134,11 +134,11 @@
      * @param numBlocksNeeded
      * @return an array of allocated blocks
      */
-    private int[] allocateBlocks(int numBlocksNeeded)
+    private int[] allocateBlocks(final int numBlocksNeeded)
     {
         assert numBlocksNeeded >= 1;
 
-        int[] blocks = new int[numBlocksNeeded];
+        final int[] blocks = new int[numBlocksNeeded];
         // get them from the empty list or take the next one
         for (int i = 0; i < numBlocksNeeded; i++)
         {
@@ -170,11 +170,11 @@
      * @return the blocks we used.
      * @throws IOException
      */
-    protected <T> int[] write(T object)
+    protected <T> int[] write(final T object)
         throws IOException
     {
         // serialize the object
-        byte[] data = elementSerializer.serialize(object);
+        final byte[] data = elementSerializer.serialize(object);
 
         log.debug("write, total pre-chunking data.length = {0}", data.length);
 
@@ -182,29 +182,29 @@
         this.putCount.incrementAndGet();
 
         // figure out how many blocks we need.
-        int numBlocksNeeded = calculateTheNumberOfBlocksNeeded(data);
+        final int numBlocksNeeded = calculateTheNumberOfBlocksNeeded(data);
 
         log.debug("numBlocksNeeded = {0}", numBlocksNeeded);
 
         // allocate blocks
-        int[] blocks = allocateBlocks(numBlocksNeeded);
+        final int[] blocks = allocateBlocks(numBlocksNeeded);
 
         int offset = 0;
         final int maxChunkSize = blockSizeBytes - HEADER_SIZE_BYTES;
-        ByteBuffer headerBuffer = ByteBuffer.allocate(HEADER_SIZE_BYTES);
-        ByteBuffer dataBuffer = ByteBuffer.wrap(data);
+        final ByteBuffer headerBuffer = ByteBuffer.allocate(HEADER_SIZE_BYTES);
+        final ByteBuffer dataBuffer = ByteBuffer.wrap(data);
 
         for (int i = 0; i < numBlocksNeeded; i++)
         {
             headerBuffer.clear();
-            int length = Math.min(maxChunkSize, data.length - offset);
+            final int length = Math.min(maxChunkSize, data.length - offset);
             headerBuffer.putInt(length);
             headerBuffer.flip();
 
             dataBuffer.position(offset).limit(offset + length);
-            ByteBuffer slice = dataBuffer.slice();
+            final ByteBuffer slice = dataBuffer.slice();
 
-            long position = calculateByteOffsetForBlockAsLong(blocks[i]);
+            final long position = calculateByteOffsetForBlockAsLong(blocks[i]);
             // write the header
             int written = fc.write(headerBuffer, position);
             assert written == HEADER_SIZE_BYTES;
@@ -228,9 +228,9 @@
      * @param numBlocksNeeded
      * @return byte[][]
      */
-    protected byte[][] getBlockChunks(byte[] complete, int numBlocksNeeded)
+    protected byte[][] getBlockChunks(final byte[] complete, final int numBlocksNeeded)
     {
-        byte[][] chunks = new byte[numBlocksNeeded][];
+        final byte[][] chunks = new byte[numBlocksNeeded][];
 
         if (numBlocksNeeded == 1)
         {
@@ -238,15 +238,15 @@
         }
         else
         {
-            int maxChunkSize = this.blockSizeBytes - HEADER_SIZE_BYTES;
-            int totalBytes = complete.length;
+            final int maxChunkSize = this.blockSizeBytes - HEADER_SIZE_BYTES;
+            final int totalBytes = complete.length;
             int totalUsed = 0;
             for (short i = 0; i < numBlocksNeeded; i++)
             {
                 // use the max that can be written to a block or whatever is left in the original
                 // array
-                int chunkSize = Math.min(maxChunkSize, totalBytes - totalUsed);
-                byte[] chunk = new byte[chunkSize];
+                final int chunkSize = Math.min(maxChunkSize, totalBytes - totalUsed);
+                final byte[] chunk = new byte[chunkSize];
                 // copy from the used position to the chunk size on the complete array to the chunk
                 // array.
                 System.arraycopy(complete, totalUsed, chunk, 0, chunkSize);
@@ -266,7 +266,7 @@
      * @throws IOException
      * @throws ClassNotFoundException
      */
-    protected <T> T read(int[] blockNumbers)
+    protected <T> T read(final int[] blockNumbers)
         throws IOException, ClassNotFoundException
     {
         final ByteBuffer data;
@@ -281,7 +281,7 @@
             // get all the blocks into data
             for (short i = 0; i < blockNumbers.length; i++)
             {
-                ByteBuffer chunk = readBlock(blockNumbers[i]);
+                final ByteBuffer chunk = readBlock(blockNumbers[i]);
                 data.put(chunk);
             }
 
@@ -303,16 +303,16 @@
      * @param block
      * @throws IOException
      */
-    private ByteBuffer readBlock(int block)
+    private ByteBuffer readBlock(final int block)
         throws IOException
     {
         int datalen = 0;
 
         String message = null;
         boolean corrupted = false;
-        long fileLength = fc.size();
+        final long fileLength = fc.size();
 
-        long position = calculateByteOffsetForBlockAsLong(block);
+        final long position = calculateByteOffsetForBlockAsLong(block);
 //        if (position > fileLength)
 //        {
 //            corrupted = true;
@@ -320,7 +320,7 @@
 //        }
 //        else
         {
-            ByteBuffer datalength = ByteBuffer.allocate(HEADER_SIZE_BYTES);
+            final ByteBuffer datalength = ByteBuffer.allocate(HEADER_SIZE_BYTES);
             fc.read(datalength, position);
             datalength.flip();
             datalen = datalength.getInt();
@@ -337,7 +337,7 @@
             throw new IOException("The File Is Corrupt, need to reset");
         }
 
-        ByteBuffer data = ByteBuffer.allocate(datalen);
+        final ByteBuffer data = ByteBuffer.allocate(datalen);
         fc.read(data, position + HEADER_SIZE_BYTES);
         data.flip();
 
@@ -349,7 +349,7 @@
      * <p>
      * @param blocksToFree
      */
-    protected void freeBlocks(int[] blocksToFree)
+    protected void freeBlocks(final int[] blocksToFree)
     {
         if (blocksToFree != null)
         {
@@ -367,7 +367,7 @@
      * @return the byte offset for this block in the file as a long
      * @since 2.0
      */
-    protected long calculateByteOffsetForBlockAsLong(int block)
+    protected long calculateByteOffsetForBlockAsLong(final int block)
     {
         return (long) block * blockSizeBytes;
     }
@@ -378,11 +378,11 @@
      * @param data
      * @return the number of blocks needed to store the byte array
      */
-    protected int calculateTheNumberOfBlocksNeeded(byte[] data)
+    protected int calculateTheNumberOfBlocksNeeded(final byte[] data)
     {
-        int dataLength = data.length;
+        final int dataLength = data.length;
 
-        int oneBlock = blockSizeBytes - HEADER_SIZE_BYTES;
+        final int oneBlock = blockSizeBytes - HEADER_SIZE_BYTES;
 
         // takes care of 0 = HEADER_SIZE_BYTES + blockSizeBytes
         if (dataLength <= oneBlock)
@@ -460,7 +460,7 @@
      */
     protected long getAveragePutSizeBytes()
     {
-        long count = this.putCount.get();
+        final long count = this.putCount.get();
 
         if (count == 0)
         {
@@ -485,7 +485,7 @@
     @Override
     public String toString()
     {
-        StringBuilder buf = new StringBuilder();
+        final StringBuilder buf = new StringBuilder();
         buf.append("\nBlock Disk ");
         buf.append("\n  Filepath [" + filepath + "]");
         buf.append("\n  NumberOfBlocks [" + this.numberOfBlocks.get() + "]");
@@ -498,7 +498,7 @@
         {
             buf.append("\n  Length [" + length() + "]");
         }
-        catch (IOException e)
+        catch (final IOException e)
         {
             // swallow
         }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCache.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCache.java
index 2a421d3..9f3ab59 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCache.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCache.java
@@ -91,7 +91,7 @@
      * <p>
      * @param cacheAttributes
      */
-    public BlockDiskCache( BlockDiskCacheAttributes cacheAttributes )
+    public BlockDiskCache( final BlockDiskCacheAttributes cacheAttributes )
     {
         this( cacheAttributes, null );
     }
@@ -102,7 +102,7 @@
      * @param cacheAttributes
      * @param elementSerializer used if supplied, the super's super will not set a null
      */
-    public BlockDiskCache( BlockDiskCacheAttributes cacheAttributes, IElementSerializer elementSerializer )
+    public BlockDiskCache( final BlockDiskCacheAttributes cacheAttributes, final IElementSerializer elementSerializer )
     {
         super( cacheAttributes );
         setElementSerializer( elementSerializer );
@@ -134,7 +134,7 @@
 
             keyStore = new BlockDiskKeyStore<>( this.blockDiskCacheAttributes, this );
 
-            boolean alright = verifyDisk();
+            final boolean alright = verifyDisk();
 
             if ( keyStore.size() == 0 || !alright )
             {
@@ -145,7 +145,7 @@
             setAlive(true);
             log.info("{0}: Block Disk Cache is alive.", logCacheName);
         }
-        catch ( IOException e )
+        catch ( final IOException e )
         {
             log.error("{0}: Failure initializing for fileName: {1} and root directory: {2}",
                     logCacheName, fileName, rootDirectory, e);
@@ -156,7 +156,7 @@
      * @see org.apache.commons.jcs3.engine.behavior.IRequireScheduler#setScheduledExecutorService(java.util.concurrent.ScheduledExecutorService)
      */
     @Override
-    public void setScheduledExecutorService(ScheduledExecutorService scheduledExecutor)
+    public void setScheduledExecutorService(final ScheduledExecutorService scheduledExecutor)
     {
         // add this region to the persistence thread.
         // TODO we might need to stagger this a bit.
@@ -190,7 +190,7 @@
                 .forEach(entry -> {
                     try
                     {
-                        Object data = this.dataFile.read(entry.getValue());
+                        final Object data = this.dataFile.read(entry.getValue());
                         if ( data == null )
                         {
                             throw new IOException("Data is null");
@@ -204,7 +204,7 @@
                 });
             alright = true;
         }
-        catch ( Exception e )
+        catch ( final Exception e )
         {
             log.warn("{0}: Problem verifying disk.", logCacheName, e);
             alright = false;
@@ -225,7 +225,7 @@
     @Override
     public Set<K> getKeySet() throws IOException
     {
-        HashSet<K> keys = new HashSet<>();
+        final HashSet<K> keys = new HashSet<>();
 
         storageLock.readLock().lock();
 
@@ -249,7 +249,7 @@
      *         data in cache matching keys
      */
     @Override
-    public Map<K, ICacheElement<K, V>> processGetMatching( String pattern )
+    public Map<K, ICacheElement<K, V>> processGetMatching( final String pattern )
     {
         Set<K> keyArray = null;
         storageLock.readLock().lock();
@@ -262,9 +262,9 @@
             storageLock.readLock().unlock();
         }
 
-        Set<K> matchingKeys = getKeyMatcher().getMatchingKeysFromArray( pattern, keyArray );
+        final Set<K> matchingKeys = getKeyMatcher().getMatchingKeysFromArray( pattern, keyArray );
 
-        Map<K, ICacheElement<K, V>> elements = matchingKeys.stream()
+        final Map<K, ICacheElement<K, V>> elements = matchingKeys.stream()
             .collect(Collectors.toMap(
                     key -> key,
                     key -> processGet( key ))).entrySet().stream()
@@ -300,7 +300,7 @@
      * @see org.apache.commons.jcs3.auxiliary.disk.AbstractDiskCache#get(Object)
      */
     @Override
-    protected ICacheElement<K, V> processGet( K key )
+    protected ICacheElement<K, V> processGet( final K key )
     {
         if ( !isAlive() )
         {
@@ -317,7 +317,7 @@
         {
             storageLock.readLock().lock();
             try {
-                int[] ded = this.keyStore.get( key );
+                final int[] ded = this.keyStore.get( key );
                 if ( ded != null )
                 {
                     object = this.dataFile.read( ded );
@@ -327,12 +327,12 @@
             }
 
         }
-        catch ( IOException ioe )
+        catch ( final IOException ioe )
         {
             log.error("{0}: Failure getting from disk--IOException, key = {1}", logCacheName, key, ioe );
             reset();
         }
-        catch ( Exception e )
+        catch ( final Exception e )
         {
             log.error("{0}: Failure getting from disk, key = {1}", logCacheName, key, e );
         }
@@ -351,7 +351,7 @@
      * @see org.apache.commons.jcs3.auxiliary.disk.AbstractDiskCache#update(ICacheElement)
      */
     @Override
-    protected void processUpdate( ICacheElement<K, V> element )
+    protected void processUpdate( final ICacheElement<K, V> element )
     {
         if ( !isAlive() )
         {
@@ -374,14 +374,14 @@
                 this.dataFile.freeBlocks( old );
             }
 
-            int[] blocks = this.dataFile.write( element );
+            final int[] blocks = this.dataFile.write( element );
 
             this.keyStore.put( element.getKey(), blocks );
 
             log.debug("{0}: Put to file [{1}] key [{2}]", () -> logCacheName,
                     () -> fileName, () -> element.getKey());
         }
-        catch ( IOException e )
+        catch ( final IOException e )
         {
             log.error("{0}: Failure updating element, key: {1} old: {2}",
                     logCacheName, element.getKey(), Arrays.toString(old), e);
@@ -404,7 +404,7 @@
      * @see org.apache.commons.jcs3.auxiliary.disk.AbstractDiskCache#remove(Object)
      */
     @Override
-    protected boolean processRemove( K key )
+    protected boolean processRemove( final K key )
     {
         if ( !isAlive() )
         {
@@ -432,7 +432,7 @@
                 removed = performSingleKeyRemoval(key);
             }
         }
-        catch ( Exception e )
+        catch ( final Exception e )
         {
             log.error("{0}: Problem removing element.", logCacheName, e );
             reset = true;
@@ -460,10 +460,10 @@
      * @param key
      * @return true if an element was removed
      */
-    private boolean performGroupRemoval(GroupId key)
+    private boolean performGroupRemoval(final GroupId key)
     {
         // remove all keys of the same name group.
-        List<K> itemsToRemove = keyStore.keySet()
+        final List<K> itemsToRemove = keyStore.keySet()
                 .stream()
                 .filter(k -> k instanceof GroupAttrName && ((GroupAttrName<?>) k).groupId.equals(key))
                 .collect(Collectors.toList());
@@ -487,10 +487,10 @@
      * @param key
      * @return true if there was a match
      */
-    private boolean performPartialKeyRemoval(String key)
+    private boolean performPartialKeyRemoval(final String key)
     {
         // remove all keys of the same name hierarchy.
-        List<K> itemsToRemove = keyStore.keySet()
+        final List<K> itemsToRemove = keyStore.keySet()
                 .stream()
                 .filter(k -> k instanceof String && k.toString().startsWith(key))
                 .collect(Collectors.toList());
@@ -505,10 +505,10 @@
     }
 
 
-	private boolean performSingleKeyRemoval(K key) {
+	private boolean performSingleKeyRemoval(final K key) {
 		boolean removed;
 		// remove single item.
-		int[] ded = this.keyStore.remove( key );
+		final int[] ded = this.keyStore.remove( key );
 		removed = ded != null;
 		if ( removed )
 		{
@@ -540,14 +540,14 @@
     @Override
     public void processDispose()
     {
-        Thread t = new Thread(this::disposeInternal, "BlockDiskCache-DisposalThread" );
+        final Thread t = new Thread(this::disposeInternal, "BlockDiskCache-DisposalThread" );
         t.start();
         // wait up to 60 seconds for dispose and then quit if not done.
         try
         {
             t.join( 60 * 1000 );
         }
-        catch ( InterruptedException ex )
+        catch ( final InterruptedException ex )
         {
             log.error("{0}: Interrupted while waiting for disposal thread to finish.",
                     logCacheName, ex );
@@ -586,7 +586,7 @@
                 // keyFile.close();
                 // keyFile = null;
             }
-            catch ( IOException e )
+            catch ( final IOException e )
             {
                 log.error("{0}: Failure closing files in dispose, filename: {1}",
                         logCacheName, fileName, e );
@@ -631,7 +631,7 @@
                 dataFile.reset();
             }
         }
-        catch ( IOException e )
+        catch ( final IOException e )
         {
             log.error("{0}: Failure resetting state", logCacheName, e );
         }
@@ -646,7 +646,7 @@
      * <p>
      * @param blocksToFree
      */
-    protected void freeBlocks( int[] blocksToFree )
+    protected void freeBlocks( final int[] blocksToFree )
     {
         this.dataFile.freeBlocks( blocksToFree );
     }
@@ -659,10 +659,10 @@
     @Override
     public IStats getStatistics()
     {
-        IStats stats = new Stats();
+        final IStats stats = new Stats();
         stats.setTypeName( "Block Disk Cache" );
 
-        ArrayList<IStatElement<?>> elems = new ArrayList<>();
+        final ArrayList<IStatElement<?>> elems = new ArrayList<>();
 
         elems.add(new StatElement<>( "Is Alive", Boolean.valueOf(isAlive()) ) );
         elems.add(new StatElement<>( "Key Map Size", Integer.valueOf(this.keyStore.size()) ) );
@@ -673,7 +673,7 @@
             {
                 elems.add(new StatElement<>( "Data File Length", Long.valueOf(this.dataFile.length()) ) );
             }
-            catch ( IOException e )
+            catch ( final IOException e )
             {
                 log.error( e );
             }
@@ -689,7 +689,7 @@
         }
 
         // get the stats from the super too
-        IStats sStats = super.getStatistics();
+        final IStats sStats = super.getStatistics();
         elems.addAll(sStats.getStatElements());
 
         stats.setStatElements( elems );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheAttributes.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheAttributes.java
index 6df7d40..310db3b 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheAttributes.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheAttributes.java
@@ -52,7 +52,7 @@
      * <p>
      * @param blockSizeBytes The blockSizeBytes to set.
      */
-    public void setBlockSizeBytes( int blockSizeBytes )
+    public void setBlockSizeBytes( final int blockSizeBytes )
     {
         this.blockSizeBytes = blockSizeBytes;
     }
@@ -68,7 +68,7 @@
     /**
      * @param maxKeySize The maxKeySize to set.
      */
-    public void setMaxKeySize( int maxKeySize )
+    public void setMaxKeySize( final int maxKeySize )
     {
         this.maxKeySize = maxKeySize;
     }
@@ -84,7 +84,7 @@
     /**
      * @param keyPersistenceIntervalSeconds The keyPersistenceIntervalSeconds to set.
      */
-    public void setKeyPersistenceIntervalSeconds( long keyPersistenceIntervalSeconds )
+    public void setKeyPersistenceIntervalSeconds( final long keyPersistenceIntervalSeconds )
     {
         this.keyPersistenceIntervalSeconds = keyPersistenceIntervalSeconds;
     }
@@ -105,7 +105,7 @@
     @Override
     public String toString()
     {
-        StringBuilder str = new StringBuilder();
+        final StringBuilder str = new StringBuilder();
         str.append( "\nBlockDiskAttributes " );
         str.append( "\n DiskPath [" + this.getDiskPath() + "]" );
         str.append( "\n MaxKeySize [" + this.getMaxKeySize() + "]" );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheFactory.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheFactory.java
index 8932375..9bf4e0e 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheFactory.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheFactory.java
@@ -48,13 +48,13 @@
      * @return BlockDiskCache
      */
     @Override
-    public <K, V> BlockDiskCache<K, V> createCache( AuxiliaryCacheAttributes iaca, ICompositeCacheManager cacheMgr,
-                                       ICacheEventLogger cacheEventLogger, IElementSerializer elementSerializer )
+    public <K, V> BlockDiskCache<K, V> createCache( final AuxiliaryCacheAttributes iaca, final ICompositeCacheManager cacheMgr,
+                                       final ICacheEventLogger cacheEventLogger, final IElementSerializer elementSerializer )
     {
-        BlockDiskCacheAttributes idca = (BlockDiskCacheAttributes) iaca;
+        final BlockDiskCacheAttributes idca = (BlockDiskCacheAttributes) iaca;
         log.debug("Creating DiskCache for attributes = {0}", idca);
 
-        BlockDiskCache<K, V> cache = new BlockDiskCache<>( idca, elementSerializer );
+        final BlockDiskCache<K, V> cache = new BlockDiskCache<>( idca, elementSerializer );
         cache.setCacheEventLogger( cacheEventLogger );
 
         return cache;
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskElementDescriptor.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskElementDescriptor.java
index 3dedb97..3fad13f 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskElementDescriptor.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskElementDescriptor.java
@@ -47,7 +47,7 @@
     /**
      * @param key The key to set.
      */
-    public void setKey( K key )
+    public void setKey( final K key )
     {
         this.key = key;
     }
@@ -63,7 +63,7 @@
     /**
      * @param blocks The blocks to set.
      */
-    public void setBlocks( int[] blocks )
+    public void setBlocks( final int[] blocks )
     {
         this.blocks = blocks;
     }
@@ -86,7 +86,7 @@
     @Override
     public String toString()
     {
-        StringBuilder buf = new StringBuilder();
+        final StringBuilder buf = new StringBuilder();
         buf.append( "\nBlockDiskElementDescriptor" );
         buf.append( "\n key [" + this.getKey() + "]" );
         buf.append( "\n blocks [" );
@@ -109,7 +109,7 @@
      */
     @Override
     @SuppressWarnings("unchecked") // Need cast to K
-    public void readExternal( ObjectInput input )
+    public void readExternal( final ObjectInput input )
         throws IOException, ClassNotFoundException
     {
         this.key = (K) input.readObject();
@@ -123,7 +123,7 @@
      * @see java.io.Externalizable#writeExternal(java.io.ObjectOutput)
      */
     @Override
-    public void writeExternal( ObjectOutput output )
+    public void writeExternal( final ObjectOutput output )
         throws IOException
     {
         output.writeObject( this.key );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskKeyStore.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskKeyStore.java
index bc1e3e9..42dd314 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskKeyStore.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskKeyStore.java
@@ -91,7 +91,7 @@
      * @param blockDiskCache
      *            used for freeing
      */
-    public BlockDiskKeyStore(BlockDiskCacheAttributes cacheAttributes, BlockDiskCache<K, ?> blockDiskCache)
+    public BlockDiskKeyStore(final BlockDiskCacheAttributes cacheAttributes, final BlockDiskCache<K, ?> blockDiskCache)
     {
         this.blockDiskCacheAttributes = cacheAttributes;
         this.logCacheName = "Region [" + this.blockDiskCacheAttributes.getCacheName() + "] ";
@@ -101,7 +101,7 @@
         this.diskLimitType = cacheAttributes.getDiskLimitType();
         this.blockSize = cacheAttributes.getBlockSizeBytes();
 
-        File rootDirectory = cacheAttributes.getDiskPath();
+        final File rootDirectory = cacheAttributes.getDiskPath();
 
         log.info("{0}: Cache file root directory [{1}]", logCacheName, rootDirectory);
 
@@ -133,15 +133,15 @@
     {
         try
         {
-            ElapsedTimer timer = new ElapsedTimer();
-            int numKeys = keyHash.size();
+            final ElapsedTimer timer = new ElapsedTimer();
+            final int numKeys = keyHash.size();
             log.info("{0}: Saving keys to [{1}], key count [{2}]", () -> logCacheName,
                     () -> this.keyFile.getAbsolutePath(), () -> numKeys);
 
             synchronized (keyFile)
             {
-                FileOutputStream fos = new FileOutputStream(keyFile);
-                BufferedOutputStream bos = new BufferedOutputStream(fos, 65536);
+                final FileOutputStream fos = new FileOutputStream(keyFile);
+                final BufferedOutputStream bos = new BufferedOutputStream(fos, 65536);
 
                 try (ObjectOutputStream oos = new ObjectOutputStream(bos))
                 {
@@ -151,9 +151,9 @@
                     }
                     // don't need to synchronize, since the underlying
                     // collection makes a copy
-                    for (Map.Entry<K, int[]> entry : keyHash.entrySet())
+                    for (final Map.Entry<K, int[]> entry : keyHash.entrySet())
                     {
-                        BlockDiskElementDescriptor<K> descriptor = new BlockDiskElementDescriptor<>();
+                        final BlockDiskElementDescriptor<K> descriptor = new BlockDiskElementDescriptor<>();
                         descriptor.setKey(entry.getKey());
                         descriptor.setBlocks(entry.getValue());
                         // stream these out in the loop.
@@ -166,7 +166,7 @@
                     () -> logCacheName, () -> timer.getElapsedTimeString(), () -> numKeys,
                     () -> keyFile.length());
         }
-        catch (IOException e)
+        catch (final IOException e)
         {
             log.error("{0}: Problem storing keys.", logCacheName, e);
         }
@@ -234,18 +234,19 @@
             // create a key map to use.
             initKeyMap();
 
-            HashMap<K, int[]> keys = new HashMap<>();
+            final HashMap<K, int[]> keys = new HashMap<>();
 
             synchronized (keyFile)
             {
-                FileInputStream fis = new FileInputStream(keyFile);
-                BufferedInputStream bis = new BufferedInputStream(fis, 65536);
+                final FileInputStream fis = new FileInputStream(keyFile);
+                final BufferedInputStream bis = new BufferedInputStream(fis, 65536);
 
                 try (ObjectInputStream ois = new ObjectInputStreamClassLoaderAware(bis, null))
                 {
                     while (true)
                     {
                         @SuppressWarnings("unchecked")
+                        final
                         // Need to cast from Object
                         BlockDiskElementDescriptor<K> descriptor = (BlockDiskElementDescriptor<K>) ois.readObject();
                         if (descriptor != null)
@@ -254,7 +255,7 @@
                         }
                     }
                 }
-                catch (EOFException eof)
+                catch (final EOFException eof)
                 {
                     // nothing
                 }
@@ -270,7 +271,7 @@
                         () -> maxKeySize);
             }
         }
-        catch (Exception e)
+        catch (final Exception e)
         {
             log.error("{0}: Problem loading keys for file {1}", logCacheName, fileName, e);
         }
@@ -316,7 +317,7 @@
      * @param key
      * @return Object
      */
-    public int[] get(K key)
+    public int[] get(final K key)
     {
         return this.keyHash.get(key);
     }
@@ -328,7 +329,7 @@
      * @param key
      * @param value
      */
-    public void put(K key, int[] value)
+    public void put(final K key, final int[] value)
     {
         this.keyHash.put(key, value);
     }
@@ -340,7 +341,7 @@
      * @param key
      * @return BlockDiskElementDescriptor if it was present, else null
      */
-    public int[] remove(K key)
+    public int[] remove(final K key)
     {
         return this.keyHash.remove(key);
     }
@@ -352,10 +353,10 @@
      */
     private boolean verify()
     {
-        Map<Integer, Set<K>> blockAllocationMap = new TreeMap<>();
-        for (Entry<K, int[]> e : keyHash.entrySet())
+        final Map<Integer, Set<K>> blockAllocationMap = new TreeMap<>();
+        for (final Entry<K, int[]> e : keyHash.entrySet())
         {
-            for (int block : e.getValue())
+            for (final int block : e.getValue())
             {
                 Set<K> keys = blockAllocationMap.get(block);
                 if (keys == null)
@@ -374,7 +375,7 @@
         boolean ok = true;
         if (log.isTraceEnabled())
         {
-            for (Entry<Integer, Set<K>> e : blockAllocationMap.entrySet())
+            for (final Entry<Integer, Set<K>> e : blockAllocationMap.entrySet())
             {
                 log.trace("Block {0}: {1}", e.getKey(), e.getValue());
                 if (e.getValue().size() > 1)
@@ -417,26 +418,26 @@
          * @param maxSize
          *            maximum cache size in kB
          */
-        public LRUMapSizeLimited(int maxSize)
+        public LRUMapSizeLimited(final int maxSize)
         {
             this.maxSize = maxSize;
             this.contentSize = new AtomicInteger(0);
         }
 
         // keep the content size in kB, so 2^31 kB is reasonable value
-        private void subLengthFromCacheSize(int[] value)
+        private void subLengthFromCacheSize(final int[] value)
         {
             contentSize.addAndGet(value.length * blockSize / -1024 - 1);
         }
 
         // keep the content size in kB, so 2^31 kB is reasonable value
-        private void addLengthToCacheSize(int[] value)
+        private void addLengthToCacheSize(final int[] value)
         {
             contentSize.addAndGet(value.length * blockSize / 1024 + 1);
         }
 
         @Override
-        public int[] put(K key, int[] value)
+        public int[] put(final K key, final int[] value)
         {
             int[] oldValue = null;
 
@@ -460,7 +461,7 @@
         }
 
         @Override
-        public int[] remove(Object key)
+        public int[] remove(final Object key)
         {
             int[] value = null;
 
@@ -488,7 +489,7 @@
          * @param value
          */
         @Override
-        protected void processRemovedLRU(K key, int[] value)
+        protected void processRemovedLRU(final K key, final int[] value)
         {
             blockDiskCache.freeBlocks(value);
             if (log.isDebugEnabled())
@@ -521,7 +522,7 @@
          */
         public final static String TAG = "orig-lru-count";
 
-        public LRUMapCountLimited(int maxKeySize)
+        public LRUMapCountLimited(final int maxKeySize)
         {
             super(maxKeySize);
         }
@@ -536,7 +537,7 @@
          * @param value
          */
         @Override
-        protected void processRemovedLRU(K key, int[] value)
+        protected void processRemovedLRU(final K key, final int[] value)
         {
             blockDiskCache.freeBlocks(value);
             if (log.isDebugEnabled())
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDisk.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDisk.java
index 47df0fd..38b50d2 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDisk.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDisk.java
@@ -54,7 +54,7 @@
      * @param elementSerializer
      * @throws IOException
      */
-    public IndexedDisk(File file, IElementSerializer elementSerializer)
+    public IndexedDisk(final File file, final IElementSerializer elementSerializer)
         throws IOException
     {
         this.filepath = file.getAbsolutePath();
@@ -76,12 +76,12 @@
      * @throws IOException
      * @throws ClassNotFoundException
      */
-    protected <T> T readObject(IndexedDiskElementDescriptor ded)
+    protected <T> T readObject(final IndexedDiskElementDescriptor ded)
         throws IOException, ClassNotFoundException
     {
         String message = null;
         boolean corrupted = false;
-        long fileLength = fc.size();
+        final long fileLength = fc.size();
         if (ded.pos > fileLength)
         {
             corrupted = true;
@@ -89,10 +89,10 @@
         }
         else
         {
-            ByteBuffer datalength = ByteBuffer.allocate(HEADER_SIZE_BYTES);
+            final ByteBuffer datalength = ByteBuffer.allocate(HEADER_SIZE_BYTES);
             fc.read(datalength, ded.pos);
             datalength.flip();
-            int datalen = datalength.getInt();
+            final int datalen = datalength.getInt();
             if (ded.len != datalen)
             {
                 corrupted = true;
@@ -111,7 +111,7 @@
             throw new IOException("The File Is Corrupt, need to reset");
         }
 
-        ByteBuffer data = ByteBuffer.allocate(ded.len);
+        final ByteBuffer data = ByteBuffer.allocate(ded.len);
         fc.read(data, ded.pos + HEADER_SIZE_BYTES);
         data.flip();
 
@@ -128,10 +128,10 @@
     protected void move(final IndexedDiskElementDescriptor ded, final long newPosition)
         throws IOException
     {
-        ByteBuffer datalength = ByteBuffer.allocate(HEADER_SIZE_BYTES);
+        final ByteBuffer datalength = ByteBuffer.allocate(HEADER_SIZE_BYTES);
         fc.read(datalength, ded.pos);
         datalength.flip();
-        int length = datalength.getInt();
+        final int length = datalength.getInt();
 
         if (length != ded.len)
         {
@@ -145,12 +145,12 @@
 
         // header len + data len
         int remaining = HEADER_SIZE_BYTES + length;
-        ByteBuffer buffer = ByteBuffer.allocate(16384);
+        final ByteBuffer buffer = ByteBuffer.allocate(16384);
 
         while (remaining > 0)
         {
             // chunk it
-            int chunkSize = Math.min(remaining, buffer.capacity());
+            final int chunkSize = Math.min(remaining, buffer.capacity());
             buffer.limit(chunkSize);
             fc.read(buffer, readPos);
             buffer.flip();
@@ -173,10 +173,10 @@
      * @return true if we wrote successfully
      * @throws IOException
      */
-    protected boolean write(IndexedDiskElementDescriptor ded, byte[] data)
+    protected boolean write(final IndexedDiskElementDescriptor ded, final byte[] data)
         throws IOException
     {
-        long pos = ded.pos;
+        final long pos = ded.pos;
         if (log.isTraceEnabled())
         {
             log.trace("write> pos={0}", pos);
@@ -188,7 +188,7 @@
             throw new IOException("Mismatched descriptor and data lengths");
         }
 
-        ByteBuffer headerBuffer = ByteBuffer.allocate(HEADER_SIZE_BYTES);
+        final ByteBuffer headerBuffer = ByteBuffer.allocate(HEADER_SIZE_BYTES);
         headerBuffer.putInt(data.length);
         // write the header
         headerBuffer.flip();
@@ -196,7 +196,7 @@
         assert written == HEADER_SIZE_BYTES;
 
         //write the data
-        ByteBuffer dataBuffer = ByteBuffer.wrap(data);
+        final ByteBuffer dataBuffer = ByteBuffer.wrap(data);
         written = fc.write(dataBuffer, pos + HEADER_SIZE_BYTES);
 
         return written == data.length;
@@ -210,10 +210,10 @@
      * @param pos
      * @throws IOException
      */
-    protected <T> void writeObject(T obj, long pos)
+    protected <T> void writeObject(final T obj, final long pos)
         throws IOException
     {
-        byte[] data = elementSerializer.serialize(obj);
+        final byte[] data = elementSerializer.serialize(obj);
         write(new IndexedDiskElementDescriptor(pos, data.length), data);
     }
 
@@ -260,7 +260,7 @@
      * @param length the new length of the file
      * @throws IOException
      */
-    protected void truncate(long length)
+    protected void truncate(final long length)
         throws IOException
     {
         log.info("Truncating file [{0}] to {1}", filepath, length);
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCache.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCache.java
index f588ec5..1d185b6 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCache.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCache.java
@@ -146,7 +146,7 @@
      *
      * @param cacheAttributes
      */
-    public IndexedDiskCache(IndexedDiskCacheAttributes cacheAttributes)
+    public IndexedDiskCache(final IndexedDiskCacheAttributes cacheAttributes)
     {
         this(cacheAttributes, null);
     }
@@ -159,7 +159,7 @@
      * @param elementSerializer
      *            used if supplied, the super's super will not set a null
      */
-    public IndexedDiskCache(IndexedDiskCacheAttributes cattr, IElementSerializer elementSerializer)
+    public IndexedDiskCache(final IndexedDiskCacheAttributes cattr, final IElementSerializer elementSerializer)
     {
         super(cattr);
 
@@ -193,7 +193,7 @@
                 doOptimizeRealTime();
             }
         }
-        catch (IOException e)
+        catch (final IOException e)
         {
             log.error("{0}: Failure initializing for fileName: {1} and directory: {2}",
                     logCacheName, fileName, this.rafDir.getAbsolutePath(), e);
@@ -206,7 +206,7 @@
      *
      * @param cattr
      */
-    private void initializeFileSystem(IndexedDiskCacheAttributes cattr)
+    private void initializeFileSystem(final IndexedDiskCacheAttributes cattr)
     {
         this.rafDir = cattr.getDiskPath();
         log.info("{0}: Cache file root directory: {1}", logCacheName, rafDir);
@@ -221,7 +221,7 @@
      * @param cattr
      * @throws IOException
      */
-    private void initializeKeysAndData(IndexedDiskCacheAttributes cattr) throws IOException
+    private void initializeKeysAndData(final IndexedDiskCacheAttributes cattr) throws IOException
     {
         this.dataFile = new IndexedDisk(new File(rafDir, fileName + ".data"), getElementSerializer());
         this.keyFile = new IndexedDisk(new File(rafDir, fileName + ".key"), getElementSerializer());
@@ -279,7 +279,7 @@
         }
         else
         {
-            boolean isOk = checkKeyDataConsistency(false);
+            final boolean isOk = checkKeyDataConsistency(false);
             if (!isOk)
             {
                 keyHash.clear();
@@ -312,7 +312,7 @@
             // clear a key map to use.
             keyHash.clear();
 
-            HashMap<K, IndexedDiskElementDescriptor> keys = keyFile.readObject(
+            final HashMap<K, IndexedDiskElementDescriptor> keys = keyFile.readObject(
                 new IndexedDiskElementDescriptor(0, (int) keyFile.length() - IndexedDisk.HEADER_SIZE_BYTES));
 
             if (keys != null)
@@ -330,7 +330,7 @@
                 dump(false);
             }
         }
-        catch (Exception e)
+        catch (final Exception e)
         {
             log.error("{0}: Problem loading keys for file {1}", logCacheName, fileName, e);
         }
@@ -351,9 +351,9 @@
      *            data overlap
      * @return <code>true</code> if the test passes
      */
-    private boolean checkKeyDataConsistency(boolean checkForDedOverlaps)
+    private boolean checkKeyDataConsistency(final boolean checkForDedOverlaps)
     {
-        ElapsedTimer timer = new ElapsedTimer();
+        final ElapsedTimer timer = new ElapsedTimer();
         log.debug("{0}: Performing inital consistency check", logCacheName);
 
         boolean isOk = true;
@@ -362,9 +362,9 @@
         {
             fileLength = dataFile.length();
 
-            for (Map.Entry<K, IndexedDiskElementDescriptor> e : keyHash.entrySet())
+            for (final Map.Entry<K, IndexedDiskElementDescriptor> e : keyHash.entrySet())
             {
-                IndexedDiskElementDescriptor ded = e.getValue();
+                final IndexedDiskElementDescriptor ded = e.getValue();
 
                 isOk = ded.pos + IndexedDisk.HEADER_SIZE_BYTES + ded.len <= fileLength;
 
@@ -381,7 +381,7 @@
                 isOk = checkForDedOverlaps(createPositionSortedDescriptorList());
             }
         }
-        catch (IOException e)
+        catch (final IOException e)
         {
             log.error(e);
             isOk = false;
@@ -402,14 +402,14 @@
      * @param sortedDescriptors
      * @return false if there are overlaps.
      */
-    protected boolean checkForDedOverlaps(IndexedDiskElementDescriptor[] sortedDescriptors)
+    protected boolean checkForDedOverlaps(final IndexedDiskElementDescriptor[] sortedDescriptors)
     {
-        ElapsedTimer timer = new ElapsedTimer();
+        final ElapsedTimer timer = new ElapsedTimer();
         boolean isOk = true;
         long expectedNextPos = 0;
         for (int i = 0; i < sortedDescriptors.length; i++)
         {
-            IndexedDiskElementDescriptor ded = sortedDescriptors[i];
+            final IndexedDiskElementDescriptor ded = sortedDescriptors[i];
             if (expectedNextPos > ded.pos)
             {
                 log.error("{0}: Corrupt file: overlapping deds {1}", logCacheName, ded);
@@ -439,7 +439,7 @@
 
             keyFile.reset();
 
-            HashMap<K, IndexedDiskElementDescriptor> keys = new HashMap<>(keyHash);
+            final HashMap<K, IndexedDiskElementDescriptor> keys = new HashMap<>(keyHash);
             if (keys.size() > 0)
             {
                 keyFile.writeObject(keys, 0);
@@ -447,7 +447,7 @@
 
             log.info("{0}: Finished saving keys.", logCacheName);
         }
-        catch (IOException e)
+        catch (final IOException e)
         {
             log.error("{0}: Problem storing keys.", logCacheName, e);
         }
@@ -462,7 +462,7 @@
      *            The ICacheElement&lt;K, V&gt; to put to disk.
      */
     @Override
-    protected void processUpdate(ICacheElement<K, V> ce)
+    protected void processUpdate(final ICacheElement<K, V> ce)
     {
         if (!isAlive())
         {
@@ -481,7 +481,7 @@
 
         try
         {
-            byte[] data = getElementSerializer().serialize(ce);
+            final byte[] data = getElementSerializer().serialize(ce);
 
             // make sure this only locks for one particular cache region
             storageLock.writeLock().lock();
@@ -505,7 +505,7 @@
 
                     if (doRecycle)
                     {
-                        IndexedDiskElementDescriptor rep = recycle.ceiling(ded);
+                        final IndexedDiskElementDescriptor rep = recycle.ceiling(ded);
                         if (rep != null)
                         {
                             // remove element from recycle bin
@@ -546,7 +546,7 @@
             log.debug("{0}: Put to file: {1}, key: {2}, position: {3}, size: {4}",
                     logCacheName, fileName, ce.getKey(), ded.pos, ded.len);
         }
-        catch (IOException e)
+        catch (final IOException e)
         {
             log.error("{0}: Failure updating element, key: {1} old: {2}",
                     logCacheName, ce.getKey(), old, e);
@@ -562,7 +562,7 @@
      * @see AbstractDiskCache#doGet
      */
     @Override
-    protected ICacheElement<K, V> processGet(K key)
+    protected ICacheElement<K, V> processGet(final K key)
     {
         if (!isAlive())
         {
@@ -591,7 +591,7 @@
                 hitCount.incrementAndGet();
             }
         }
-        catch (IOException ioe)
+        catch (final IOException ioe)
         {
             log.error("{0}: Failure getting from disk, key = {1}", logCacheName, key, ioe);
             reset();
@@ -608,9 +608,9 @@
      *         data in cache matching keys
      */
     @Override
-    public Map<K, ICacheElement<K, V>> processGetMatching(String pattern)
+    public Map<K, ICacheElement<K, V>> processGetMatching(final String pattern)
     {
-        Map<K, ICacheElement<K, V>> elements = new HashMap<>();
+        final Map<K, ICacheElement<K, V>> elements = new HashMap<>();
         Set<K> keyArray = null;
         storageLock.readLock().lock();
         try
@@ -622,11 +622,11 @@
             storageLock.readLock().unlock();
         }
 
-        Set<K> matchingKeys = getKeyMatcher().getMatchingKeysFromArray(pattern, keyArray);
+        final Set<K> matchingKeys = getKeyMatcher().getMatchingKeysFromArray(pattern, keyArray);
 
-        for (K key : matchingKeys)
+        for (final K key : matchingKeys)
         {
-            ICacheElement<K, V> element = processGet(key);
+            final ICacheElement<K, V> element = processGet(key);
             if (element != null)
             {
                 elements.put(key, element);
@@ -643,11 +643,11 @@
      * @return ICacheElement
      * @throws IOException
      */
-    private ICacheElement<K, V> readElement(K key) throws IOException
+    private ICacheElement<K, V> readElement(final K key) throws IOException
     {
         ICacheElement<K, V> object = null;
 
-        IndexedDiskElementDescriptor ded = keyHash.get(key);
+        final IndexedDiskElementDescriptor ded = keyHash.get(key);
 
         if (ded != null)
         {
@@ -655,16 +655,16 @@
 
             try
             {
-                ICacheElement<K, V> readObject = dataFile.readObject(ded);
+                final ICacheElement<K, V> readObject = dataFile.readObject(ded);
                 object = readObject;
                 // TODO consider checking key equality and throwing if there is a failure
             }
-            catch (IOException e)
+            catch (final IOException e)
             {
                 log.error("{0}: IO Exception, Problem reading object from file", logCacheName, e);
                 throw e;
             }
-            catch (Exception e)
+            catch (final Exception e)
             {
                 log.error("{0}: Exception, Problem reading object from file", logCacheName, e);
                 throw new IOException(logCacheName + "Problem reading object from disk.", e);
@@ -683,7 +683,7 @@
     @Override
     public Set<K> getKeySet() throws IOException
     {
-        HashSet<K> keys = new HashSet<>();
+        final HashSet<K> keys = new HashSet<>();
 
         storageLock.readLock().lock();
 
@@ -708,7 +708,7 @@
      * @param key
      */
     @Override
-    protected boolean processRemove(K key)
+    protected boolean processRemove(final K key)
     {
         if (!isAlive())
         {
@@ -721,7 +721,7 @@
             return false;
         }
 
-        boolean reset = false;
+        final boolean reset = false;
         boolean removed = false;
         try
         {
@@ -770,14 +770,14 @@
      * @param key
      * @return true if there was a match
      */
-    private boolean performPartialKeyRemoval(String key)
+    private boolean performPartialKeyRemoval(final String key)
     {
         boolean removed = false;
 
         // remove all keys of the same name hierarchy.
-        List<K> itemsToRemove = new LinkedList<>();
+        final List<K> itemsToRemove = new LinkedList<>();
 
-        for (K k : keyHash.keySet())
+        for (final K k : keyHash.keySet())
         {
             if (k instanceof String && k.toString().startsWith(key))
             {
@@ -786,7 +786,7 @@
         }
 
         // remove matches.
-        for (K fullKey : itemsToRemove)
+        for (final K fullKey : itemsToRemove)
         {
             // Don't add to recycle bin here
             // https://issues.apache.org/jira/browse/JCS-67
@@ -808,15 +808,15 @@
      * @param key
      * @return true if an element was removed
      */
-    private boolean performGroupRemoval(GroupId key)
+    private boolean performGroupRemoval(final GroupId key)
     {
         boolean removed = false;
 
         // remove all keys of the same name group.
-        List<K> itemsToRemove = new LinkedList<>();
+        final List<K> itemsToRemove = new LinkedList<>();
 
         // remove all keys of the same name hierarchy.
-        for (K k : keyHash.keySet())
+        for (final K k : keyHash.keySet())
         {
             if (k instanceof GroupAttrName && ((GroupAttrName<?>) k).groupId.equals(key))
             {
@@ -825,7 +825,7 @@
         }
 
         // remove matches.
-        for (K fullKey : itemsToRemove)
+        for (final K fullKey : itemsToRemove)
         {
             // Don't add to recycle bin here
             // https://issues.apache.org/jira/browse/JCS-67
@@ -846,11 +846,11 @@
      * @param key
      * @return true if an item was removed.
      */
-    private boolean performSingleKeyRemoval(K key)
+    private boolean performSingleKeyRemoval(final K key)
     {
         boolean removed;
         // remove single item.
-        IndexedDiskElementDescriptor ded = keyHash.remove(key);
+        final IndexedDiskElementDescriptor ded = keyHash.remove(key);
         removed = ded != null;
         addToRecycleBin(ded);
 
@@ -865,7 +865,7 @@
     @Override
     public void processRemoveAll()
     {
-        ICacheEvent<String> cacheEvent =
+        final ICacheEvent<String> cacheEvent =
                 createICacheEvent(getCacheName(), "all", ICacheEventLogger.REMOVEALL_EVENT);
         try
         {
@@ -895,14 +895,14 @@
                 dataFile.close();
             }
 
-            File dataFileTemp = new File(rafDir, fileName + ".data");
+            final File dataFileTemp = new File(rafDir, fileName + ".data");
             Files.delete(dataFileTemp.toPath());
 
             if (keyFile != null)
             {
                 keyFile.close();
             }
-            File keyFileTemp = new File(rafDir, fileName + ".key");
+            final File keyFileTemp = new File(rafDir, fileName + ".key");
             Files.delete(keyFileTemp.toPath());
 
             dataFile = new IndexedDisk(dataFileTemp, getElementSerializer());
@@ -911,7 +911,7 @@
             this.recycle.clear();
             this.keyHash.clear();
         }
-        catch (IOException e)
+        catch (final IOException e)
         {
             log.error("{0}: Failure resetting state", logCacheName, e);
         }
@@ -962,17 +962,17 @@
     @Override
     public void processDispose()
     {
-        ICacheEvent<String> cacheEvent = createICacheEvent(getCacheName(), "none", ICacheEventLogger.DISPOSE_EVENT);
+        final ICacheEvent<String> cacheEvent = createICacheEvent(getCacheName(), "none", ICacheEventLogger.DISPOSE_EVENT);
         try
         {
-            Thread t = new Thread(this::disposeInternal, "IndexedDiskCache-DisposalThread");
+            final Thread t = new Thread(this::disposeInternal, "IndexedDiskCache-DisposalThread");
             t.start();
             // wait up to 60 seconds for dispose and then quit if not done.
             try
             {
                 t.join(60 * 1000);
             }
-            catch (InterruptedException ex)
+            catch (final InterruptedException ex)
             {
                 log.error("{0}: Interrupted while waiting for disposal thread to finish.",
                         logCacheName, ex);
@@ -999,7 +999,7 @@
         // Prevents any interaction with the cache while we're shutting down.
         setAlive(false);
 
-        Thread optimizationThread = currentOptimizationThread;
+        final Thread optimizationThread = currentOptimizationThread;
         if (isRealTimeOptimizationEnabled && optimizationThread != null)
         {
             // Join with the current optimization thread.
@@ -1010,7 +1010,7 @@
             {
                 optimizationThread.join();
             }
-            catch (InterruptedException e)
+            catch (final InterruptedException e)
             {
                 log.error("{0}: Unable to join current optimization thread.",
                         logCacheName, e);
@@ -1032,7 +1032,7 @@
             keyFile.close();
             keyFile = null;
         }
-        catch (IOException e)
+        catch (final IOException e)
         {
             log.error("{0}: Failure closing files in dispose, filename: {1}",
                     logCacheName, fileName, e);
@@ -1052,7 +1052,7 @@
      *
      * @param ded
      */
-    protected void addToRecycleBin(IndexedDiskElementDescriptor ded)
+    protected void addToRecycleBin(final IndexedDiskElementDescriptor ded)
     {
         // reuse the spot
         if (ded != null)
@@ -1138,7 +1138,7 @@
      */
     protected void optimizeFile()
     {
-        ElapsedTimer timer = new ElapsedTimer();
+        final ElapsedTimer timer = new ElapsedTimer();
         timesOptimized++;
         log.info("{0}: Beginning Optimization #{1}", logCacheName, timesOptimized);
 
@@ -1180,7 +1180,7 @@
                 // TRUNCATE THE FILE
                 dataFile.truncate(expectedNextPos);
             }
-            catch (IOException e)
+            catch (final IOException e)
             {
                 log.error("{0}: Error optimizing queued puts.", logCacheName, e);
             }
@@ -1216,9 +1216,9 @@
      *            the start position in the file
      * @return this is the potential new file end
      */
-    private long defragFile(IndexedDiskElementDescriptor[] defragList, long startingPos)
+    private long defragFile(final IndexedDiskElementDescriptor[] defragList, final long startingPos)
     {
-        ElapsedTimer timer = new ElapsedTimer();
+        final ElapsedTimer timer = new ElapsedTimer();
         long preFileSize = 0;
         long postFileSize = 0;
         long expectedNextPos = 0;
@@ -1249,7 +1249,7 @@
             // this is the potential new file end
             return expectedNextPos;
         }
-        catch (IOException e)
+        catch (final IOException e)
         {
             log.error("{0}: Error occurred during defragmentation.", logCacheName, e);
         }
@@ -1271,7 +1271,7 @@
      */
     private IndexedDiskElementDescriptor[] createPositionSortedDescriptorList()
     {
-        List<IndexedDiskElementDescriptor> defragList = new ArrayList<>(keyHash.values());
+        final List<IndexedDiskElementDescriptor> defragList = new ArrayList<>(keyHash.values());
         Collections.sort(defragList, new PositionComparator());
 
         return defragList.toArray(new IndexedDiskElementDescriptor[0]);
@@ -1338,11 +1338,11 @@
      * @param ded
      * @param add
      */
-    private void adjustBytesFree(IndexedDiskElementDescriptor ded, boolean add)
+    private void adjustBytesFree(final IndexedDiskElementDescriptor ded, final boolean add)
     {
         if (ded != null)
         {
-            int amount = ded.len + IndexedDisk.HEADER_SIZE_BYTES;
+            final int amount = ded.len + IndexedDisk.HEADER_SIZE_BYTES;
 
             if (add)
             {
@@ -1398,16 +1398,16 @@
      * @param dumpValues
      *            A boolean indicating if values should be dumped.
      */
-    public void dump(boolean dumpValues)
+    public void dump(final boolean dumpValues)
     {
         if (log.isTraceEnabled())
         {
             log.trace("{0}: [dump] Number of keys: {1}", logCacheName, keyHash.size());
 
-            for (Map.Entry<K, IndexedDiskElementDescriptor> e : keyHash.entrySet())
+            for (final Map.Entry<K, IndexedDiskElementDescriptor> e : keyHash.entrySet())
             {
-                K key = e.getKey();
-                IndexedDiskElementDescriptor ded = e.getValue();
+                final K key = e.getKey();
+                final IndexedDiskElementDescriptor ded = e.getValue();
 
                 log.trace("{0}: [dump] Disk element, key: {1}, pos: {2}, len: {3}" +
                         (dumpValues ? ", val: " + get(key) : ""),
@@ -1434,10 +1434,10 @@
     @Override
     public synchronized IStats getStatistics()
     {
-        IStats stats = new Stats();
+        final IStats stats = new Stats();
         stats.setTypeName("Indexed Disk Cache");
 
-        ArrayList<IStatElement<?>> elems = new ArrayList<>();
+        final ArrayList<IStatElement<?>> elems = new ArrayList<>();
 
         elems.add(new StatElement<>("Is Alive", Boolean.valueOf(isAlive())));
         elems.add(new StatElement<>("Key Map Size", Integer.valueOf(this.keyHash != null ? this.keyHash.size() : -1)));
@@ -1446,7 +1446,7 @@
             elems.add(
                     new StatElement<>("Data File Length", Long.valueOf(this.dataFile != null ? this.dataFile.length() : -1L)));
         }
-        catch (IOException e)
+        catch (final IOException e)
         {
             log.error(e);
         }
@@ -1460,7 +1460,7 @@
         elems.add(new StatElement<>("Startup Size", Integer.valueOf(this.startupSize)));
 
         // get the stats from the super too
-        IStats sStats = super.getStatistics();
+        final IStats sStats = super.getStatistics();
         elems.addAll(sStats.getStatElements());
 
         stats.setStatElements(elems);
@@ -1507,7 +1507,7 @@
          * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
          */
         @Override
-        public int compare(IndexedDiskElementDescriptor ded1, IndexedDiskElementDescriptor ded2)
+        public int compare(final IndexedDiskElementDescriptor ded1, final IndexedDiskElementDescriptor ded2)
         {
             if (ded1.pos < ded2.pos)
             {
@@ -1550,26 +1550,26 @@
         /**
          * @param maxKeySize
          */
-        public LRUMapSizeLimited(int maxKeySize)
+        public LRUMapSizeLimited(final int maxKeySize)
         {
             this.maxSize = maxKeySize;
             this.contentSize = new AtomicInteger(0);
         }
 
         // keep the content size in kB, so 2^31 kB is reasonable value
-        private void subLengthFromCacheSize(IndexedDiskElementDescriptor value)
+        private void subLengthFromCacheSize(final IndexedDiskElementDescriptor value)
         {
             contentSize.addAndGet((value.len + IndexedDisk.HEADER_SIZE_BYTES) / -1024 - 1);
         }
 
         // keep the content size in kB, so 2^31 kB is reasonable value
-        private void addLengthToCacheSize(IndexedDiskElementDescriptor value)
+        private void addLengthToCacheSize(final IndexedDiskElementDescriptor value)
         {
             contentSize.addAndGet((value.len + IndexedDisk.HEADER_SIZE_BYTES) / 1024 + 1);
         }
 
         @Override
-        public IndexedDiskElementDescriptor put(K key, IndexedDiskElementDescriptor value)
+        public IndexedDiskElementDescriptor put(final K key, final IndexedDiskElementDescriptor value)
         {
             IndexedDiskElementDescriptor oldValue = null;
 
@@ -1594,7 +1594,7 @@
         }
 
         @Override
-        public IndexedDiskElementDescriptor remove(Object key)
+        public IndexedDiskElementDescriptor remove(final Object key)
         {
             IndexedDiskElementDescriptor value = null;
 
@@ -1621,7 +1621,7 @@
          * @param value
          */
         @Override
-        protected void processRemovedLRU(K key, IndexedDiskElementDescriptor value)
+        protected void processRemovedLRU(final K key, final IndexedDiskElementDescriptor value)
         {
             if (value != null)
             {
@@ -1651,7 +1651,7 @@
     public class LRUMapCountLimited extends LRUMap<K, IndexedDiskElementDescriptor>
     // implements Serializable
     {
-        public LRUMapCountLimited(int maxKeySize)
+        public LRUMapCountLimited(final int maxKeySize)
         {
             super(maxKeySize);
         }
@@ -1665,7 +1665,7 @@
          * @param value
          */
         @Override
-        protected void processRemovedLRU(K key, IndexedDiskElementDescriptor value)
+        protected void processRemovedLRU(final K key, final IndexedDiskElementDescriptor value)
         {
             addToRecycleBin(value);
             log.debug("{0}: Removing key: [{1}] from key store.", logCacheName, key);
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheAttributes.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheAttributes.java
index 4589fea..a60f0d5 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheAttributes.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheAttributes.java
@@ -73,7 +73,7 @@
      * <p>
      * @param maxKeySize The new maxKeySize value
      */
-    public void setMaxKeySize( int maxKeySize )
+    public void setMaxKeySize( final int maxKeySize )
     {
         this.maxKeySize = maxKeySize;
     }
@@ -94,7 +94,7 @@
      * <p>
      * @param cnt The new optimizeAtRemoveCount value
      */
-    public void setOptimizeAtRemoveCount( int cnt )
+    public void setOptimizeAtRemoveCount( final int cnt )
     {
         this.optimizeAtRemoveCount = cnt;
     }
@@ -102,7 +102,7 @@
     /**
      * @param optimizeOnShutdown The optimizeOnShutdown to set.
      */
-    public void setOptimizeOnShutdown( boolean optimizeOnShutdown )
+    public void setOptimizeOnShutdown( final boolean optimizeOnShutdown )
     {
         this.optimizeOnShutdown = optimizeOnShutdown;
     }
@@ -118,7 +118,7 @@
     /**
      * @param clearDiskOnStartup the clearDiskOnStartup to set
      */
-    public void setClearDiskOnStartup( boolean clearDiskOnStartup )
+    public void setClearDiskOnStartup( final boolean clearDiskOnStartup )
     {
         this.clearDiskOnStartup = clearDiskOnStartup;
     }
@@ -139,7 +139,7 @@
     @Override
     public String toString()
     {
-        StringBuilder str = new StringBuilder();
+        final StringBuilder str = new StringBuilder();
         str.append( "IndexedDiskCacheAttributes " );
         str.append( "\n diskPath = " + super.getDiskPath() );
         str.append( "\n maxPurgatorySize   = " + super.getMaxPurgatorySize() );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheFactory.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheFactory.java
index cd5c660..5079d83 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheFactory.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheFactory.java
@@ -48,13 +48,13 @@
      * @return IndexedDiskCache
      */
     @Override
-    public <K, V> IndexedDiskCache<K, V> createCache( AuxiliaryCacheAttributes iaca, ICompositeCacheManager cacheMgr,
-                                       ICacheEventLogger cacheEventLogger, IElementSerializer elementSerializer )
+    public <K, V> IndexedDiskCache<K, V> createCache( final AuxiliaryCacheAttributes iaca, final ICompositeCacheManager cacheMgr,
+                                       final ICacheEventLogger cacheEventLogger, final IElementSerializer elementSerializer )
     {
-        IndexedDiskCacheAttributes idca = (IndexedDiskCacheAttributes) iaca;
+        final IndexedDiskCacheAttributes idca = (IndexedDiskCacheAttributes) iaca;
         log.debug( "Creating DiskCache for attributes = {0}", idca );
 
-        IndexedDiskCache<K, V> cache = new IndexedDiskCache<>( idca, elementSerializer );
+        final IndexedDiskCache<K, V> cache = new IndexedDiskCache<>( idca, elementSerializer );
         cache.setCacheEventLogger( cacheEventLogger );
 
         return cache;
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskDumper.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskDumper.java
index ffb25d9..4a2a436 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskDumper.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskDumper.java
@@ -37,7 +37,7 @@
      * @param args
      *            The command line arguments
      */
-    public static void main( String[] args )
+    public static void main( final String[] args )
     {
         if ( args.length != 1 )
         {
@@ -45,12 +45,12 @@
             System.exit( 0 );
         }
 
-        IndexedDiskCacheAttributes attr = new IndexedDiskCacheAttributes();
+        final IndexedDiskCacheAttributes attr = new IndexedDiskCacheAttributes();
 
         attr.setCacheName( args[0] );
         attr.setDiskPath( args[0] );
 
-        IndexedDiskCache<Serializable, Serializable> dc = new IndexedDiskCache<>( attr );
+        final IndexedDiskCache<Serializable, Serializable> dc = new IndexedDiskCache<>( attr );
         dc.dump( true );
         System.exit( 0 );
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskElementDescriptor.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskElementDescriptor.java
index 2158c46..4ab8691 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskElementDescriptor.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskElementDescriptor.java
@@ -43,7 +43,7 @@
      * @param pos
      * @param len
      */
-    public IndexedDiskElementDescriptor( long pos, int len )
+    public IndexedDiskElementDescriptor( final long pos, final int len )
     {
         this.pos = pos;
         this.len = len;
@@ -55,7 +55,7 @@
     @Override
     public String toString()
     {
-        StringBuilder buf = new StringBuilder();
+        final StringBuilder buf = new StringBuilder();
         buf.append( "[DED: " );
         buf.append( " pos = " + pos );
         buf.append( " len = " + len );
@@ -76,7 +76,7 @@
      * @see java.lang.Object#equals(java.lang.Object)
      */
     @Override
-    public boolean equals(Object o)
+    public boolean equals(final Object o)
     {
     	if (o == null)
     	{
@@ -84,7 +84,7 @@
     	}
     	else if (o instanceof IndexedDiskElementDescriptor)
         {
-    		IndexedDiskElementDescriptor ided = (IndexedDiskElementDescriptor)o;
+    		final IndexedDiskElementDescriptor ided = (IndexedDiskElementDescriptor)o;
             return pos == ided.pos && len == ided.len;
         }
 
@@ -98,7 +98,7 @@
      * @return int
      */
     @Override
-    public int compareTo( IndexedDiskElementDescriptor o )
+    public int compareTo( final IndexedDiskElementDescriptor o )
     {
         if ( o == null )
         {
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/JDBCDiskCache.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/JDBCDiskCache.java
index 8fbb830..59b38c2 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/JDBCDiskCache.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/JDBCDiskCache.java
@@ -116,7 +116,7 @@
      * @param dsFactory the DataSourceFactory for this cache
      * @param tableState an object to track table operations
      */
-    public JDBCDiskCache(JDBCDiskCacheAttributes cattr, DataSourceFactory dsFactory, TableState tableState)
+    public JDBCDiskCache(final JDBCDiskCacheAttributes cattr, final DataSourceFactory dsFactory, final TableState tableState)
     {
         super( cattr );
 
@@ -140,7 +140,7 @@
      * @param ce
      */
     @Override
-    protected void processUpdate( ICacheElement<K, V> ce )
+    protected void processUpdate( final ICacheElement<K, V> ce )
     {
     	updateCount.incrementAndGet();
 
@@ -156,7 +156,7 @@
             {
                 element = getElementSerializer().serialize( ce );
             }
-            catch ( IOException e )
+            catch ( final IOException e )
             {
                 log.error( "Could not serialize element", e );
                 return;
@@ -164,7 +164,7 @@
 
             insertOrUpdate( ce, con, element );
         }
-        catch ( SQLException e )
+        catch ( final SQLException e )
         {
             log.error( "Problem getting connection.", e );
         }
@@ -188,7 +188,7 @@
      * @param con
      * @param element
      */
-    private void insertOrUpdate( ICacheElement<K, V> ce, Connection con, byte[] element )
+    private void insertOrUpdate( final ICacheElement<K, V> ce, final Connection con, final byte[] element )
     {
         boolean exists = false;
 
@@ -219,10 +219,10 @@
      * @param element
      * @return true if the insertion fails because the record exists.
      */
-    private boolean insertRow( ICacheElement<K, V> ce, Connection con, byte[] element )
+    private boolean insertRow( final ICacheElement<K, V> ce, final Connection con, final byte[] element )
     {
         boolean exists = false;
-        String sqlI = "insert into "
+        final String sqlI = "insert into "
                 + getJdbcDiskCacheAttributes().getTableName()
                 + " (CACHE_KEY, REGION, ELEMENT, MAX_LIFE_SECONDS, IS_ETERNAL, CREATE_TIME, UPDATE_TIME_SECONDS, SYSTEM_EXPIRE_TIME_SECONDS) "
                 + " values (?, ?, ?, ?, ?, ?, ?, ?)";
@@ -241,18 +241,18 @@
             {
                 psInsert.setString( 5, "F" );
             }
-            Timestamp createTime = new Timestamp( ce.getElementAttributes().getCreateTime() );
+            final Timestamp createTime = new Timestamp( ce.getElementAttributes().getCreateTime() );
             psInsert.setTimestamp( 6, createTime );
 
-            long now = System.currentTimeMillis() / 1000;
+            final long now = System.currentTimeMillis() / 1000;
             psInsert.setLong( 7, now );
 
-            long expireTime = now + ce.getElementAttributes().getMaxLife();
+            final long expireTime = now + ce.getElementAttributes().getMaxLife();
             psInsert.setLong( 8, expireTime );
 
             psInsert.execute();
         }
-        catch ( SQLException e )
+        catch ( final SQLException e )
         {
             if ("23000".equals(e.getSQLState()))
             {
@@ -280,9 +280,9 @@
      * @param con
      * @param element
      */
-    private void updateRow( ICacheElement<K, V> ce, Connection con, byte[] element )
+    private void updateRow( final ICacheElement<K, V> ce, final Connection con, final byte[] element )
     {
-        String sqlU = "update " + getJdbcDiskCacheAttributes().getTableName()
+        final String sqlU = "update " + getJdbcDiskCacheAttributes().getTableName()
                 + " set ELEMENT  = ?, CREATE_TIME = ?, UPDATE_TIME_SECONDS = ?, " + " SYSTEM_EXPIRE_TIME_SECONDS = ? "
                 + " where CACHE_KEY = ? and REGION = ?";
 
@@ -290,13 +290,13 @@
         {
             psUpdate.setBytes( 1, element );
 
-            Timestamp createTime = new Timestamp( ce.getElementAttributes().getCreateTime() );
+            final Timestamp createTime = new Timestamp( ce.getElementAttributes().getCreateTime() );
             psUpdate.setTimestamp( 2, createTime );
 
-            long now = System.currentTimeMillis() / 1000;
+            final long now = System.currentTimeMillis() / 1000;
             psUpdate.setLong( 3, now );
 
-            long expireTime = now + ce.getElementAttributes().getMaxLife();
+            final long expireTime = now + ce.getElementAttributes().getMaxLife();
             psUpdate.setLong( 4, expireTime );
 
             psUpdate.setString( 5, (String) ce.getKey() );
@@ -305,7 +305,7 @@
 
             log.debug( "ran update {0}", sqlU );
         }
-        catch ( SQLException e )
+        catch ( final SQLException e )
         {
             log.error( "Error executing update sql [{0}]", sqlU, e );
         }
@@ -318,11 +318,11 @@
      * @param con a database connection
      * @return boolean
      */
-    protected boolean doesElementExist( ICacheElement<K, V> ce, Connection con )
+    protected boolean doesElementExist( final ICacheElement<K, V> ce, final Connection con )
     {
         boolean exists = false;
         // don't select the element, since we want this to be fast.
-        String sqlS = "select CACHE_KEY from " + getJdbcDiskCacheAttributes().getTableName()
+        final String sqlS = "select CACHE_KEY from " + getJdbcDiskCacheAttributes().getTableName()
             + " where REGION = ? and CACHE_KEY = ?";
 
         try (PreparedStatement psSelect = con.prepareStatement( sqlS ))
@@ -337,7 +337,7 @@
 
             log.debug( "[{0}] existing status is {1}", ce.getKey(), exists );
         }
-        catch ( SQLException e )
+        catch ( final SQLException e )
         {
             log.error( "Problem looking for item before insert.", e );
         }
@@ -353,7 +353,7 @@
      * @see org.apache.commons.jcs3.auxiliary.disk.AbstractDiskCache#get(Object)
      */
     @Override
-    protected ICacheElement<K, V> processGet( K key )
+    protected ICacheElement<K, V> processGet( final K key )
     {
     	getCount.incrementAndGet();
 
@@ -370,7 +370,7 @@
         try
         {
             // region, key
-            String selectString = "select ELEMENT from " + getJdbcDiskCacheAttributes().getTableName()
+            final String selectString = "select ELEMENT from " + getJdbcDiskCacheAttributes().getTableName()
                 + " where REGION = ? and CACHE_KEY = ?";
 
             try (Connection con = getDataSource().getConnection())
@@ -393,7 +393,7 @@
                                 // USE THE SERIALIZER
                                 obj = getElementSerializer().deSerialize( data, null );
                             }
-                            catch ( Exception e )
+                            catch ( final Exception e )
                             {
                                 log.error( "Problem getting item for key [{0}]", key, e );
                             }
@@ -402,7 +402,7 @@
                 }
             }
         }
-        catch ( SQLException sqle )
+        catch ( final SQLException sqle )
         {
             log.error( "Caught a SQL exception trying to get the item for key [{0}]",
                     key, sqle );
@@ -427,7 +427,7 @@
      * @return key,value map
      */
     @Override
-    protected Map<K, ICacheElement<K, V>> processGetMatching( String pattern )
+    protected Map<K, ICacheElement<K, V>> processGetMatching( final String pattern )
     {
     	getMatchingCount.incrementAndGet();
 
@@ -438,12 +438,12 @@
             return null;
         }
 
-        Map<K, ICacheElement<K, V>> results = new HashMap<>();
+        final Map<K, ICacheElement<K, V>> results = new HashMap<>();
 
         try
         {
             // region, key
-            String selectString = "select CACHE_KEY, ELEMENT from " + getJdbcDiskCacheAttributes().getTableName()
+            final String selectString = "select CACHE_KEY, ELEMENT from " + getJdbcDiskCacheAttributes().getTableName()
                 + " where REGION = ? and CACHE_KEY like ?";
 
             try (Connection con = getDataSource().getConnection())
@@ -457,17 +457,17 @@
                     {
                         while ( rs.next() )
                         {
-                            String key = rs.getString( 1 );
-                            byte[] data = rs.getBytes( 2 );
+                            final String key = rs.getString( 1 );
+                            final byte[] data = rs.getBytes( 2 );
                             if ( data != null )
                             {
                                 try
                                 {
                                     // USE THE SERIALIZER
-                                    ICacheElement<K, V> value = getElementSerializer().deSerialize( data, null );
+                                    final ICacheElement<K, V> value = getElementSerializer().deSerialize( data, null );
                                     results.put( (K) key, value );
                                 }
-                                catch ( Exception e )
+                                catch ( final Exception e )
                                 {
                                     log.error( "Problem getting items for pattern [{0}]", pattern, e );
                                 }
@@ -477,7 +477,7 @@
                 }
             }
         }
-        catch ( SQLException sqle )
+        catch ( final SQLException sqle )
         {
             log.error( "Caught a SQL exception trying to get items for pattern [{0}]",
                     pattern, sqle );
@@ -498,7 +498,7 @@
      * @param pattern
      * @return String to use in the like query.
      */
-    public String constructLikeParameterFromPattern( String pattern )
+    public String constructLikeParameterFromPattern( final String pattern )
     {
         String likePattern = pattern.replaceAll( "\\.\\+", "%" );
         likePattern = likePattern.replaceAll( "\\.", "_" );
@@ -516,7 +516,7 @@
      * @return boolean
      */
     @Override
-    protected boolean processRemove( K key )
+    protected boolean processRemove( final K key )
     {
         // remove single item.
         String sql = "delete from " + getJdbcDiskCacheAttributes().getTableName()
@@ -549,13 +549,13 @@
 
                 setAlive(true);
             }
-            catch ( SQLException e )
+            catch ( final SQLException e )
             {
                 log.error( "Problem creating statement. sql [{0}]", sql, e );
                 setAlive(false);
             }
         }
-        catch ( SQLException e )
+        catch ( final SQLException e )
         {
             log.error( "Problem updating cache.", e );
             reset();
@@ -575,7 +575,7 @@
         {
             try (Connection con = getDataSource().getConnection())
             {
-                String sql = "delete from " + getJdbcDiskCacheAttributes().getTableName() + " where REGION = ?";
+                final String sql = "delete from " + getJdbcDiskCacheAttributes().getTableName() + " where REGION = ?";
 
                 try (PreparedStatement psDelete = con.prepareStatement( sql ))
                 {
@@ -583,13 +583,13 @@
                     setAlive(true);
                     psDelete.executeUpdate();
                 }
-                catch ( SQLException e )
+                catch ( final SQLException e )
                 {
                     log.error( "Problem creating statement.", e );
                     setAlive(false);
                 }
             }
-            catch ( SQLException e )
+            catch ( final SQLException e )
             {
                 log.error( "Problem removing all.", e );
                 reset();
@@ -615,16 +615,16 @@
         {
             // The shrinker thread might kick in before the table is created
             // So check if the table exists first
-            DatabaseMetaData dmd = con.getMetaData();
-            ResultSet result = dmd.getTables(null, null,
+            final DatabaseMetaData dmd = con.getMetaData();
+            final ResultSet result = dmd.getTables(null, null,
                     getJdbcDiskCacheAttributes().getTableName(), null);
 
             if (result.next())
             {
                 getTableState().setState( TableState.DELETE_RUNNING );
-                long now = System.currentTimeMillis() / 1000;
+                final long now = System.currentTimeMillis() / 1000;
 
-                String sql = "delete from " + getJdbcDiskCacheAttributes().getTableName()
+                final String sql = "delete from " + getJdbcDiskCacheAttributes().getTableName()
                     + " where IS_ETERNAL = ? and REGION = ? and ? > SYSTEM_EXPIRE_TIME_SECONDS";
 
                 try (PreparedStatement psDelete = con.prepareStatement( sql ))
@@ -637,7 +637,7 @@
 
                     deleted = psDelete.executeUpdate();
                 }
-                catch ( SQLException e )
+                catch ( final SQLException e )
                 {
                     log.error( "Problem creating statement.", e );
                     setAlive(false);
@@ -652,7 +652,7 @@
                         getJdbcDiskCacheAttributes().getTableName() );
             }
         }
-        catch ( SQLException e )
+        catch ( final SQLException e )
         {
             logError( getAuxiliaryCacheAttributes().getName(), "deleteExpired",
                     e.getMessage() + " URL: " + getDiskLocation() );
@@ -679,13 +679,13 @@
     @Override
     public void processDispose()
     {
-        ICacheEvent<K> cacheEvent = createICacheEvent( getCacheName(), (K)"none", ICacheEventLogger.DISPOSE_EVENT );
+        final ICacheEvent<K> cacheEvent = createICacheEvent( getCacheName(), (K)"none", ICacheEventLogger.DISPOSE_EVENT );
 
         try
         {
         	dsFactory.close();
         }
-        catch ( SQLException e )
+        catch ( final SQLException e )
         {
             log.error( "Problem shutting down.", e );
         }
@@ -706,7 +706,7 @@
         int size = 0;
 
         // region, key
-        String selectString = "select count(*) from " + getJdbcDiskCacheAttributes().getTableName()
+        final String selectString = "select count(*) from " + getJdbcDiskCacheAttributes().getTableName()
             + " where REGION = ?";
 
         try (Connection con = getDataSource().getConnection())
@@ -724,7 +724,7 @@
                 }
             }
         }
-        catch ( SQLException e )
+        catch ( final SQLException e )
         {
             log.error( "Problem getting size.", e );
         }
@@ -748,7 +748,7 @@
      * @param elementSerializer The elementSerializer to set.
      */
     @Override
-    public void setElementSerializer( IElementSerializer elementSerializer )
+    public void setElementSerializer( final IElementSerializer elementSerializer )
     {
         this.elementSerializer = elementSerializer;
     }
@@ -765,7 +765,7 @@
     /**
      * @param jdbcDiskCacheAttributes The jdbcDiskCacheAttributes to set.
      */
-    protected void setJdbcDiskCacheAttributes( JDBCDiskCacheAttributes jdbcDiskCacheAttributes )
+    protected void setJdbcDiskCacheAttributes( final JDBCDiskCacheAttributes jdbcDiskCacheAttributes )
     {
         this.jdbcDiskCacheAttributes = jdbcDiskCacheAttributes;
     }
@@ -795,10 +795,10 @@
     @Override
     public IStats getStatistics()
     {
-        IStats stats = super.getStatistics();
+        final IStats stats = super.getStatistics();
         stats.setTypeName( "JDBC/Abstract Disk Cache" );
 
-        List<IStatElement<?>> elems = stats.getStatElements();
+        final List<IStatElement<?>> elems = stats.getStatElements();
 
         elems.add(new StatElement<>( "Update Count", updateCount ) );
         elems.add(new StatElement<>( "Get Count", getCount ) );
@@ -828,7 +828,7 @@
     /**
      * @param tableState The tableState to set.
      */
-    public void setTableState( TableState tableState )
+    public void setTableState( final TableState tableState )
     {
         this.tableState = tableState;
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/JDBCDiskCacheAttributes.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/JDBCDiskCacheAttributes.java
index ffd50d6..398fcb8 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/JDBCDiskCacheAttributes.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/JDBCDiskCacheAttributes.java
@@ -97,7 +97,7 @@
     /**
      * @param userName The userName to set.
      */
-    public void setUserName( String userName )
+    public void setUserName( final String userName )
     {
         this.userName = userName;
     }
@@ -113,7 +113,7 @@
     /**
      * @param password The password to set.
      */
-    public void setPassword( String password )
+    public void setPassword( final String password )
     {
         this.password = password;
     }
@@ -129,7 +129,7 @@
     /**
      * @param url The url to set.
      */
-    public void setUrl( String url )
+    public void setUrl( final String url )
     {
         this.url = url;
     }
@@ -146,7 +146,7 @@
      * This is appended to the url.
      * @param database The database to set.
      */
-    public void setDatabase( String database )
+    public void setDatabase( final String database )
     {
         this.database = database;
     }
@@ -162,7 +162,7 @@
     /**
      * @param driverClassName The driverClassName to set.
      */
-    public void setDriverClassName( String driverClassName )
+    public void setDriverClassName( final String driverClassName )
     {
         this.driverClassName = driverClassName;
     }
@@ -186,7 +186,7 @@
 	/**
 	 * @param jndiPath the jndiPath to set
 	 */
-	public void setJndiPath(String jndiPath)
+	public void setJndiPath(final String jndiPath)
 	{
 		this.jndiPath = jndiPath;
 	}
@@ -202,7 +202,7 @@
 	/**
 	 * @param jndiTTL the jndiTTL to set
 	 */
-	public void setJndiTTL(long jndiTTL)
+	public void setJndiTTL(final long jndiTTL)
 	{
 		this.jndiTTL = jndiTTL;
 	}
@@ -210,7 +210,7 @@
 	/**
      * @param tableName The tableName to set.
      */
-    public void setTableName( String tableName )
+    public void setTableName( final String tableName )
     {
         this.tableName = tableName;
     }
@@ -229,7 +229,7 @@
      * <p>
      * @param testBeforeInsert The testBeforeInsert to set.
      */
-    public void setTestBeforeInsert( boolean testBeforeInsert )
+    public void setTestBeforeInsert( final boolean testBeforeInsert )
     {
         this.testBeforeInsert = testBeforeInsert;
     }
@@ -245,7 +245,7 @@
     /**
      * @param maxTotal The maxTotal to set.
      */
-    public void setMaxTotal( int maxActive )
+    public void setMaxTotal( final int maxActive )
     {
         this.maxTotal = maxActive;
     }
@@ -261,7 +261,7 @@
     /**
      * @param shrinkerIntervalSecondsArg The shrinkerIntervalSeconds to set.
      */
-    public void setShrinkerIntervalSeconds( int shrinkerIntervalSecondsArg )
+    public void setShrinkerIntervalSeconds( final int shrinkerIntervalSecondsArg )
     {
         this.shrinkerIntervalSeconds = shrinkerIntervalSecondsArg;
     }
@@ -277,7 +277,7 @@
     /**
      * @param useDiskShrinker The useDiskShrinker to set.
      */
-    public void setUseDiskShrinker( boolean useDiskShrinker )
+    public void setUseDiskShrinker( final boolean useDiskShrinker )
     {
         this.useDiskShrinker = useDiskShrinker;
     }
@@ -293,7 +293,7 @@
     /**
      * @param connectionPoolName the connectionPoolName to set
      */
-    public void setConnectionPoolName( String connectionPoolName )
+    public void setConnectionPoolName( final String connectionPoolName )
     {
         this.connectionPoolName = connectionPoolName;
     }
@@ -314,7 +314,7 @@
     @Override
     public String toString()
     {
-        StringBuilder buf = new StringBuilder();
+        final StringBuilder buf = new StringBuilder();
         buf.append( "\nJDBCCacheAttributes" );
         buf.append( "\n UserName [" + getUserName() + "]" );
         buf.append( "\n Url [" + getUrl() + "]" );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/JDBCDiskCacheFactory.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/JDBCDiskCacheFactory.java
index 1a70699..b3d907f 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/JDBCDiskCacheFactory.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/JDBCDiskCacheFactory.java
@@ -86,16 +86,16 @@
      * @throws SQLException if the cache instance could not be created
      */
     @Override
-    public <K, V> JDBCDiskCache<K, V> createCache( AuxiliaryCacheAttributes rawAttr,
-            ICompositeCacheManager compositeCacheManager,
-            ICacheEventLogger cacheEventLogger, IElementSerializer elementSerializer )
+    public <K, V> JDBCDiskCache<K, V> createCache( final AuxiliaryCacheAttributes rawAttr,
+            final ICompositeCacheManager compositeCacheManager,
+            final ICacheEventLogger cacheEventLogger, final IElementSerializer elementSerializer )
             throws SQLException
     {
-        JDBCDiskCacheAttributes cattr = (JDBCDiskCacheAttributes) rawAttr;
-        TableState tableState = getTableState( cattr.getTableName() );
-        DataSourceFactory dsFactory = getDataSourceFactory(cattr, compositeCacheManager.getConfigurationProperties());
+        final JDBCDiskCacheAttributes cattr = (JDBCDiskCacheAttributes) rawAttr;
+        final TableState tableState = getTableState( cattr.getTableName() );
+        final DataSourceFactory dsFactory = getDataSourceFactory(cattr, compositeCacheManager.getConfigurationProperties());
 
-        JDBCDiskCache<K, V> cache = new JDBCDiskCache<>(cattr, dsFactory, tableState);
+        final JDBCDiskCache<K, V> cache = new JDBCDiskCache<>(cattr, dsFactory, tableState);
         cache.setCacheEventLogger( cacheEventLogger );
         cache.setElementSerializer( elementSerializer );
 
@@ -125,13 +125,13 @@
     {
         this.tableStates.clear();
 
-        for (DataSourceFactory dsFactory : this.dsFactories.values())
+        for (final DataSourceFactory dsFactory : this.dsFactories.values())
         {
         	try
         	{
 				dsFactory.close();
 			}
-        	catch (SQLException e)
+        	catch (final SQLException e)
         	{
         		log.error("Could not close data source factory {0}", dsFactory.getName(), e);
 			}
@@ -148,7 +148,7 @@
      * @param tableName
      * @return a cached instance of the table state
      */
-    protected TableState getTableState(String tableName)
+    protected TableState getTableState(final String tableName)
     {
         return tableStates.computeIfAbsent(tableName, TableState::new);
     }
@@ -157,7 +157,7 @@
 	 * @see org.apache.commons.jcs3.engine.behavior.IRequireScheduler#setScheduledExecutorService(java.util.concurrent.ScheduledExecutorService)
 	 */
 	@Override
-	public void setScheduledExecutorService(ScheduledExecutorService scheduledExecutor)
+	public void setScheduledExecutorService(final ScheduledExecutorService scheduledExecutor)
 	{
 		this.scheduler = scheduledExecutor;
 	}
@@ -178,16 +178,16 @@
      * @param cattr
      * @param raf
      */
-    protected void createShrinkerWhenNeeded( JDBCDiskCacheAttributes cattr, JDBCDiskCache<?, ?> raf )
+    protected void createShrinkerWhenNeeded( final JDBCDiskCacheAttributes cattr, final JDBCDiskCache<?, ?> raf )
     {
         // add cache to shrinker.
         if ( cattr.isUseDiskShrinker() )
         {
-            ScheduledExecutorService shrinkerService = getScheduledExecutorService();
-            ShrinkerThread shrinkerThread = shrinkerThreadMap.computeIfAbsent(cattr.getTableName(), key -> {
-                ShrinkerThread newShrinkerThread = new ShrinkerThread();
+            final ScheduledExecutorService shrinkerService = getScheduledExecutorService();
+            final ShrinkerThread shrinkerThread = shrinkerThreadMap.computeIfAbsent(cattr.getTableName(), key -> {
+                final ShrinkerThread newShrinkerThread = new ShrinkerThread();
 
-                long intervalMillis = Math.max( 999, cattr.getShrinkerIntervalSeconds() * 1000 );
+                final long intervalMillis = Math.max( 999, cattr.getShrinkerIntervalSeconds() * 1000 );
                 log.info( "Setting the shrinker to run every [{0}] ms. for table [{1}]",
                         intervalMillis, key );
                 shrinkerService.scheduleAtFixedRate(newShrinkerThread, 0, intervalMillis, TimeUnit.MILLISECONDS);
@@ -207,8 +207,8 @@
      * @return a DataSourceFactory
      * @throws SQLException if a database access error occurs
      */
-    protected DataSourceFactory getDataSourceFactory( JDBCDiskCacheAttributes cattr,
-                                                      Properties configProps ) throws SQLException
+    protected DataSourceFactory getDataSourceFactory( final JDBCDiskCacheAttributes cattr,
+                                                      final Properties configProps ) throws SQLException
     {
     	String poolName = null;
 
@@ -222,7 +222,7 @@
         }
 
 
-    	DataSourceFactory dsFactory = this.dsFactories.computeIfAbsent(poolName, key -> {
+    	final DataSourceFactory dsFactory = this.dsFactories.computeIfAbsent(poolName, key -> {
     	    DataSourceFactory newDsFactory;
             JDBCDiskCacheAttributes dsConfig = null;
 
@@ -233,7 +233,7 @@
             else
             {
                 dsConfig = new JDBCDiskCacheAttributes();
-                String dsConfigAttributePrefix = POOL_CONFIGURATION_PREFIX + key + ATTRIBUTE_PREFIX;
+                final String dsConfigAttributePrefix = POOL_CONFIGURATION_PREFIX + key + ATTRIBUTE_PREFIX;
                 PropertySetter.setProperties( dsConfig,
                         configProps,
                         dsConfigAttributePrefix + "." );
@@ -254,7 +254,7 @@
             {
                 newDsFactory.initialize(dsConfig);
             }
-            catch (SQLException e)
+            catch (final SQLException e)
             {
                 throw new RuntimeException(e);
             }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/ShrinkerThread.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/ShrinkerThread.java
index a9c4c08..b9e1b15 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/ShrinkerThread.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/ShrinkerThread.java
@@ -64,7 +64,7 @@
      * <p>
      * @param diskCache
      */
-    public void addDiskCacheToShrinkList( JDBCDiskCache<?, ?> diskCache )
+    public void addDiskCacheToShrinkList( final JDBCDiskCache<?, ?> diskCache )
     {
         // the set will prevent dupes.
         // we could also just add these to a hashmap by region name
@@ -83,7 +83,7 @@
         {
             deleteExpiredFromAllRegisteredRegions();
         }
-        catch ( Throwable e )
+        catch ( final Throwable e )
         {
             log.error( "Caught an exception while trying to delete expired items.", e );
         }
@@ -97,11 +97,11 @@
         log.info( "Running JDBC disk cache shrinker. Number of regions [{0}]",
                 () -> shrinkSet.size() );
 
-        for (Iterator<JDBCDiskCache<?, ?>> i = shrinkSet.iterator(); i.hasNext();)
+        for (final Iterator<JDBCDiskCache<?, ?>> i = shrinkSet.iterator(); i.hasNext();)
         {
-            JDBCDiskCache<?, ?> cache = i.next();
-            ElapsedTimer timer = new ElapsedTimer();
-            int deleted = cache.deleteExpired();
+            final JDBCDiskCache<?, ?> cache = i.next();
+            final ElapsedTimer timer = new ElapsedTimer();
+            final int deleted = cache.deleteExpired();
 
             log.info( "Deleted [{0}] expired for region [{1}] for table [{2}] in {3} ms.",
                     deleted, cache.getCacheName(), cache.getTableName(), timer.getElapsedTime() );
@@ -116,7 +116,7 @@
                 {
                     Thread.sleep( this.getPauseBetweenRegionCallsMillis() );
                 }
-                catch ( InterruptedException e )
+                catch ( final InterruptedException e )
                 {
                     log.warn( "Interrupted while waiting to delete expired for the next region." );
                 }
@@ -130,7 +130,7 @@
      * <p>
      * @param pauseBetweenRegionCallsMillis The pauseBetweenRegionCallsMillis to set.
      */
-    public void setPauseBetweenRegionCallsMillis( long pauseBetweenRegionCallsMillis )
+    public void setPauseBetweenRegionCallsMillis( final long pauseBetweenRegionCallsMillis )
     {
         this.pauseBetweenRegionCallsMillis = pauseBetweenRegionCallsMillis;
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/TableState.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/TableState.java
index 11dbad0..4786c66 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/TableState.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/TableState.java
@@ -58,7 +58,7 @@
      * <p>
      * @param tableName
      */
-    public TableState( String tableName )
+    public TableState( final String tableName )
     {
         this.setTableName( tableName );
     }
@@ -67,7 +67,7 @@
      * @param tableName
      *            The tableName to set.
      */
-    public void setTableName( String tableName )
+    public void setTableName( final String tableName )
     {
         this.tableName = tableName;
     }
@@ -84,7 +84,7 @@
      * @param state
      *            The state to set.
      */
-    public void setState( int state )
+    public void setState( final int state )
     {
         this.state = state;
     }
@@ -105,7 +105,7 @@
     @Override
     public String toString()
     {
-        StringBuilder str = new StringBuilder();
+        final StringBuilder str = new StringBuilder();
         str.append( "TableState " );
         str.append( "\n TableName = " + getTableName() );
         str.append( "\n State = " + getState() );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/dsfactory/JndiDataSourceFactory.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/dsfactory/JndiDataSourceFactory.java
index 6a689c3..830b42c 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/dsfactory/JndiDataSourceFactory.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/dsfactory/JndiDataSourceFactory.java
@@ -83,7 +83,7 @@
     @Override
 	public DataSource getDataSource() throws SQLException
     {
-        long time = System.currentTimeMillis();
+        final long time = System.currentTimeMillis();
 
         if (ds == null || time - lastLookup > ttl)
         {
@@ -95,7 +95,7 @@
                 }
                 lastLookup = time;
             }
-            catch (NamingException e)
+            catch (final NamingException e)
             {
                 throw new SQLException(e);
             }
@@ -108,7 +108,7 @@
      * @see org.apache.commons.jcs3.auxiliary.disk.jdbc.dsfactory.DataSourceFactory#initialize(JDBCDiskCacheAttributes)
      */
     @Override
-	public void initialize(JDBCDiskCacheAttributes config) throws SQLException
+	public void initialize(final JDBCDiskCacheAttributes config) throws SQLException
     {
     	this.name = config.getConnectionPoolName();
         initJNDI(config);
@@ -120,7 +120,7 @@
      * @param config where to read the settings from
      * @throws SQLException if a property set fails
      */
-    private void initJNDI(JDBCDiskCacheAttributes config) throws SQLException
+    private void initJNDI(final JDBCDiskCacheAttributes config) throws SQLException
     {
         log.debug("Starting initJNDI");
 
@@ -132,7 +132,7 @@
             this.ttl = config.getJndiTTL();
             log.debug("Time between context lookups: {0}", ttl);
 
-    		Hashtable<String, Object> env = new Hashtable<>();
+    		final Hashtable<String, Object> env = new Hashtable<>();
             ctx = new InitialContext(env);
 
             if (log.isTraceEnabled())
@@ -141,7 +141,7 @@
             	debugCtx(ctx);
             }
         }
-        catch (NamingException e)
+        catch (final NamingException e)
         {
             throw new SQLException(e);
         }
@@ -162,10 +162,10 @@
      * @param ctx the context
      * @throws NamingException
      */
-    private void debugCtx(Context ctx) throws NamingException
+    private void debugCtx(final Context ctx) throws NamingException
     {
         log.trace("InitialContext -------------------------------");
-        Map<?, ?> env = ctx.getEnvironment();
+        final Map<?, ?> env = ctx.getEnvironment();
         log.trace("Environment properties: {0}", env.size());
         env.forEach((key, value) -> log.trace("    {0}: {1}", key, value));
         log.trace("----------------------------------------------");
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/dsfactory/SharedPoolDataSourceFactory.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/dsfactory/SharedPoolDataSourceFactory.java
index 371ce16..7fff446 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/dsfactory/SharedPoolDataSourceFactory.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/dsfactory/SharedPoolDataSourceFactory.java
@@ -72,11 +72,11 @@
      * @see org.apache.commons.jcs3.auxiliary.disk.jdbc.dsfactory.DataSourceFactory#initialize(JDBCDiskCacheAttributes)

      */

     @Override

-	public void initialize(JDBCDiskCacheAttributes config) throws SQLException

+	public void initialize(final JDBCDiskCacheAttributes config) throws SQLException

     {

     	this.name = config.getConnectionPoolName();

-        ConnectionPoolDataSource cpds = initCPDS(config);

-        SharedPoolDataSource dataSource = new SharedPoolDataSource();

+        final ConnectionPoolDataSource cpds = initCPDS(config);

+        final SharedPoolDataSource dataSource = new SharedPoolDataSource();

         initJdbc2Pool(dataSource, config);

         dataSource.setConnectionPoolDataSource(cpds);

         dataSource.setMaxTotal(config.getMaxTotal());

@@ -97,7 +97,7 @@
                 ds.close();

             }

         }

-        catch (Exception e)

+        catch (final Exception e)

         {

         	throw new SQLException("Exception caught closing data source", e);

         }

@@ -116,13 +116,13 @@
     {

         log.debug("Starting initCPDS");

 

-        DriverAdapterCPDS cpds = new DriverAdapterCPDS();

+        final DriverAdapterCPDS cpds = new DriverAdapterCPDS();

 

         try

         {

 			cpds.setDriver(config.getDriverClassName());

 		}

-        catch (ClassNotFoundException e)

+        catch (final ClassNotFoundException e)

         {

 			throw new SQLException("Driver class not found " + config.getDriverClassName(), e);

 		}

diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/hsql/HSQLDiskCacheFactory.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/hsql/HSQLDiskCacheFactory.java
index 42fe5b5..d75f681 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/hsql/HSQLDiskCacheFactory.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/hsql/HSQLDiskCacheFactory.java
@@ -59,16 +59,16 @@
      * @throws SQLException if the creation of the cache instance fails
      */
     @Override
-    public <K, V> JDBCDiskCache<K, V> createCache( AuxiliaryCacheAttributes rawAttr,
-			ICompositeCacheManager compositeCacheManager,
-			ICacheEventLogger cacheEventLogger,
-			IElementSerializer elementSerializer )
+    public <K, V> JDBCDiskCache<K, V> createCache( final AuxiliaryCacheAttributes rawAttr,
+			final ICompositeCacheManager compositeCacheManager,
+			final ICacheEventLogger cacheEventLogger,
+			final IElementSerializer elementSerializer )
 			throws SQLException
     {
         // TODO get this from the attributes.
         System.setProperty( "hsqldb.cache_scale", "8" );
 
-        JDBCDiskCache<K, V> cache = super.createCache(rawAttr, compositeCacheManager,
+        final JDBCDiskCache<K, V> cache = super.createCache(rawAttr, compositeCacheManager,
                 cacheEventLogger, elementSerializer);
         setupDatabase( cache.getDataSource(), (JDBCDiskCacheAttributes) rawAttr );
 
@@ -82,7 +82,7 @@
      * @param attributes Cache region configuration
      * @throws SQLException
      */
-    protected void setupDatabase( DataSource ds, JDBCDiskCacheAttributes attributes )
+    protected void setupDatabase( final DataSource ds, final JDBCDiskCacheAttributes attributes )
         throws SQLException
     {
         try (Connection cConn = ds.getConnection())
@@ -98,15 +98,15 @@
      * @param cConn
      * @param tableName
      */
-    protected synchronized void setupTable( Connection cConn, String tableName ) throws SQLException
+    protected synchronized void setupTable( final Connection cConn, final String tableName ) throws SQLException
     {
-        DatabaseMetaData dmd = cConn.getMetaData();
-        ResultSet result = dmd.getTables(null, null, tableName, null);
+        final DatabaseMetaData dmd = cConn.getMetaData();
+        final ResultSet result = dmd.getTables(null, null, tableName, null);
 
         if (!result.next())
         {
             // TODO make the cached nature of the table configurable
-            StringBuilder createSql = new StringBuilder();
+            final StringBuilder createSql = new StringBuilder();
             createSql.append( "CREATE CACHED TABLE ").append( tableName );
             createSql.append( "( " );
             createSql.append( "CACHE_KEY             VARCHAR(250)          NOT NULL, " );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLDiskCache.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLDiskCache.java
index 2030881..973f9e2 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLDiskCache.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLDiskCache.java
@@ -55,8 +55,8 @@
      * @param tableState an object to track table operations
      * @throws SQLException if the pool access could not be set up
      */
-    public MySQLDiskCache( MySQLDiskCacheAttributes attributes, DataSourceFactory dsFactory,
-    		TableState tableState) throws SQLException
+    public MySQLDiskCache( final MySQLDiskCacheAttributes attributes, final DataSourceFactory dsFactory,
+    		final TableState tableState) throws SQLException
     {
         super( attributes, dsFactory, tableState);
 
@@ -73,7 +73,7 @@
      * @return An object matching key, or null.
      */
     @Override
-    protected ICacheElement<K, V> processGet( K key )
+    protected ICacheElement<K, V> processGet( final K key )
     {
         if ( this.getTableState().getState() == TableState.OPTIMIZATION_RUNNING )
         {
@@ -93,7 +93,7 @@
      * @return An object matching key, or null.
      */
     @Override
-    protected Map<K, ICacheElement<K, V>> processGetMatching( String pattern )
+    protected Map<K, ICacheElement<K, V>> processGetMatching( final String pattern )
     {
         if ( this.getTableState().getState() == TableState.OPTIMIZATION_RUNNING )
         {
@@ -110,7 +110,7 @@
      * @return String to use in the like query.
      */
     @Override
-    public String constructLikeParameterFromPattern( String pattern )
+    public String constructLikeParameterFromPattern( final String pattern )
     {
         String likePattern = pattern.replaceAll( "\\.\\+", "%" );
         likePattern = likePattern.replaceAll( "\\.", "_" );
@@ -127,7 +127,7 @@
      * @param element
      */
     @Override
-    protected void processUpdate( ICacheElement<K, V> element )
+    protected void processUpdate( final ICacheElement<K, V> element )
     {
         if ( this.getTableState().getState() == TableState.OPTIMIZATION_RUNNING )
         {
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLDiskCacheAttributes.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLDiskCacheAttributes.java
index 854a932..3325714 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLDiskCacheAttributes.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLDiskCacheAttributes.java
@@ -58,7 +58,7 @@
     /**
      * @param optimizationSchedule The optimizationSchedule to set.
      */
-    public void setOptimizationSchedule( String optimizationSchedule )
+    public void setOptimizationSchedule( final String optimizationSchedule )
     {
         this.optimizationSchedule = optimizationSchedule;
     }
@@ -74,7 +74,7 @@
     /**
      * @param balkDuringOptimization The balkDuringOptimization to set.
      */
-    public void setBalkDuringOptimization( boolean balkDuringOptimization )
+    public void setBalkDuringOptimization( final boolean balkDuringOptimization )
     {
         this.balkDuringOptimization = balkDuringOptimization;
     }
@@ -97,7 +97,7 @@
     @Override
     public String toString()
     {
-        StringBuilder buf = new StringBuilder();
+        final StringBuilder buf = new StringBuilder();
         buf.append( "\nMySQLDiskCacheAttributes" );
         buf.append( "\n OptimizationSchedule [" + getOptimizationSchedule() + "]" );
         buf.append( "\n BalkDuringOptimization [" + isBalkDuringOptimization() + "]" );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLDiskCacheFactory.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLDiskCacheFactory.java
index f3da717..5d072c3 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLDiskCacheFactory.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLDiskCacheFactory.java
@@ -59,16 +59,16 @@
      * @throws SQLException if the cache instance could not be created
      */
     @Override
-    public <K, V> MySQLDiskCache<K, V> createCache( AuxiliaryCacheAttributes rawAttr,
-            ICompositeCacheManager compositeCacheManager,
-            ICacheEventLogger cacheEventLogger, IElementSerializer elementSerializer )
+    public <K, V> MySQLDiskCache<K, V> createCache( final AuxiliaryCacheAttributes rawAttr,
+            final ICompositeCacheManager compositeCacheManager,
+            final ICacheEventLogger cacheEventLogger, final IElementSerializer elementSerializer )
             throws SQLException
     {
-        MySQLDiskCacheAttributes cattr = (MySQLDiskCacheAttributes) rawAttr;
-        TableState tableState = getTableState( cattr.getTableName() );
-        DataSourceFactory dsFactory = getDataSourceFactory(cattr, compositeCacheManager.getConfigurationProperties());
+        final MySQLDiskCacheAttributes cattr = (MySQLDiskCacheAttributes) rawAttr;
+        final TableState tableState = getTableState( cattr.getTableName() );
+        final DataSourceFactory dsFactory = getDataSourceFactory(cattr, compositeCacheManager.getConfigurationProperties());
 
-        MySQLDiskCache<K, V> cache = new MySQLDiskCache<>( cattr, dsFactory, tableState);
+        final MySQLDiskCache<K, V> cache = new MySQLDiskCache<>( cattr, dsFactory, tableState);
         cache.setCacheEventLogger( cacheEventLogger );
         cache.setElementSerializer( elementSerializer );
 
@@ -87,7 +87,7 @@
      * @param tableState for noting optimization in progress, etc.
      * @param ds the DataSource
      */
-    protected void scheduleOptimizations( MySQLDiskCacheAttributes attributes, TableState tableState, DataSource ds  )
+    protected void scheduleOptimizations( final MySQLDiskCacheAttributes attributes, final TableState tableState, final DataSource ds  )
     {
         if ( attributes != null )
         {
@@ -96,12 +96,12 @@
                 log.info( "Will try to configure optimization for table [{0}] on schedule [{1}]",
                         () -> attributes.getTableName(),  () -> attributes.getOptimizationSchedule());
 
-                MySQLTableOptimizer optimizer = new MySQLTableOptimizer( attributes, tableState, ds );
+                final MySQLTableOptimizer optimizer = new MySQLTableOptimizer( attributes, tableState, ds );
 
                 // loop through the dates.
                 try
                 {
-                    Date[] dates = ScheduleParser.createDatesForSchedule( attributes.getOptimizationSchedule() );
+                    final Date[] dates = ScheduleParser.createDatesForSchedule( attributes.getOptimizationSchedule() );
                     if ( dates != null )
                     {
                         for ( int i = 0; i < dates.length; i++ )
@@ -110,7 +110,7 @@
                         }
                     }
                 }
-                catch ( ParseException e )
+                catch ( final ParseException e )
                 {
                     log.warn( "Problem creating optimization schedule for table [{0}]",
                             attributes.getTableName(), e );
@@ -130,12 +130,12 @@
      * @param startTime -- HH:MM:SS format
      * @param optimizer
      */
-    protected void scheduleOptimization( Date startTime, MySQLTableOptimizer optimizer )
+    protected void scheduleOptimization( final Date startTime, final MySQLTableOptimizer optimizer )
     {
         log.info( "startTime [{0}] for optimizer {1}", startTime, optimizer );
 
-        Date now = new Date();
-        long initialDelay = startTime.getTime() - now.getTime();
+        final Date now = new Date();
+        final long initialDelay = startTime.getTime() - now.getTime();
 
         // have the daemon execute the optimization
         getScheduledExecutorService().scheduleAtFixedRate(() -> optimizeTable(optimizer),
@@ -147,11 +147,11 @@
      * <p>
      * @author Aaron Smuts
      */
-    private void optimizeTable(MySQLTableOptimizer optimizer)
+    private void optimizeTable(final MySQLTableOptimizer optimizer)
     {
         if ( optimizer != null )
         {
-            boolean success = optimizer.optimizeTable();
+            final boolean success = optimizer.optimizeTable();
             log.info( "Optimization success status [{0}]", success );
         }
         else
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLTableOptimizer.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLTableOptimizer.java
index ffd2cde..ab78af4 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLTableOptimizer.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLTableOptimizer.java
@@ -61,7 +61,7 @@
      * @param tableState We mark the table status as optimizing when this is happening.
      * @param dataSource access to the database
      */
-    public MySQLTableOptimizer( MySQLDiskCacheAttributes attributes, TableState tableState, DataSource dataSource )
+    public MySQLTableOptimizer( final MySQLDiskCacheAttributes attributes, final TableState tableState, final DataSource dataSource )
     {
         setTableName( attributes.getTableName() );
 
@@ -116,7 +116,7 @@
      */
     public boolean optimizeTable()
     {
-        ElapsedTimer timer = new ElapsedTimer();
+        final ElapsedTimer timer = new ElapsedTimer();
         boolean success = false;
 
         if ( tableState.getState() == TableState.OPTIMIZATION_RUNNING )
@@ -144,8 +144,8 @@
                         // This may be mysql version specific.
                         if ( rs.next() )
                         {
-                            String status = rs.getString( "Msg_type" );
-                            String message = rs.getString( "Msg_text" );
+                            final String status = rs.getString( "Msg_type" );
+                            final String message = rs.getString( "Msg_text" );
 
                             log.info( "Message Type: {0}", status );
                             log.info( "Message: {0}", message );
@@ -166,18 +166,18 @@
                     }
 
                     // log the table status
-                    String statusString = getTableStatus( sStatement );
+                    final String statusString = getTableStatus( sStatement );
                     log.info( "Table status after optimizing table [{0}]: {1}",
                             this.getTableName(), statusString );
                 }
-                catch ( SQLException e )
+                catch ( final SQLException e )
                 {
                     log.error( "Problem optimizing table [{0}]",
                             this.getTableName(), e );
                     return false;
                 }
             }
-            catch ( SQLException e )
+            catch ( final SQLException e )
             {
                 log.error( "Problem getting connection.", e );
             }
@@ -200,13 +200,13 @@
      * @return String
      * @throws SQLException
      */
-    protected String getTableStatus( Statement sStatement )
+    protected String getTableStatus( final Statement sStatement )
         throws SQLException
     {
-        StringBuilder statusString = new StringBuilder();
+        final StringBuilder statusString = new StringBuilder();
         try (ResultSet statusResultSet = sStatement.executeQuery( "show table status" ))
         {
-            int numColumns = statusResultSet.getMetaData().getColumnCount();
+            final int numColumns = statusResultSet.getMetaData().getColumnCount();
             while ( statusResultSet.next() )
             {
                 statusString.append( "\n" );
@@ -232,16 +232,16 @@
      * @return true if successful
      * @throws SQLException
      */
-    protected boolean repairTable( Statement sStatement )
+    protected boolean repairTable( final Statement sStatement )
         throws SQLException
     {
         boolean success = false;
 
         // if( message != null && message.indexOf( ) )
-        StringBuilder repairString = new StringBuilder();
+        final StringBuilder repairString = new StringBuilder();
         try (ResultSet repairResult = sStatement.executeQuery( "repair table " + this.getTableName()))
         {
-            int numColumns = repairResult.getMetaData().getColumnCount();
+            final int numColumns = repairResult.getMetaData().getColumnCount();
             while ( repairResult.next() )
             {
                 for ( int i = 1; i <= numColumns; i++ )
@@ -252,7 +252,7 @@
                         .append("]  |  ");
                 }
 
-                String message = repairResult.getString( "Msg_text" );
+                final String message = repairResult.getString( "Msg_text" );
                 if ( "OK".equals( message ) )
                 {
                     success = true;
@@ -272,7 +272,7 @@
     /**
      * @param tableName The tableName to set.
      */
-    public void setTableName( String tableName )
+    public void setTableName( final String tableName )
     {
         this.tableName = tableName;
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/util/ScheduleParser.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/util/ScheduleParser.java
index 11e87b9..e2a489e 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/util/ScheduleParser.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/util/ScheduleParser.java
@@ -40,7 +40,7 @@
      * @return Date[]
      * @throws ParseException
      */
-    public static Date[] createDatesForSchedule( String schedule )
+    public static Date[] createDatesForSchedule( final String schedule )
         throws ParseException
     {
         if ( schedule == null )
@@ -48,12 +48,12 @@
             throw new ParseException( "Cannot create schedules for a null String.", 0 );
         }
 
-        StringTokenizer toker = new StringTokenizer( schedule, "," );
-        Date[] dates = new Date[toker.countTokens()];
+        final StringTokenizer toker = new StringTokenizer( schedule, "," );
+        final Date[] dates = new Date[toker.countTokens()];
         int cnt = 0;
         while ( toker.hasMoreTokens() )
         {
-            String time = toker.nextToken();
+            final String time = toker.nextToken();
             dates[cnt] = getDateForSchedule( time );
             cnt++;
         }
@@ -68,7 +68,7 @@
      * @return Date
      * @throws ParseException
      */
-    public static Date getDateForSchedule( String startTime )
+    public static Date getDateForSchedule( final String startTime )
         throws ParseException
     {
         if ( startTime == null )
@@ -76,13 +76,13 @@
             throw new ParseException( "Cannot create date for a null String.", 0 );
         }
 
-        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
-        Date date = sdf.parse(startTime);
-        Calendar cal = Calendar.getInstance();
+        final SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
+        final Date date = sdf.parse(startTime);
+        final Calendar cal = Calendar.getInstance();
         // This will result in a date of 1/1/1970
         cal.setTime(date);
 
-        Calendar now = Calendar.getInstance();
+        final Calendar now = Calendar.getInstance();
         cal.set(now.get(Calendar.YEAR), now.get(Calendar.MONTH), now.get(Calendar.DAY_OF_MONTH));
 
         // if the date is less than now, add a day.
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/LateralCache.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/LateralCache.java
index dbeb339..4a4d4a2 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/LateralCache.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/LateralCache.java
@@ -66,7 +66,7 @@
      * @param lateral
      * @param monitor
      */
-    public LateralCache( ILateralCacheAttributes cattr, ICacheServiceNonLocal<K, V> lateral, LateralCacheMonitor monitor )
+    public LateralCache( final ILateralCacheAttributes cattr, final ICacheServiceNonLocal<K, V> lateral, final LateralCacheMonitor monitor )
     {
         this.cacheName = cattr.getCacheName();
         this.lateralCacheAttributes = cattr;
@@ -79,7 +79,7 @@
      * <p>
      * @param cattr
      */
-    public LateralCache( ILateralCacheAttributes cattr )
+    public LateralCache( final ILateralCacheAttributes cattr )
     {
         this.cacheName = cattr.getCacheName();
         this.lateralCacheAttributes = cattr;
@@ -92,7 +92,7 @@
      * @throws IOException
      */
     @Override
-    protected void processUpdate( ICacheElement<K, V> ce )
+    protected void processUpdate( final ICacheElement<K, V> ce )
         throws IOException
     {
         try
@@ -104,7 +104,7 @@
                 lateralCacheService.update( ce, CacheInfo.listenerId );
             }
         }
-        catch ( IOException ex )
+        catch ( final IOException ex )
         {
             handleException( ex, "Failed to put [" + ce.getKey() + "] to " + ce.getCacheName() + "@" + lateralCacheAttributes );
         }
@@ -118,7 +118,7 @@
      * @throws IOException
      */
     @Override
-    protected ICacheElement<K, V> processGet( K key )
+    protected ICacheElement<K, V> processGet( final K key )
         throws IOException
     {
         ICacheElement<K, V> obj = null;
@@ -131,7 +131,7 @@
         {
             obj = lateralCacheService.get( cacheName, key );
         }
-        catch ( Exception e )
+        catch ( final Exception e )
         {
             log.error( e );
             handleException( e, "Failed to get [" + key + "] from " + lateralCacheAttributes.getCacheName() + "@" + lateralCacheAttributes );
@@ -146,7 +146,7 @@
      * @throws IOException
      */
     @Override
-    protected Map<K, ICacheElement<K, V>> processGetMatching( String pattern )
+    protected Map<K, ICacheElement<K, V>> processGetMatching( final String pattern )
         throws IOException
     {
         if ( this.lateralCacheAttributes.getPutOnlyMode() )
@@ -157,7 +157,7 @@
         {
             return lateralCacheService.getMatching( cacheName, pattern );
         }
-        catch ( IOException e )
+        catch ( final IOException e )
         {
             log.error( e );
             handleException( e, "Failed to getMatching [" + pattern + "] from " + lateralCacheAttributes.getCacheName() + "@" + lateralCacheAttributes );
@@ -177,7 +177,7 @@
         {
             return lateralCacheService.getKeySet( cacheName );
         }
-        catch ( IOException ex )
+        catch ( final IOException ex )
         {
             handleException( ex, "Failed to get key set from " + lateralCacheAttributes.getCacheName() + "@"
                 + lateralCacheAttributes );
@@ -194,7 +194,7 @@
      * @throws IOException
      */
     @Override
-    protected boolean processRemove( K key )
+    protected boolean processRemove( final K key )
         throws IOException
     {
         log.debug( "removing key: {0}", key );
@@ -203,7 +203,7 @@
         {
             lateralCacheService.remove( cacheName, key, CacheInfo.listenerId );
         }
-        catch ( IOException ex )
+        catch ( final IOException ex )
         {
             handleException( ex, "Failed to remove " + key + " from " + lateralCacheAttributes.getCacheName() + "@" + lateralCacheAttributes );
         }
@@ -224,7 +224,7 @@
         {
             lateralCacheService.removeAll( cacheName, CacheInfo.listenerId );
         }
-        catch ( IOException ex )
+        catch ( final IOException ex )
         {
             handleException( ex, "Failed to remove all from " + lateralCacheAttributes.getCacheName() + "@" + lateralCacheAttributes );
         }
@@ -250,7 +250,7 @@
             lateralCacheService.dispose( this.lateralCacheAttributes.getCacheName() );
             // Should remove connection
         }
-        catch ( IOException ex )
+        catch ( final IOException ex )
         {
             log.error( "Couldn't dispose", ex );
             handleException( ex, "Failed to dispose " + lateralCacheAttributes.getCacheName() );
@@ -308,7 +308,7 @@
      * @param msg
      * @throws IOException
      */
-    private void handleException( Exception ex, String msg )
+    private void handleException( final Exception ex, final String msg )
         throws IOException
     {
         log.error( "Disabling lateral cache due to error {0}", msg, ex );
@@ -332,23 +332,23 @@
      * <p>
      * @param restoredLateral
      */
-    public void fixCache( ICacheServiceNonLocal<K, V> restoredLateral )
+    public void fixCache( final ICacheServiceNonLocal<K, V> restoredLateral )
     {
         if ( this.lateralCacheService instanceof ZombieCacheServiceNonLocal )
         {
-            ZombieCacheServiceNonLocal<K, V> zombie = (ZombieCacheServiceNonLocal<K, V>) this.lateralCacheService;
+            final ZombieCacheServiceNonLocal<K, V> zombie = (ZombieCacheServiceNonLocal<K, V>) this.lateralCacheService;
             this.lateralCacheService = restoredLateral;
             try
             {
                 zombie.propagateEvents( restoredLateral );
             }
-            catch ( Exception e )
+            catch ( final Exception e )
             {
                 try
                 {
                     handleException( e, "Problem propagating events from Zombie Queue to new Lateral Service." );
                 }
-                catch ( IOException e1 )
+                catch ( final IOException e1 )
                 {
                     // swallow, since this is just expected kick back.  Handle always throws
                 }
@@ -386,7 +386,7 @@
     @Override
     public String toString()
     {
-        StringBuilder buf = new StringBuilder();
+        final StringBuilder buf = new StringBuilder();
         buf.append( "\n LateralCache " );
         buf.append( "\n Cache Name [" + lateralCacheAttributes.getCacheName() + "]" );
         buf.append( "\n cattr =  [" + lateralCacheAttributes + "]" );
@@ -410,7 +410,7 @@
     @Override
     public IStats getStatistics()
     {
-        IStats stats = new Stats();
+        final IStats stats = new Stats();
         stats.setTypeName( "LateralCache" );
         return stats;
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/LateralCacheAttributes.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/LateralCacheAttributes.java
index 92e6a35..67c99c6 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/LateralCacheAttributes.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/LateralCacheAttributes.java
@@ -74,7 +74,7 @@
      * @param val The new httpServer value
      */
     @Override
-    public void setHttpServer( String val )
+    public void setHttpServer( final String val )
     {
         httpServer = val;
     }
@@ -94,7 +94,7 @@
      * @param val The new httpServers value
      */
     @Override
-    public void setHttpServers( String val )
+    public void setHttpServers( final String val )
     {
         httpServers = val;
     }
@@ -114,7 +114,7 @@
      * @param val The new tcpListenerPort value
      */
     @Override
-    public void setHttpListenerPort( int val )
+    public void setHttpListenerPort( final int val )
     {
         this.httpListenerPort = val;
     }
@@ -134,7 +134,7 @@
      * @param val The new udpMulticastAddr value
      */
     @Override
-    public void setUdpMulticastAddr( String val )
+    public void setUdpMulticastAddr( final String val )
     {
         udpMulticastAddr = val;
     }
@@ -154,7 +154,7 @@
      * @param val The new udpMulticastPort value
      */
     @Override
-    public void setUdpMulticastPort( int val )
+    public void setUdpMulticastPort( final int val )
     {
         udpMulticastPort = val;
     }
@@ -174,7 +174,7 @@
      * @param val The new transmissionType value
      */
     @Override
-    public void setTransmissionType( Type val )
+    public void setTransmissionType( final Type val )
     {
         this.transmissionType = val;
         this.transmissionTypeName = val.toString();
@@ -195,7 +195,7 @@
      * @param val The new transmissionTypeName value
      */
     @Override
-    public void setTransmissionTypeName( String val )
+    public void setTransmissionTypeName( final String val )
     {
         this.transmissionTypeName = val;
         this.transmissionType = Type.valueOf(val);
@@ -218,7 +218,7 @@
      * @param val The new transmissionTypeName value
      */
     @Override
-    public void setPutOnlyMode( boolean val )
+    public void setPutOnlyMode( final boolean val )
     {
         this.putOnlyMode = val;
     }
@@ -236,7 +236,7 @@
      * @param receive The receive to set.
      */
     @Override
-    public void setReceive( boolean receive )
+    public void setReceive( final boolean receive )
     {
         this.receive = receive;
     }
@@ -257,7 +257,7 @@
      * @param zombieQueueMaxSize The zombieQueueMaxSize to set.
      */
     @Override
-    public void setZombieQueueMaxSize( int zombieQueueMaxSize )
+    public void setZombieQueueMaxSize( final int zombieQueueMaxSize )
     {
         this.zombieQueueMaxSize = zombieQueueMaxSize;
     }
@@ -280,7 +280,7 @@
     @Override
     public String toString()
     {
-        StringBuilder buf = new StringBuilder();
+        final StringBuilder buf = new StringBuilder();
         //buf.append( "cacheName=" + cacheName + "\n" );
         //buf.append( "putOnlyMode=" + putOnlyMode + "\n" );
         //buf.append( "transmissionTypeName=" + transmissionTypeName + "\n" );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/LateralCacheMonitor.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/LateralCacheMonitor.java
index cb8f62a..44ca757 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/LateralCacheMonitor.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/LateralCacheMonitor.java
@@ -53,7 +53,7 @@
      * <p>
      * @param idlePeriod
      */
-    protected static void forceShortIdlePeriod( long idlePeriod )
+    protected static void forceShortIdlePeriod( final long idlePeriod )
     {
         LateralCacheMonitor.idlePeriod = idlePeriod;
     }
@@ -65,7 +65,7 @@
      *
      * @param factory a reference to the factory that manages the service instances
      */
-    public LateralCacheMonitor(LateralTCPCacheFactory factory)
+    public LateralCacheMonitor(final LateralTCPCacheFactory factory)
     {
         super("JCS-LateralCacheMonitor");
         this.factory = factory;
@@ -78,7 +78,7 @@
      *
      * @param cache the cache
      */
-    public void addCache(LateralCacheNoWait<?, ?> cache)
+    public void addCache(final LateralCacheNoWait<?, ?> cache)
     {
         this.caches.put(cache.getCacheName(), cache);
 
@@ -107,20 +107,21 @@
         // Monitor each cache instance one after the other.
         log.info( "Number of caches to monitor = " + caches.size() );
         //for
-        for (Map.Entry<String, LateralCacheNoWait<?, ?>> entry : caches.entrySet())
+        for (final Map.Entry<String, LateralCacheNoWait<?, ?>> entry : caches.entrySet())
         {
-            String cacheName = entry.getKey();
+            final String cacheName = entry.getKey();
 
             @SuppressWarnings("unchecked") // Downcast to match service
+            final
             LateralCacheNoWait<Object, Object> c = (LateralCacheNoWait<Object, Object>) entry.getValue();
             if ( c.getStatus() == CacheStatus.ERROR )
             {
                 log.info( "Found LateralCacheNoWait in error, " + cacheName );
 
-                ITCPLateralCacheAttributes lca = (ITCPLateralCacheAttributes)c.getAuxiliaryCacheAttributes();
+                final ITCPLateralCacheAttributes lca = (ITCPLateralCacheAttributes)c.getAuxiliaryCacheAttributes();
 
                 // Get service instance
-                ICacheServiceNonLocal<Object, Object> cacheService = factory.getCSNLInstance(lca);
+                final ICacheServiceNonLocal<Object, Object> cacheService = factory.getCSNLInstance(lca);
 
                 // If we can't fix them, just skip and re-try in the
                 // next round.
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/LateralCacheNoWait.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/LateralCacheNoWait.java
index e2fff84..8aba713 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/LateralCacheNoWait.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/LateralCacheNoWait.java
@@ -76,13 +76,13 @@
      * <p>
      * @param cache
      */
-    public LateralCacheNoWait( LateralCache<K, V> cache )
+    public LateralCacheNoWait( final LateralCache<K, V> cache )
     {
         this.cache = cache;
 
         log.debug( "Constructing LateralCacheNoWait, LateralCache = [{0}]", cache );
 
-        CacheEventQueueFactory<K, V> fact = new CacheEventQueueFactory<>();
+        final CacheEventQueueFactory<K, V> fact = new CacheEventQueueFactory<>();
         this.eventQueue = fact.createCacheEventQueue( new CacheAdaptor<>( cache ), CacheInfo.listenerId, cache
             .getCacheName(), cache.getAuxiliaryCacheAttributes().getEventQueuePoolName(), cache
             .getAuxiliaryCacheAttributes().getEventQueueType() );
@@ -104,7 +104,7 @@
      * @throws IOException
      */
     @Override
-    public void update( ICacheElement<K, V> ce )
+    public void update( final ICacheElement<K, V> ce )
         throws IOException
     {
         putCount++;
@@ -112,7 +112,7 @@
         {
             eventQueue.addPutEvent( ce );
         }
-        catch ( IOException ex )
+        catch ( final IOException ex )
         {
             log.error( ex );
             eventQueue.destroy();
@@ -126,7 +126,7 @@
      * @return ICacheElement&lt;K, V&gt; if found, else null
      */
     @Override
-    public ICacheElement<K, V> get( K key )
+    public ICacheElement<K, V> get( final K key )
     {
         getCount++;
         if ( this.getStatus() != CacheStatus.ERROR )
@@ -135,20 +135,20 @@
             {
                 return cache.get( key );
             }
-            catch ( UnmarshalException ue )
+            catch ( final UnmarshalException ue )
             {
                 log.debug( "Retrying the get owing to UnmarshalException..." );
                 try
                 {
                     return cache.get( key );
                 }
-                catch ( IOException ex )
+                catch ( final IOException ex )
                 {
                     log.error( "Failed in retrying the get for the second time." );
                     eventQueue.destroy();
                 }
             }
-            catch ( IOException ex )
+            catch ( final IOException ex )
             {
                 eventQueue.destroy();
             }
@@ -164,11 +164,11 @@
      *         data in cache for any of these keys
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMultiple(Set<K> keys)
+    public Map<K, ICacheElement<K, V>> getMultiple(final Set<K> keys)
     {
         if ( keys != null && !keys.isEmpty() )
         {
-            Map<K, ICacheElement<K, V>> elements = keys.stream()
+            final Map<K, ICacheElement<K, V>> elements = keys.stream()
                 .collect(Collectors.toMap(
                         key -> key,
                         key -> get(key))).entrySet().stream()
@@ -190,7 +190,7 @@
      * @return ICacheElement&lt;K, V&gt; if found, else empty
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMatching(String pattern)
+    public Map<K, ICacheElement<K, V>> getMatching(final String pattern)
     {
         getCount++;
         if ( this.getStatus() != CacheStatus.ERROR )
@@ -199,20 +199,20 @@
             {
                 return cache.getMatching( pattern );
             }
-            catch ( UnmarshalException ue )
+            catch ( final UnmarshalException ue )
             {
                 log.debug( "Retrying the get owing to UnmarshalException." );
                 try
                 {
                     return cache.getMatching( pattern );
                 }
-                catch ( IOException ex )
+                catch ( final IOException ex )
                 {
                     log.error( "Failed in retrying the get for the second time." );
                     eventQueue.destroy();
                 }
             }
-            catch ( IOException ex )
+            catch ( final IOException ex )
             {
                 eventQueue.destroy();
             }
@@ -232,7 +232,7 @@
         {
             return cache.getKeySet();
         }
-        catch ( IOException ex )
+        catch ( final IOException ex )
         {
             log.error( ex );
             eventQueue.destroy();
@@ -247,14 +247,14 @@
      * @return always false
      */
     @Override
-    public boolean remove( K key )
+    public boolean remove( final K key )
     {
         removeCount++;
         try
         {
             eventQueue.addRemoveEvent( key );
         }
-        catch ( IOException ex )
+        catch ( final IOException ex )
         {
             log.error( ex );
             eventQueue.destroy();
@@ -270,7 +270,7 @@
         {
             eventQueue.addRemoveAllEvent();
         }
-        catch ( IOException ex )
+        catch ( final IOException ex )
         {
             log.error( ex );
             eventQueue.destroy();
@@ -285,7 +285,7 @@
         {
             eventQueue.addDisposeEvent();
         }
-        catch ( IOException ex )
+        catch ( final IOException ex )
         {
             log.error( ex );
             eventQueue.destroy();
@@ -343,7 +343,7 @@
      * <p>
      * @param lateral
      */
-    public void fixCache( ICacheServiceNonLocal<K, V> lateral )
+    public void fixCache( final ICacheServiceNonLocal<K, V> lateral )
     {
         cache.fixCache( lateral );
         resetEventQ();
@@ -358,7 +358,7 @@
         {
             eventQueue.destroy();
         }
-        CacheEventQueueFactory<K, V> fact = new CacheEventQueueFactory<>();
+        final CacheEventQueueFactory<K, V> fact = new CacheEventQueueFactory<>();
         this.eventQueue = fact.createCacheEventQueue( new CacheAdaptor<>( cache ), CacheInfo.listenerId, cache
             .getCacheName(), cache.getAuxiliaryCacheAttributes().getEventQueuePoolName(), cache
             .getAuxiliaryCacheAttributes().getEventQueueType() );
@@ -400,13 +400,13 @@
     @Override
     public IStats getStatistics()
     {
-        IStats stats = new Stats();
+        final IStats stats = new Stats();
         stats.setTypeName( "Lateral Cache No Wait" );
 
-        ArrayList<IStatElement<?>> elems = new ArrayList<>();
+        final ArrayList<IStatElement<?>> elems = new ArrayList<>();
 
         // get the stats from the event queue too
-        IStats eqStats = this.eventQueue.getStatistics();
+        final IStats eqStats = this.eventQueue.getStatistics();
         elems.addAll(eqStats.getStatElements());
 
         elems.add(new StatElement<>( "Get Count", Integer.valueOf(this.getCount) ) );
@@ -425,7 +425,7 @@
     @Override
     public String toString()
     {
-        StringBuilder buf = new StringBuilder();
+        final StringBuilder buf = new StringBuilder();
         buf.append( " LateralCacheNoWait " );
         buf.append( " Status = " + this.getStatus() );
         buf.append( " cache = [" + cache.toString() + "]" );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/LateralCacheNoWaitFacade.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/LateralCacheNoWaitFacade.java
index 7649718..0ba977a 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/LateralCacheNoWaitFacade.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/LateralCacheNoWaitFacade.java
@@ -77,7 +77,7 @@
      * @param noWaits
      * @param cattr
      */
-    public LateralCacheNoWaitFacade(ILateralCacheListener<K, V> listener, LateralCacheNoWait<K, V>[] noWaits, ILateralCacheAttributes cattr )
+    public LateralCacheNoWaitFacade(final ILateralCacheListener<K, V> listener, final LateralCacheNoWait<K, V>[] noWaits, final ILateralCacheAttributes cattr )
     {
         log.debug( "CONSTRUCTING NO WAIT FACADE" );
         this.listener = listener;
@@ -92,9 +92,9 @@
      * @param noWait
      * @return true if the noWait is in the list.
      */
-    public boolean containsNoWait( LateralCacheNoWait<K, V> noWait )
+    public boolean containsNoWait( final LateralCacheNoWait<K, V> noWait )
     {
-        Optional<LateralCacheNoWait<K, V>> optional = Arrays.stream(noWaits)
+        final Optional<LateralCacheNoWait<K, V>> optional = Arrays.stream(noWaits)
                 // we know noWait isn't null
                 .filter(nw -> noWait.equals( nw ))
                 .findFirst();
@@ -108,7 +108,7 @@
      * @param noWait
      * @return true if it wasn't already contained
      */
-    public synchronized boolean addNoWait( LateralCacheNoWait<K, V> noWait )
+    public synchronized boolean addNoWait( final LateralCacheNoWait<K, V> noWait )
     {
         if ( noWait == null )
         {
@@ -122,6 +122,7 @@
         }
 
         @SuppressWarnings("unchecked") // No generic arrays in java
+        final
         LateralCacheNoWait<K, V>[] newArray = new LateralCacheNoWait[noWaits.length + 1];
 
         System.arraycopy( noWaits, 0, newArray, 0, noWaits.length );
@@ -140,7 +141,7 @@
      * @param noWait
      * @return true if it was already in the array
      */
-    public synchronized boolean removeNoWait( LateralCacheNoWait<K, V> noWait )
+    public synchronized boolean removeNoWait( final LateralCacheNoWait<K, V> noWait )
     {
         if ( noWait == null )
         {
@@ -164,6 +165,7 @@
         }
 
         @SuppressWarnings("unchecked") // No generic arrays in java
+        final
         LateralCacheNoWait<K, V>[] newArray = new LateralCacheNoWait[noWaits.length - 1];
 
         System.arraycopy( noWaits, 0, newArray, 0, position );
@@ -181,13 +183,13 @@
      * @throws IOException
      */
     @Override
-    public void update( ICacheElement<K, V> ce )
+    public void update( final ICacheElement<K, V> ce )
         throws IOException
     {
         log.debug( "updating through lateral cache facade, noWaits.length = {0}",
                 noWaits.length );
 
-        for (LateralCacheNoWait<K, V> nw : noWaits)
+        for (final LateralCacheNoWait<K, V> nw : noWaits)
         {
             nw.update( ce );
         }
@@ -200,9 +202,9 @@
      * @return ICacheElement
      */
     @Override
-    public ICacheElement<K, V> get( K key )
+    public ICacheElement<K, V> get( final K key )
     {
-        Optional<ICacheElement<K, V>> optional = Arrays.stream(noWaits)
+        final Optional<ICacheElement<K, V>> optional = Arrays.stream(noWaits)
             .map(nw -> nw.get( key ))
             .filter(obj -> obj != null)
             .findFirst();
@@ -223,11 +225,11 @@
      *         data in cache for any of these keys
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMultiple(Set<K> keys)
+    public Map<K, ICacheElement<K, V>> getMultiple(final Set<K> keys)
     {
         if ( keys != null && !keys.isEmpty() )
         {
-            Map<K, ICacheElement<K, V>> elements = keys.stream()
+            final Map<K, ICacheElement<K, V>> elements = keys.stream()
                 .collect(Collectors.toMap(
                         key -> key,
                         key -> get(key))).entrySet().stream()
@@ -250,10 +252,10 @@
      * @return ICacheElement
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMatching(String pattern)
+    public Map<K, ICacheElement<K, V>> getMatching(final String pattern)
     {
-        Map<K, ICacheElement<K, V>> elements = new HashMap<>();
-        for (LateralCacheNoWait<K, V> nw : noWaits)
+        final Map<K, ICacheElement<K, V>> elements = new HashMap<>();
+        for (final LateralCacheNoWait<K, V> nw : noWaits)
         {
             elements.putAll( nw.getMatching( pattern ) );
         }
@@ -268,12 +270,12 @@
     @Override
     public Set<K> getKeySet() throws IOException
     {
-        HashSet<K> allKeys = new HashSet<>();
-        for (LateralCacheNoWait<K, V> nw : noWaits)
+        final HashSet<K> allKeys = new HashSet<>();
+        for (final LateralCacheNoWait<K, V> nw : noWaits)
         {
             if ( nw != null )
             {
-                Set<K> keys = nw.getKeySet();
+                final Set<K> keys = nw.getKeySet();
                 if (keys != null)
                 {
                     allKeys.addAll( keys );
@@ -290,7 +292,7 @@
      * @return always false.
      */
     @Override
-    public boolean remove( K key )
+    public boolean remove( final K key )
     {
         Arrays.stream(noWaits).forEach(nw -> nw.remove( key ));
         return false;
@@ -376,7 +378,7 @@
             return CacheStatus.ALIVE;
         }
 
-        List<CacheStatus> statii = Arrays.stream(noWaits)
+        final List<CacheStatus> statii = Arrays.stream(noWaits)
                 .map(LateralCacheNoWait::getStatus)
                 .collect(Collectors.toList());
 
@@ -441,21 +443,21 @@
     @Override
     public IStats getStatistics()
     {
-        IStats stats = new Stats();
+        final IStats stats = new Stats();
         stats.setTypeName( "Lateral Cache No Wait Facade" );
 
-        ArrayList<IStatElement<?>> elems = new ArrayList<>();
+        final ArrayList<IStatElement<?>> elems = new ArrayList<>();
 
         if ( noWaits != null )
         {
             elems.add(new StatElement<>( "Number of No Waits", Integer.valueOf(noWaits.length) ) );
 
-            for ( LateralCacheNoWait<K, V> lcnw : noWaits )
+            for ( final LateralCacheNoWait<K, V> lcnw : noWaits )
             {
                 if ( lcnw != null )
                 {
                     // get the stats from the super too
-                    IStats sStats = lcnw.getStatistics();
+                    final IStats sStats = lcnw.getStatistics();
                     elems.addAll(sStats.getStatElements());
                 }
             }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/LateralElementDescriptor.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/LateralElementDescriptor.java
index d79ba48..102975f 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/LateralElementDescriptor.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/LateralElementDescriptor.java
@@ -61,7 +61,7 @@
      * <p>
      * @param ce ICacheElement&lt;K, V&gt; payload
      */
-    public LateralElementDescriptor( ICacheElement<K, V> ce )
+    public LateralElementDescriptor( final ICacheElement<K, V> ce )
     {
         this.ce = ce;
     }
@@ -72,7 +72,7 @@
     @Override
     public String toString()
     {
-        StringBuilder buf = new StringBuilder();
+        final StringBuilder buf = new StringBuilder();
         buf.append( "\n LateralElementDescriptor " );
         buf.append( "\n command = [" + this.command + "]" );
         buf.append( "\n valHashCode = [" + this.valHashCode + "]" );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPCacheFactory.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPCacheFactory.java
index e75936a..69a0eca 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPCacheFactory.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPCacheFactory.java
@@ -84,27 +84,27 @@
      */
     @Override
     public <K, V> LateralCacheNoWaitFacade<K, V> createCache(
-            AuxiliaryCacheAttributes iaca, ICompositeCacheManager cacheMgr,
-           ICacheEventLogger cacheEventLogger, IElementSerializer elementSerializer )
+            final AuxiliaryCacheAttributes iaca, final ICompositeCacheManager cacheMgr,
+           final ICacheEventLogger cacheEventLogger, final IElementSerializer elementSerializer )
     {
-        ITCPLateralCacheAttributes lac = (ITCPLateralCacheAttributes) iaca;
-        ArrayList<ICache<K, V>> noWaits = new ArrayList<>();
+        final ITCPLateralCacheAttributes lac = (ITCPLateralCacheAttributes) iaca;
+        final ArrayList<ICache<K, V>> noWaits = new ArrayList<>();
 
         // pairs up the tcp servers and set the tcpServer value and
         // get the manager and then get the cache
         // no servers are required.
         if ( lac.getTcpServers() != null )
         {
-            String servers[] = lac.getTcpServers().split("\\s*,\\s*");
+            final String servers[] = lac.getTcpServers().split("\\s*,\\s*");
             log.debug( "Configured for [{0}] servers.", servers.length );
 
-            for (String server : servers)
+            for (final String server : servers)
             {
                 log.debug( "tcp server = {0}", server );
-                ITCPLateralCacheAttributes lacC = (ITCPLateralCacheAttributes) lac.clone();
+                final ITCPLateralCacheAttributes lacC = (ITCPLateralCacheAttributes) lac.clone();
                 lacC.setTcpServer( server );
 
-                LateralCacheNoWait<K, V> lateralNoWait = createCacheNoWait(lacC, cacheEventLogger, elementSerializer);
+                final LateralCacheNoWait<K, V> lateralNoWait = createCacheNoWait(lacC, cacheEventLogger, elementSerializer);
 
                 addListenerIfNeeded( lacC, cacheMgr );
                 monitor.addCache(lateralNoWait);
@@ -112,12 +112,13 @@
             }
         }
 
-        ILateralCacheListener<K, V> listener = createListener( lac, cacheMgr );
+        final ILateralCacheListener<K, V> listener = createListener( lac, cacheMgr );
 
         // create the no wait facade.
         @SuppressWarnings("unchecked") // No generic arrays in java
+        final
         LateralCacheNoWait<K, V>[] lcnwArray = noWaits.toArray( new LateralCacheNoWait[0] );
-        LateralCacheNoWaitFacade<K, V> lcnwf =
+        final LateralCacheNoWaitFacade<K, V> lcnwf =
             new LateralCacheNoWaitFacade<>(listener, lcnwArray, lac );
 
         // create udp discovery if available.
@@ -126,18 +127,18 @@
         return lcnwf;
     }
 
-    protected <K, V> LateralCacheNoWait<K, V> createCacheNoWait( ITCPLateralCacheAttributes lca,
-            ICacheEventLogger cacheEventLogger, IElementSerializer elementSerializer )
+    protected <K, V> LateralCacheNoWait<K, V> createCacheNoWait( final ITCPLateralCacheAttributes lca,
+            final ICacheEventLogger cacheEventLogger, final IElementSerializer elementSerializer )
     {
-        ICacheServiceNonLocal<K, V> lateralService = getCSNLInstance(lca);
+        final ICacheServiceNonLocal<K, V> lateralService = getCSNLInstance(lca);
 
-        LateralCache<K, V> cache = new LateralCache<>( lca, lateralService, this.monitor );
+        final LateralCache<K, V> cache = new LateralCache<>( lca, lateralService, this.monitor );
         cache.setCacheEventLogger( cacheEventLogger );
         cache.setElementSerializer( elementSerializer );
 
         log.debug( "Created cache for noWait, cache [{0}]", cache );
 
-        LateralCacheNoWait<K, V> lateralNoWait = new LateralCacheNoWait<>( cache );
+        final LateralCacheNoWait<K, V> lateralNoWait = new LateralCacheNoWait<>( cache );
         lateralNoWait.setCacheEventLogger( cacheEventLogger );
         lateralNoWait.setElementSerializer( elementSerializer );
 
@@ -171,13 +172,13 @@
     @Override
     public void dispose()
     {
-        for (ICacheServiceNonLocal<?, ?> service : this.csnlInstances.values())
+        for (final ICacheServiceNonLocal<?, ?> service : this.csnlInstances.values())
         {
             try
             {
                 service.dispose("");
             }
-            catch (IOException e)
+            catch (final IOException e)
             {
                 log.error("Could not dispose service " + service, e);
             }
@@ -195,7 +196,7 @@
             {
                 this.monitor.join(5000);
             }
-            catch (InterruptedException e)
+            catch (final InterruptedException e)
             {
                 // swallow
             }
@@ -212,9 +213,9 @@
      */
     // Need to cast because of common map for all cache services
     @SuppressWarnings("unchecked")
-    public <K, V> ICacheServiceNonLocal<K, V> getCSNLInstance( ITCPLateralCacheAttributes lca )
+    public <K, V> ICacheServiceNonLocal<K, V> getCSNLInstance( final ITCPLateralCacheAttributes lca )
     {
-        String key = lca.getTcpServer();
+        final String key = lca.getTcpServer();
 
         csnlInstances.computeIfPresent(key, (name, service) -> {
             // If service creation did not succeed last time, force retry
@@ -227,7 +228,7 @@
             return service;
         });
 
-        ICacheServiceNonLocal<K, V> service =
+        final ICacheServiceNonLocal<K, V> service =
                 (ICacheServiceNonLocal<K, V>) csnlInstances.computeIfAbsent(key, name -> {
 
                     log.info( "Instance for [{0}] is null, creating", name );
@@ -239,14 +240,14 @@
 
                         return new LateralTCPService<>( lca );
                     }
-                    catch ( IOException ex )
+                    catch ( final IOException ex )
                     {
                         // Failed to connect to the lateral server.
                         // Configure this LateralCacheManager instance to use the
                         // "zombie" services.
                         log.error( "Failure, lateral instance will use zombie service", ex );
 
-                        ICacheServiceNonLocal<K, V> zombieService =
+                        final ICacheServiceNonLocal<K, V> zombieService =
                                 new ZombieCacheServiceNonLocal<>( lca.getZombieQueueMaxSize() );
 
                         // Notify the cache monitor about the error, and kick off
@@ -268,11 +269,11 @@
      *
      * @return The instance value
      */
-    private LateralTCPDiscoveryListener getDiscoveryListener(ITCPLateralCacheAttributes ilca, ICompositeCacheManager cacheManager)
+    private LateralTCPDiscoveryListener getDiscoveryListener(final ITCPLateralCacheAttributes ilca, final ICompositeCacheManager cacheManager)
     {
-        String key = ilca.getUdpDiscoveryAddr() + ":" + ilca.getUdpDiscoveryPort();
+        final String key = ilca.getUdpDiscoveryAddr() + ":" + ilca.getUdpDiscoveryPort();
 
-        LateralTCPDiscoveryListener ins = lTCPDLInstances.computeIfAbsent(key, key1 -> {
+        final LateralTCPDiscoveryListener ins = lTCPDLInstances.computeIfAbsent(key, key1 -> {
             log.info("Created new discovery listener for cacheName {0} for request {1}",
                     key1, ilca.getCacheName());
             return new LateralTCPDiscoveryListener( this.getName(),  cacheManager);
@@ -287,7 +288,7 @@
      * @param iaca cache configuration attributes
      * @param cacheMgr the composite cache manager
      */
-    private void addListenerIfNeeded( ITCPLateralCacheAttributes iaca, ICompositeCacheManager cacheMgr )
+    private void addListenerIfNeeded( final ITCPLateralCacheAttributes iaca, final ICompositeCacheManager cacheMgr )
     {
         // don't create a listener if we are not receiving.
         if ( iaca.isReceive() )
@@ -297,7 +298,7 @@
                 addLateralCacheListener( iaca.getCacheName(),
                         LateralTCPListener.getInstance( iaca, cacheMgr ) );
             }
-            catch ( IOException ioe )
+            catch ( final IOException ioe )
             {
                 log.error("Problem creating lateral listener", ioe);
             }
@@ -315,7 +316,7 @@
      * @param listener The feature to be added to the LateralCacheListener attribute
      * @throws IOException
      */
-    private <K, V> void addLateralCacheListener( String cacheName, ILateralCacheListener<K, V> listener )
+    private <K, V> void addLateralCacheListener( final String cacheName, final ILateralCacheListener<K, V> listener )
         throws IOException
     {
         synchronized ( this.lateralWatch )
@@ -335,8 +336,8 @@
      *
      * @return the listener if created, else null
      */
-    private <K, V> ILateralCacheListener<K, V> createListener( ITCPLateralCacheAttributes attr,
-            ICompositeCacheManager cacheMgr )
+    private <K, V> ILateralCacheListener<K, V> createListener( final ITCPLateralCacheAttributes attr,
+            final ICompositeCacheManager cacheMgr )
     {
         ILateralCacheListener<K, V> listener = null;
 
@@ -370,11 +371,11 @@
      * @return null if none is created.
      */
     private synchronized <K, V> UDPDiscoveryService createDiscoveryService(
-            ITCPLateralCacheAttributes lac,
-            LateralCacheNoWaitFacade<K, V> lcnwf,
-            ICompositeCacheManager cacheMgr,
-            ICacheEventLogger cacheEventLogger,
-            IElementSerializer elementSerializer )
+            final ITCPLateralCacheAttributes lac,
+            final LateralCacheNoWaitFacade<K, V> lcnwf,
+            final ICompositeCacheManager cacheMgr,
+            final ICacheEventLogger cacheEventLogger,
+            final IElementSerializer elementSerializer )
     {
         UDPDiscoveryService discovery = null;
 
@@ -382,7 +383,7 @@
         if ( lac.isUdpDiscoveryEnabled() )
         {
             // One can be used for all regions
-            LateralTCPDiscoveryListener discoveryListener = getDiscoveryListener( lac, cacheMgr );
+            final LateralTCPDiscoveryListener discoveryListener = getDiscoveryListener( lac, cacheMgr );
             discoveryListener.addNoWaitFacade( lac.getCacheName(), lcnwf );
 
             // need a factory for this so it doesn't
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPDiscoveryListener.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPDiscoveryListener.java
index a1f953f..131efec 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPDiscoveryListener.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPDiscoveryListener.java
@@ -73,7 +73,7 @@
      * @param factoryName the name of the related cache factory
      * @param cacheManager the global cache manager
      */
-    protected LateralTCPDiscoveryListener( String factoryName, ICompositeCacheManager cacheManager )
+    protected LateralTCPDiscoveryListener( final String factoryName, final ICompositeCacheManager cacheManager )
     {
         this.factoryName = factoryName;
         this.cacheManager = cacheManager;
@@ -89,9 +89,9 @@
      * @param facade - facade (for region) =&gt; multiple lateral clients.
      * @return true if the facade was not already registered.
      */
-    public boolean addNoWaitFacade( String cacheName, LateralCacheNoWaitFacade<?, ?> facade )
+    public boolean addNoWaitFacade( final String cacheName, final LateralCacheNoWaitFacade<?, ?> facade )
     {
-        boolean isNew = !containsNoWaitFacade( cacheName );
+        final boolean isNew = !containsNoWaitFacade( cacheName );
 
         // override or put anew, it doesn't matter
         facades.put( cacheName, facade );
@@ -106,7 +106,7 @@
      * @param cacheName - facades are for a region
      * @return do we contain the no wait. true if so
      */
-    public boolean containsNoWaitFacade( String cacheName )
+    public boolean containsNoWaitFacade( final String cacheName )
     {
         return facades.containsKey( cacheName );
     }
@@ -118,9 +118,10 @@
      * @param noWait - is this no wait in the facade
      * @return do we contain the no wait. true if so
      */
-    public <K, V> boolean containsNoWait( String cacheName, LateralCacheNoWait<K, V> noWait )
+    public <K, V> boolean containsNoWait( final String cacheName, final LateralCacheNoWait<K, V> noWait )
     {
         @SuppressWarnings("unchecked") // Need to cast because of common map for all facades
+        final
         LateralCacheNoWaitFacade<K, V> facade =
             (LateralCacheNoWaitFacade<K, V>)facades.get( noWait.getCacheName() );
 
@@ -144,16 +145,17 @@
      * @return true if we found the no wait and added it. False if the no wait was not present or if
      *         we already had it.
      */
-    protected <K, V> boolean addNoWait( LateralCacheNoWait<K, V> noWait )
+    protected <K, V> boolean addNoWait( final LateralCacheNoWait<K, V> noWait )
     {
         @SuppressWarnings("unchecked") // Need to cast because of common map for all facades
+        final
         LateralCacheNoWaitFacade<K, V> facade =
             (LateralCacheNoWaitFacade<K, V>)facades.get( noWait.getCacheName() );
         log.debug( "addNoWait > Got facade for {0} = {1}", noWait.getCacheName(), facade );
 
         if ( facade != null )
         {
-            boolean isNew = facade.addNoWait( noWait );
+            final boolean isNew = facade.addNoWait( noWait );
             log.debug( "Called addNoWait, isNew = {0}", isNew );
             return isNew;
         }
@@ -176,16 +178,17 @@
      * @param noWait
      * @return true if we found the no wait and removed it. False if the no wait was not present.
      */
-    protected <K, V> boolean removeNoWait( LateralCacheNoWait<K, V> noWait )
+    protected <K, V> boolean removeNoWait( final LateralCacheNoWait<K, V> noWait )
     {
         @SuppressWarnings("unchecked") // Need to cast because of common map for all facades
+        final
         LateralCacheNoWaitFacade<K, V> facade =
             (LateralCacheNoWaitFacade<K, V>)facades.get( noWait.getCacheName() );
         log.debug( "removeNoWait > Got facade for {0} = {1}", noWait.getCacheName(), facade);
 
         if ( facade != null )
         {
-            boolean removed = facade.removeNoWait( noWait );
+            final boolean removed = facade.removeNoWait( noWait );
             log.debug( "Called removeNoWait, removed {0}", removed );
             return removed;
         }
@@ -218,30 +221,30 @@
      * @param service
      */
     @Override
-    public void addDiscoveredService( DiscoveredService service )
+    public void addDiscoveredService( final DiscoveredService service )
     {
         // get a cache and add it to the no waits
         // the add method should not add the same.
         // we need the listener port from the original config.
-        ArrayList<String> regions = service.getCacheNames();
-        String serverAndPort = service.getServiceAddress() + ":" + service.getServicePort();
+        final ArrayList<String> regions = service.getCacheNames();
+        final String serverAndPort = service.getServiceAddress() + ":" + service.getServicePort();
 
         if ( regions != null )
         {
             // for each region get the cache
-            for (String cacheName : regions)
+            for (final String cacheName : regions)
             {
-                AuxiliaryCache<?, ?> ic = cacheManager.getAuxiliaryCache(factoryName, cacheName);
+                final AuxiliaryCache<?, ?> ic = cacheManager.getAuxiliaryCache(factoryName, cacheName);
 
                 log.debug( "Got cache, ic = {0}", ic );
 
                 // add this to the nowaits for this cachename
                 if ( ic != null )
                 {
-                    AuxiliaryCacheAttributes aca = ic.getAuxiliaryCacheAttributes();
+                    final AuxiliaryCacheAttributes aca = ic.getAuxiliaryCacheAttributes();
                     if (aca instanceof ITCPLateralCacheAttributes)
                     {
-                        ITCPLateralCacheAttributes lca = (ITCPLateralCacheAttributes)aca;
+                        final ITCPLateralCacheAttributes lca = (ITCPLateralCacheAttributes)aca;
                         if (lca.getTransmissionType() != LateralCacheAttributes.Type.TCP
                             || !serverAndPort.equals(lca.getTcpServer()) )
                         {
@@ -270,30 +273,30 @@
      * @param service
      */
     @Override
-    public void removeDiscoveredService( DiscoveredService service )
+    public void removeDiscoveredService( final DiscoveredService service )
     {
         // get a cache and add it to the no waits
         // the add method should not add the same.
         // we need the listener port from the original config.
-        ArrayList<String> regions = service.getCacheNames();
-        String serverAndPort = service.getServiceAddress() + ":" + service.getServicePort();
+        final ArrayList<String> regions = service.getCacheNames();
+        final String serverAndPort = service.getServiceAddress() + ":" + service.getServicePort();
 
         if ( regions != null )
         {
             // for each region get the cache
-            for (String cacheName : regions)
+            for (final String cacheName : regions)
             {
-                AuxiliaryCache<?, ?> ic = cacheManager.getAuxiliaryCache(factoryName, cacheName);
+                final AuxiliaryCache<?, ?> ic = cacheManager.getAuxiliaryCache(factoryName, cacheName);
 
                 log.debug( "Got cache, ic = {0}", ic );
 
                 // remove this to the nowaits for this cachename
                 if ( ic != null )
                 {
-                    AuxiliaryCacheAttributes aca = ic.getAuxiliaryCacheAttributes();
+                    final AuxiliaryCacheAttributes aca = ic.getAuxiliaryCacheAttributes();
                     if (aca instanceof ITCPLateralCacheAttributes)
                     {
-                        ITCPLateralCacheAttributes lca = (ITCPLateralCacheAttributes)aca;
+                        final ITCPLateralCacheAttributes lca = (ITCPLateralCacheAttributes)aca;
                         if (lca.getTransmissionType() != LateralCacheAttributes.Type.TCP
                             || !serverAndPort.equals(lca.getTcpServer()) )
                         {
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPListener.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPListener.java
index 7356c14..899ce2c 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPListener.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPListener.java
@@ -110,13 +110,14 @@
      * @return The instance value
      */
     public static <K, V> LateralTCPListener<K, V>
-        getInstance( ITCPLateralCacheAttributes ilca, ICompositeCacheManager cacheMgr )
+        getInstance( final ITCPLateralCacheAttributes ilca, final ICompositeCacheManager cacheMgr )
     {
         @SuppressWarnings("unchecked") // Need to cast because of common map for all instances
+        final
         LateralTCPListener<K, V> ins = (LateralTCPListener<K, V>) instances.computeIfAbsent(
                 String.valueOf( ilca.getTcpListenerPort() ),
                 k -> {
-                    LateralTCPListener<K, V> newIns = new LateralTCPListener<>( ilca );
+                    final LateralTCPListener<K, V> newIns = new LateralTCPListener<>( ilca );
 
                     newIns.init();
                     newIns.setCacheManager( cacheMgr );
@@ -135,7 +136,7 @@
      * <p>
      * @param ilca
      */
-    protected LateralTCPListener( ITCPLateralCacheAttributes ilca )
+    protected LateralTCPListener( final ITCPLateralCacheAttributes ilca )
     {
         this.setTcpLateralCacheAttributes( ilca );
     }
@@ -148,8 +149,8 @@
     {
         try
         {
-            int port = getTcpLateralCacheAttributes().getTcpListenerPort();
-            String host = getTcpLateralCacheAttributes().getTcpListenerHost();
+            final int port = getTcpLateralCacheAttributes().getTcpListenerPort();
+            final String host = getTcpLateralCacheAttributes().getTcpListenerHost();
 
             pooledExecutor = Executors.newCachedThreadPool(
                     new DaemonThreadFactory("JCS-LateralTCPListener-"));
@@ -161,9 +162,9 @@
             {
                 log.info( "Listening on {0}:{1}", host, port );
                 // Resolve host name
-                InetAddress inetAddress = InetAddress.getByName(host);
+                final InetAddress inetAddress = InetAddress.getByName(host);
                 //Bind the SocketAddress with inetAddress and port
-                SocketAddress endPoint = new InetSocketAddress(inetAddress, port);
+                final SocketAddress endPoint = new InetSocketAddress(inetAddress, port);
 
                 serverSocket = new ServerSocket();
                 serverSocket.bind(endPoint);
@@ -179,7 +180,7 @@
             receiver.setDaemon( true );
             receiver.start();
         }
-        catch ( IOException ex )
+        catch ( final IOException ex )
         {
             throw new IllegalStateException( ex );
         }
@@ -201,7 +202,7 @@
      * @throws IOException
      */
     @Override
-    public void setListenerId( long id )
+    public void setListenerId( final long id )
         throws IOException
     {
         this.listenerId = id;
@@ -228,7 +229,7 @@
      * @see org.apache.commons.jcs3.engine.behavior.ICacheListener#handlePut(org.apache.commons.jcs3.engine.behavior.ICacheElement)
      */
     @Override
-    public void handlePut( ICacheElement<K, V> element )
+    public void handlePut( final ICacheElement<K, V> element )
         throws IOException
     {
         putCnt++;
@@ -253,7 +254,7 @@
      *      Object)
      */
     @Override
-    public void handleRemove( String cacheName, K key )
+    public void handleRemove( final String cacheName, final K key )
         throws IOException
     {
         removeCnt++;
@@ -273,7 +274,7 @@
      * @see org.apache.commons.jcs3.engine.behavior.ICacheListener#handleRemoveAll(java.lang.String)
      */
     @Override
-    public void handleRemoveAll( String cacheName )
+    public void handleRemoveAll( final String cacheName )
         throws IOException
     {
         log.debug( "handleRemoveAll> cacheName={0}", cacheName );
@@ -289,7 +290,7 @@
      * @return a ICacheElement
      * @throws IOException
      */
-    public ICacheElement<K, V> handleGet( String cacheName, K key )
+    public ICacheElement<K, V> handleGet( final String cacheName, final K key )
         throws IOException
     {
         getCnt++;
@@ -313,7 +314,7 @@
      * @return Map
      * @throws IOException
      */
-    public Map<K, ICacheElement<K, V>> handleGetMatching( String cacheName, String pattern )
+    public Map<K, ICacheElement<K, V>> handleGetMatching( final String cacheName, final String pattern )
         throws IOException
     {
         getCnt++;
@@ -336,7 +337,7 @@
      * @return a set of keys
      * @throws IOException
      */
-    public Set<K> handleGetKeySet( String cacheName ) throws IOException
+    public Set<K> handleGetKeySet( final String cacheName ) throws IOException
     {
     	return getCache( cacheName ).getKeySet(true);
     }
@@ -347,7 +348,7 @@
      * @see org.apache.commons.jcs3.engine.behavior.ICacheListener#handleDispose(java.lang.String)
      */
     @Override
-    public void handleDispose( String cacheName )
+    public void handleDispose( final String cacheName )
         throws IOException
     {
         log.info( "handleDispose > cacheName={0} | Ignoring message. "
@@ -375,7 +376,7 @@
      * @param name
      * @return CompositeCache
      */
-    protected CompositeCache<K, V> getCache( String name )
+    protected CompositeCache<K, V> getCache( final String name )
     {
         return getCacheManager().getCache( name );
     }
@@ -410,7 +411,7 @@
      * @param cacheMgr The cacheMgr to set.
      */
     @Override
-    public void setCacheManager( ICompositeCacheManager cacheMgr )
+    public void setCacheManager( final ICompositeCacheManager cacheMgr )
     {
         this.cacheManager = cacheMgr;
     }
@@ -427,7 +428,7 @@
     /**
      * @param tcpLateralCacheAttributes The tcpLateralCacheAttributes to set.
      */
-    public void setTcpLateralCacheAttributes( ITCPLateralCacheAttributes tcpLateralCacheAttributes )
+    public void setTcpLateralCacheAttributes( final ITCPLateralCacheAttributes tcpLateralCacheAttributes )
     {
         this.tcpLateralCacheAttributes = tcpLateralCacheAttributes;
     }
@@ -455,7 +456,7 @@
          *
          * @param serverSocket
          */
-        public ListenerThread(ServerSocket serverSocket)
+        public ListenerThread(final ServerSocket serverSocket)
         {
             this.serverSocket = serverSocket;
         }
@@ -488,7 +489,7 @@
                             socket = ssck.accept();
                             break inner;
                         }
-                        catch (SocketTimeoutException e)
+                        catch (final SocketTimeoutException e)
                         {
                             // No problem! We loop back up!
                             continue inner;
@@ -497,7 +498,7 @@
 
                     if ( socket != null && log.isDebugEnabled() )
                     {
-                        InetAddress inetAddress = socket.getInetAddress();
+                        final InetAddress inetAddress = socket.getInetAddress();
                         log.debug( "Connected to client at {0}", inetAddress );
                     }
 
@@ -505,7 +506,7 @@
                     pooledExecutor.execute( handler );
                 }
             }
-            catch ( IOException e )
+            catch ( final IOException e )
             {
                 log.error( "Exception caught in TCP listener", e );
             }
@@ -525,7 +526,7 @@
          * Construct for a given socket
          * @param socket
          */
-        public ConnectionHandler( Socket socket )
+        public ConnectionHandler( final Socket socket )
         {
             this.socket = socket;
         }
@@ -543,7 +544,7 @@
             {
                 while ( true )
                 {
-                    LateralElementDescriptor<K, V> led =
+                    final LateralElementDescriptor<K, V> led =
                             (LateralElementDescriptor<K, V>) ois.readObject();
 
                     if ( led == null )
@@ -564,15 +565,15 @@
                     }
                 }
             }
-            catch ( EOFException e )
+            catch ( final EOFException e )
             {
                 log.info( "Caught EOFException, closing connection.", e );
             }
-            catch ( SocketException e )
+            catch ( final SocketException e )
             {
                 log.info( "Caught SocketException, closing connection.", e );
             }
-            catch ( Exception e )
+            catch ( final Exception e )
             {
                 log.error( "Unexpected exception.", e );
             }
@@ -586,11 +587,11 @@
          * @throws IOException
          */
         @SuppressWarnings("synthetic-access")
-        private void handle( LateralElementDescriptor<K, V> led )
+        private void handle( final LateralElementDescriptor<K, V> led )
             throws IOException
         {
-            String cacheName = led.ce.getCacheName();
-            K key = led.ce.getKey();
+            final String cacheName = led.ce.getCacheName();
+            final K key = led.ce.getKey();
             Serializable obj = null;
 
             switch (led.command)
@@ -607,7 +608,7 @@
                     {
                         if ( getTcpLateralCacheAttributes().isFilterRemoveByHashCode() )
                         {
-                            ICacheElement<K, V> test = getCache( cacheName ).localGet( key );
+                            final ICacheElement<K, V> test = getCache( cacheName ).localGet( key );
                             if ( test != null )
                             {
                                 if ( test.getVal().hashCode() == led.valHashCode )
@@ -649,7 +650,7 @@
 
             if (obj != null)
             {
-                ObjectOutputStream oos = new ObjectOutputStream( socket.getOutputStream() );
+                final ObjectOutputStream oos = new ObjectOutputStream( socket.getOutputStream() );
                 oos.writeObject( obj );
                 oos.flush();
             }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPSender.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPSender.java
index 3f42065..acac70d 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPSender.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPSender.java
@@ -62,20 +62,20 @@
      * @param lca
      * @throws IOException
      */
-    public LateralTCPSender( ITCPLateralCacheAttributes lca )
+    public LateralTCPSender( final ITCPLateralCacheAttributes lca )
         throws IOException
     {
         this.socketOpenTimeOut = lca.getOpenTimeOut();
         this.socketSoTimeOut = lca.getSocketTimeOut();
 
-        String p1 = lca.getTcpServer();
+        final String p1 = lca.getTcpServer();
         if ( p1 == null )
         {
             throw new IOException( "Invalid server (null)" );
         }
 
-        String h2 = p1.substring( 0, p1.indexOf( ":" ) );
-        int po = Integer.parseInt( p1.substring( p1.indexOf( ":" ) + 1 ) );
+        final String h2 = p1.substring( 0, p1.indexOf( ":" ) );
+        final int po = Integer.parseInt( p1.substring( p1.indexOf( ":" ) + 1 ) );
         log.debug( "h2 = {0}, po = {1}", h2, po );
 
         if ( h2.length() == 0 )
@@ -93,7 +93,7 @@
      * @param port
      * @throws IOException
      */
-    protected void init( String host, int port )
+    protected void init( final String host, final int port )
         throws IOException
     {
         try
@@ -106,7 +106,7 @@
                 socket = new Socket();
                 socket.connect( new InetSocketAddress( host, port ), this.socketOpenTimeOut );
             }
-            catch ( IOException ioe )
+            catch ( final IOException ioe )
             {
                 if (socket != null)
                 {
@@ -122,12 +122,12 @@
                 oos = new ObjectOutputStream( socket.getOutputStream() );
             }
         }
-        catch ( java.net.ConnectException e )
+        catch ( final java.net.ConnectException e )
         {
             log.debug( "Remote host [{0}] refused connection.", host );
             throw e;
         }
-        catch ( IOException e )
+        catch ( final IOException e )
         {
             log.debug( "Could not connect to [{0}]", host, e );
             throw e;
@@ -140,7 +140,7 @@
      * @param led
      * @throws IOException
      */
-    public <K, V> void send( LateralElementDescriptor<K, V> led )
+    public <K, V> void send( final LateralElementDescriptor<K, V> led )
         throws IOException
     {
         sendCnt++;
@@ -178,7 +178,7 @@
      * @return ICacheElement
      * @throws IOException
      */
-    public <K, V> Object sendAndReceive( LateralElementDescriptor<K, V> led )
+    public <K, V> Object sendAndReceive( final LateralElementDescriptor<K, V> led )
         throws IOException
     {
         if ( led == null )
@@ -209,7 +209,7 @@
                     socket.getInputStream().read( new byte[socket.getInputStream().available()] );
                 }
             }
-            catch ( IOException ioe )
+            catch ( final IOException ioe )
             {
                 log.error( "Problem cleaning socket before send {0}", socket, ioe );
                 throw ioe;
@@ -224,15 +224,15 @@
                 socket.setSoTimeout( socketSoTimeOut );
                 response = ois.readObject();
             }
-            catch ( IOException ioe )
+            catch ( final IOException ioe )
             {
-                String message = "Could not open ObjectInputStream to " + socket +
+                final String message = "Could not open ObjectInputStream to " + socket +
                     " SoTimeout [" + socket.getSoTimeout() +
                     "] Connected [" + socket.isConnected() + "]";
                 log.error( message, ioe );
                 throw ioe;
             }
-            catch ( Exception e )
+            catch ( final Exception e )
             {
                 log.error( e );
             }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPService.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPService.java
index 0e89e4b..5173b83 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPService.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPService.java
@@ -65,7 +65,7 @@
      * @param lca ITCPLateralCacheAttributes
      * @throws IOException
      */
-    public LateralTCPService( ITCPLateralCacheAttributes lca )
+    public LateralTCPService( final ITCPLateralCacheAttributes lca )
         throws IOException
     {
         this.allowGet = lca.isAllowGet();
@@ -78,7 +78,7 @@
 
             log.debug( "Created sender to [{0}]", () -> lca.getTcpServer() );
         }
-        catch ( IOException e )
+        catch ( final IOException e )
         {
             // log.error( "Could not create sender", e );
             // This gets thrown over and over in recovery mode.
@@ -93,7 +93,7 @@
      * @throws IOException
      */
     @Override
-    public void update( ICacheElement<K, V> item )
+    public void update( final ICacheElement<K, V> item )
         throws IOException
     {
         update( item, getListenerId() );
@@ -108,7 +108,7 @@
      *      long)
      */
     @Override
-    public void update( ICacheElement<K, V> item, long requesterId )
+    public void update( final ICacheElement<K, V> item, final long requesterId )
         throws IOException
     {
         // if we don't allow put, see if we should remove on put
@@ -122,7 +122,7 @@
         // if we shouldn't remove on put, then put
         if ( !this.issueRemoveOnPut )
         {
-            LateralElementDescriptor<K, V> led = new LateralElementDescriptor<>( item );
+            final LateralElementDescriptor<K, V> led = new LateralElementDescriptor<>( item );
             led.requesterId = requesterId;
             led.command = LateralCommand.UPDATE;
             sender.send( led );
@@ -134,8 +134,8 @@
             log.debug( "Issuing a remove for a put" );
 
             // set the value to null so we don't send the item
-            CacheElement<K, V> ce = new CacheElement<>( item.getCacheName(), item.getKey(), null );
-            LateralElementDescriptor<K, V> led = new LateralElementDescriptor<>( ce );
+            final CacheElement<K, V> ce = new CacheElement<>( item.getCacheName(), item.getKey(), null );
+            final LateralElementDescriptor<K, V> led = new LateralElementDescriptor<>( ce );
             led.requesterId = requesterId;
             led.command = LateralCommand.REMOVE;
             led.valHashCode = item.getVal().hashCode();
@@ -149,7 +149,7 @@
      * @see org.apache.commons.jcs3.engine.behavior.ICacheService#remove(String, Object)
      */
     @Override
-    public void remove( String cacheName, K key )
+    public void remove( final String cacheName, final K key )
         throws IOException
     {
         remove( cacheName, key, getListenerId() );
@@ -161,11 +161,11 @@
      * @see org.apache.commons.jcs3.engine.behavior.ICacheServiceNonLocal#remove(String, Object, long)
      */
     @Override
-    public void remove( String cacheName, K key, long requesterId )
+    public void remove( final String cacheName, final K key, final long requesterId )
         throws IOException
     {
-        CacheElement<K, V> ce = new CacheElement<>( cacheName, key, null );
-        LateralElementDescriptor<K, V> led = new LateralElementDescriptor<>( ce );
+        final CacheElement<K, V> ce = new CacheElement<>( cacheName, key, null );
+        final LateralElementDescriptor<K, V> led = new LateralElementDescriptor<>( ce );
         led.requesterId = requesterId;
         led.command = LateralCommand.REMOVE;
         sender.send( led );
@@ -190,7 +190,7 @@
      * @throws IOException
      */
     @Override
-    public void dispose( String cacheName )
+    public void dispose( final String cacheName )
         throws IOException
     {
         sender.dispose();
@@ -203,7 +203,7 @@
      * @throws IOException
      */
     @Override
-    public ICacheElement<K, V> get( String cacheName, K key )
+    public ICacheElement<K, V> get( final String cacheName, final K key )
         throws IOException
     {
         return get( cacheName, key, getListenerId() );
@@ -219,17 +219,18 @@
      * @throws IOException
      */
     @Override
-    public ICacheElement<K, V> get( String cacheName, K key, long requesterId )
+    public ICacheElement<K, V> get( final String cacheName, final K key, final long requesterId )
         throws IOException
     {
         // if get is not allowed return
         if ( this.allowGet )
         {
-            CacheElement<K, V> ce = new CacheElement<>( cacheName, key, null );
-            LateralElementDescriptor<K, V> led = new LateralElementDescriptor<>( ce );
+            final CacheElement<K, V> ce = new CacheElement<>( cacheName, key, null );
+            final LateralElementDescriptor<K, V> led = new LateralElementDescriptor<>( ce );
             // led.requesterId = requesterId; // later
             led.command = LateralCommand.GET;
             @SuppressWarnings("unchecked") // Need to cast from Object
+            final
             ICacheElement<K, V> response = (ICacheElement<K, V>)sender.sendAndReceive( led );
             return response;
         }
@@ -250,7 +251,7 @@
      * @throws IOException
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMatching( String cacheName, String pattern )
+    public Map<K, ICacheElement<K, V>> getMatching( final String cacheName, final String pattern )
         throws IOException
     {
         return getMatching( cacheName, pattern, getListenerId() );
@@ -268,18 +269,18 @@
      */
     @Override
     @SuppressWarnings("unchecked") // Need to cast from Object
-    public Map<K, ICacheElement<K, V>> getMatching( String cacheName, String pattern, long requesterId )
+    public Map<K, ICacheElement<K, V>> getMatching( final String cacheName, final String pattern, final long requesterId )
         throws IOException
     {
         // if get is not allowed return
         if ( this.allowGet )
         {
-            CacheElement<String, String> ce = new CacheElement<>( cacheName, pattern, null );
-            LateralElementDescriptor<String, String> led = new LateralElementDescriptor<>( ce );
+            final CacheElement<String, String> ce = new CacheElement<>( cacheName, pattern, null );
+            final LateralElementDescriptor<String, String> led = new LateralElementDescriptor<>( ce );
             // led.requesterId = requesterId; // later
             led.command = LateralCommand.GET_MATCHING;
 
-            Object response = sender.sendAndReceive( led );
+            final Object response = sender.sendAndReceive( led );
             if ( response != null )
             {
                 return (Map<K, ICacheElement<K, V>>) response;
@@ -303,7 +304,7 @@
      * @throws IOException
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMultiple( String cacheName, Set<K> keys )
+    public Map<K, ICacheElement<K, V>> getMultiple( final String cacheName, final Set<K> keys )
         throws IOException
     {
         return getMultiple( cacheName, keys, getListenerId() );
@@ -322,16 +323,16 @@
      * @throws IOException
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMultiple( String cacheName, Set<K> keys, long requesterId )
+    public Map<K, ICacheElement<K, V>> getMultiple( final String cacheName, final Set<K> keys, final long requesterId )
         throws IOException
     {
-        Map<K, ICacheElement<K, V>> elements = new HashMap<>();
+        final Map<K, ICacheElement<K, V>> elements = new HashMap<>();
 
         if ( keys != null && !keys.isEmpty() )
         {
-            for (K key : keys)
+            for (final K key : keys)
             {
-                ICacheElement<K, V> element = get( cacheName, key );
+                final ICacheElement<K, V> element = get( cacheName, key );
 
                 if ( element != null )
                 {
@@ -350,13 +351,13 @@
      */
     @Override
     @SuppressWarnings("unchecked") // Need cast from Object
-    public Set<K> getKeySet(String cacheName) throws IOException
+    public Set<K> getKeySet(final String cacheName) throws IOException
     {
-        CacheElement<String, String> ce = new CacheElement<>(cacheName, null, null);
-        LateralElementDescriptor<String, String> led = new LateralElementDescriptor<>(ce);
+        final CacheElement<String, String> ce = new CacheElement<>(cacheName, null, null);
+        final LateralElementDescriptor<String, String> led = new LateralElementDescriptor<>(ce);
         // led.requesterId = requesterId; // later
         led.command = LateralCommand.GET_KEYSET;
-        Object response = sender.sendAndReceive(led);
+        final Object response = sender.sendAndReceive(led);
         if (response != null)
         {
             return (Set<K>) response;
@@ -370,7 +371,7 @@
      * @throws IOException
      */
     @Override
-    public void removeAll( String cacheName )
+    public void removeAll( final String cacheName )
         throws IOException
     {
         removeAll( cacheName, getListenerId() );
@@ -382,11 +383,11 @@
      * @throws IOException
      */
     @Override
-    public void removeAll( String cacheName, long requesterId )
+    public void removeAll( final String cacheName, final long requesterId )
         throws IOException
     {
-        CacheElement<String, String> ce = new CacheElement<>( cacheName, "ALL", null );
-        LateralElementDescriptor<String, String> led = new LateralElementDescriptor<>( ce );
+        final CacheElement<String, String> ce = new CacheElement<>( cacheName, "ALL", null );
+        final LateralElementDescriptor<String, String> led = new LateralElementDescriptor<>( ce );
         led.requesterId = requesterId;
         led.command = LateralCommand.REMOVEALL;
         sender.send( led );
@@ -395,17 +396,17 @@
     /**
      * @param args
      */
-    public static void main( String args[] )
+    public static void main( final String args[] )
     {
         try
         {
-            LateralTCPSender sender = new LateralTCPSender( new TCPLateralCacheAttributes() );
+            final LateralTCPSender sender = new LateralTCPSender( new TCPLateralCacheAttributes() );
 
             // process user input till done
             boolean notDone = true;
             String message = null;
             // wait to dispose
-            BufferedReader br = new BufferedReader(new InputStreamReader(System.in, StandardCharsets.UTF_8));
+            final BufferedReader br = new BufferedReader(new InputStreamReader(System.in, StandardCharsets.UTF_8));
 
             while ( notDone )
             {
@@ -418,12 +419,12 @@
                     continue;
                 }
 
-                CacheElement<String, String> ce = new CacheElement<>( "test", "test", message );
-                LateralElementDescriptor<String, String> led = new LateralElementDescriptor<>( ce );
+                final CacheElement<String, String> ce = new CacheElement<>( "test", "test", message );
+                final LateralElementDescriptor<String, String> led = new LateralElementDescriptor<>( ce );
                 sender.send( led );
             }
         }
-        catch ( IOException e )
+        catch ( final IOException e )
         {
             System.out.println( e.toString() );
         }
@@ -432,7 +433,7 @@
     /**
      * @param listernId The listernId to set.
      */
-    protected void setListenerId( long listernId )
+    protected void setListenerId( final long listernId )
     {
         this.listenerId = listernId;
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/TCPLateralCacheAttributes.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/TCPLateralCacheAttributes.java
index 9fcb5c6..935dc45 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/TCPLateralCacheAttributes.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/TCPLateralCacheAttributes.java
@@ -105,7 +105,7 @@
      * @param val The new tcpServer value
      */
     @Override
-    public void setTcpServer( String val )
+    public void setTcpServer( final String val )
     {
         this.tcpServer = val;
     }
@@ -127,7 +127,7 @@
      * @param val The new tcpServers value
      */
     @Override
-    public void setTcpServers( String val )
+    public void setTcpServers( final String val )
     {
         this.tcpServers = val;
     }
@@ -149,7 +149,7 @@
      * @param val The new tcpListenerPort value
      */
     @Override
-    public void setTcpListenerPort( int val )
+    public void setTcpListenerPort( final int val )
     {
         this.tcpListenerPort = val;
     }
@@ -172,7 +172,7 @@
      *            The new tcpListenerHost value
      */
     @Override
-    public void setTcpListenerHost( String val )
+    public void setTcpListenerHost( final String val )
     {
         this.tcpListenerHost = val;
     }
@@ -195,7 +195,7 @@
      * @param udpDiscoveryEnabled The udpDiscoveryEnabled to set.
      */
     @Override
-    public void setUdpDiscoveryEnabled( boolean udpDiscoveryEnabled )
+    public void setUdpDiscoveryEnabled( final boolean udpDiscoveryEnabled )
     {
         this.udpDiscoveryEnabled = udpDiscoveryEnabled;
     }
@@ -228,7 +228,7 @@
      * @param udpDiscoveryPort The udpDiscoveryPort to set.
      */
     @Override
-    public void setUdpDiscoveryPort( int udpDiscoveryPort )
+    public void setUdpDiscoveryPort( final int udpDiscoveryPort )
     {
         this.udpDiscoveryPort = udpDiscoveryPort;
     }
@@ -250,7 +250,7 @@
      * @param udpDiscoveryAddr The udpDiscoveryAddr to set.
      */
     @Override
-    public void setUdpDiscoveryAddr( String udpDiscoveryAddr )
+    public void setUdpDiscoveryAddr( final String udpDiscoveryAddr )
     {
         this.udpDiscoveryAddr = udpDiscoveryAddr;
     }
@@ -263,7 +263,7 @@
      * @param allowGet
      */
     @Override
-    public void setAllowGet( boolean allowGet )
+    public void setAllowGet( final boolean allowGet )
     {
         this.allowGet = allowGet;
     }
@@ -285,7 +285,7 @@
      * @param allowPut
      */
     @Override
-    public void setAllowPut( boolean allowPut )
+    public void setAllowPut( final boolean allowPut )
     {
         this.allowPut = allowPut;
     }
@@ -309,7 +309,7 @@
      * @param issueRemoveOnPut
      */
     @Override
-    public void setIssueRemoveOnPut( boolean issueRemoveOnPut )
+    public void setIssueRemoveOnPut( final boolean issueRemoveOnPut )
     {
         this.issueRemoveOnPut = issueRemoveOnPut;
     }
@@ -352,7 +352,7 @@
      * @param filter
      */
     @Override
-    public void setFilterRemoveByHashCode( boolean filter )
+    public void setFilterRemoveByHashCode( final boolean filter )
     {
         this.filterRemoveByHashCode = filter;
     }
@@ -361,7 +361,7 @@
      * @param socketTimeOut the socketTimeOut to set
      */
     @Override
-    public void setSocketTimeOut( int socketTimeOut )
+    public void setSocketTimeOut( final int socketTimeOut )
     {
         this.socketTimeOut = socketTimeOut;
     }
@@ -379,7 +379,7 @@
      * @param openTimeOut the openTimeOut to set
      */
     @Override
-    public void setOpenTimeOut( int openTimeOut )
+    public void setOpenTimeOut( final int openTimeOut )
     {
         this.openTimeOut = openTimeOut;
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/AbstractRemoteAuxiliaryCache.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/AbstractRemoteAuxiliaryCache.java
index 66009a6..f4a7d1e 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/AbstractRemoteAuxiliaryCache.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/AbstractRemoteAuxiliaryCache.java
@@ -89,8 +89,8 @@
      * @param remote
      * @param listener
      */
-    public AbstractRemoteAuxiliaryCache( IRemoteCacheAttributes cattr, ICacheServiceNonLocal<K, V> remote,
-                                         IRemoteCacheListener<K, V> listener )
+    public AbstractRemoteAuxiliaryCache( final IRemoteCacheAttributes cattr, final ICacheServiceNonLocal<K, V> remote,
+                                         final IRemoteCacheListener<K, V> listener )
     {
         this.setRemoteCacheAttributes( cattr );
         this.cacheName = cattr.getCacheName();
@@ -134,7 +134,7 @@
                 getRemoteCacheListener().dispose();
             }
         }
-        catch ( IOException ex )
+        catch ( final IOException ex )
         {
             log.error( "Couldn't dispose", ex );
             handleException( ex, "Failed to dispose [" + cacheName + "]", ICacheEventLogger.DISPOSE_EVENT );
@@ -155,7 +155,7 @@
      * @throws IOException
      */
     @Override
-    protected ICacheElement<K, V> processGet( K key )
+    protected ICacheElement<K, V> processGet( final K key )
         throws IOException
     {
         ICacheElement<K, V> retVal = null;
@@ -183,7 +183,7 @@
                 }
             }
         }
-        catch ( Exception ex )
+        catch ( final Exception ex )
         {
             handleException( ex, "Failed to get [" + key + "] from [" + cacheName + "]", ICacheEventLogger.GET_EVENT );
         }
@@ -200,17 +200,17 @@
     public ICacheElement<K, V> getUsingPool( final K key )
         throws IOException
     {
-        int timeout = getRemoteCacheAttributes().getGetTimeoutMillis();
+        final int timeout = getRemoteCacheAttributes().getGetTimeoutMillis();
 
         try
         {
-            Callable<ICacheElement<K, V>> command = () -> getRemoteCacheService().get( cacheName, key, getListenerId() );
+            final Callable<ICacheElement<K, V>> command = () -> getRemoteCacheService().get( cacheName, key, getListenerId() );
 
             // execute using the pool
-            Future<ICacheElement<K, V>> future = pool.submit(command);
+            final Future<ICacheElement<K, V>> future = pool.submit(command);
 
             // used timed get in order to timeout
-            ICacheElement<K, V> ice = future.get(timeout, TimeUnit.MILLISECONDS);
+            final ICacheElement<K, V> ice = future.get(timeout, TimeUnit.MILLISECONDS);
 
             if ( ice == null )
             {
@@ -222,17 +222,17 @@
             }
             return ice;
         }
-        catch ( TimeoutException te )
+        catch ( final TimeoutException te )
         {
             log.warn( "TimeoutException, Get Request timed out after {0}", timeout );
             throw new IOException( "Get Request timed out after " + timeout );
         }
-        catch ( InterruptedException ex )
+        catch ( final InterruptedException ex )
         {
             log.warn( "InterruptedException, Get Request timed out after {0}", timeout );
             throw new IOException( "Get Request timed out after " + timeout );
         }
-        catch (ExecutionException ex)
+        catch (final ExecutionException ex)
         {
             // assume that this is an IOException thrown by the callable.
             log.error( "ExecutionException, Assuming an IO exception thrown in the background.", ex );
@@ -248,18 +248,18 @@
      * @throws IOException
      */
     @Override
-    public Map<K, ICacheElement<K, V>> processGetMatching( String pattern )
+    public Map<K, ICacheElement<K, V>> processGetMatching( final String pattern )
         throws IOException
     {
-        Map<K, ICacheElement<K, V>> results = new HashMap<>();
+        final Map<K, ICacheElement<K, V>> results = new HashMap<>();
         try
         {
-            Map<K, ICacheElement<K, V>> rawResults = getRemoteCacheService().getMatching( cacheName, pattern, getListenerId() );
+            final Map<K, ICacheElement<K, V>> rawResults = getRemoteCacheService().getMatching( cacheName, pattern, getListenerId() );
 
             // Eventually the instance of will not be necessary.
             if ( rawResults != null )
             {
-                for (Map.Entry<K, ICacheElement<K, V>> entry : rawResults.entrySet())
+                for (final Map.Entry<K, ICacheElement<K, V>> entry : rawResults.entrySet())
                 {
                     ICacheElement<K, V> unwrappedResult = null;
                     if ( entry.getValue() instanceof ICacheElementSerialized )
@@ -282,7 +282,7 @@
                 }
             }
         }
-        catch ( Exception ex )
+        catch ( final Exception ex )
         {
             handleException( ex, "Failed to getMatching [" + pattern + "] from [" + cacheName + "]",
                              ICacheEventLogger.GET_EVENT );
@@ -299,7 +299,7 @@
      * @throws IOException
      */
     @Override
-    protected boolean processRemove( K key )
+    protected boolean processRemove( final K key )
         throws IOException
     {
         if ( !this.getRemoteCacheAttributes().getGetOnly() )
@@ -309,7 +309,7 @@
             {
                 getRemoteCacheService().remove( cacheName, key, getListenerId() );
             }
-            catch ( Exception ex )
+            catch ( final Exception ex )
             {
                 handleException( ex, "Failed to remove " + key + " from " + cacheName, ICacheEventLogger.REMOVE_EVENT );
             }
@@ -334,7 +334,7 @@
             {
                 getRemoteCacheService().removeAll( cacheName, getListenerId() );
             }
-            catch ( Exception ex )
+            catch ( final Exception ex )
             {
                 handleException( ex, "Failed to remove all from " + cacheName, ICacheEventLogger.REMOVEALL_EVENT );
             }
@@ -350,7 +350,7 @@
      * @throws IOException
      */
     @Override
-    protected void processUpdate( ICacheElement<K, V> ce )
+    protected void processUpdate( final ICacheElement<K, V> ce )
         throws IOException
     {
         if ( !getRemoteCacheAttributes().getGetOnly() )
@@ -366,11 +366,11 @@
 
                 remoteCacheService.update( serialized, getListenerId() );
             }
-            catch ( NullPointerException npe )
+            catch ( final NullPointerException npe )
             {
                 log.error( "npe for ce = {0} ce.attr = {1}", ce, ce.getElementAttributes(), npe );
             }
-            catch ( Exception ex )
+            catch ( final Exception ex )
             {
                 // event queue will wait and retry
                 handleException( ex, "Failed to put [" + ce.getKey() + "] to " + ce.getCacheName(),
@@ -414,7 +414,7 @@
      * <p>
      * @param id The new listenerId value
      */
-    public void setListenerId( long id )
+    public void setListenerId( final long id )
     {
         if ( getRemoteCacheListener() != null )
         {
@@ -424,7 +424,7 @@
 
                 log.debug( "set listenerId = {0}", id );
             }
-            catch ( Exception e )
+            catch ( final Exception e )
             {
                 log.error( "Problem setting listenerId", e );
             }
@@ -446,7 +446,7 @@
                 log.debug( "get listenerId = {0}", getRemoteCacheListener().getListenerId() );
                 return getRemoteCacheListener().getListenerId();
             }
-            catch ( IOException e )
+            catch ( final IOException e )
             {
                 log.error( "Problem getting listenerId", e );
             }
@@ -492,10 +492,10 @@
     @Override
     public IStats getStatistics()
     {
-        IStats stats = new Stats();
+        final IStats stats = new Stats();
         stats.setTypeName( "AbstractRemoteAuxiliaryCache" );
 
-        ArrayList<IStatElement<?>> elems = new ArrayList<>();
+        final ArrayList<IStatElement<?>> elems = new ArrayList<>();
 
         elems.add(new StatElement<>( "Remote Type", this.getRemoteCacheAttributes().getRemoteTypeName() ) );
 
@@ -540,27 +540,28 @@
      * @param restoredRemote ICacheServiceNonLocal -- the remote server or proxy to the remote server
      */
     @Override
-    public void fixCache( ICacheServiceNonLocal<?, ?> restoredRemote )
+    public void fixCache( final ICacheServiceNonLocal<?, ?> restoredRemote )
     {
         @SuppressWarnings("unchecked") // Don't know how to do this properly
+        final
         ICacheServiceNonLocal<K, V> remote = (ICacheServiceNonLocal<K, V>)restoredRemote;
-        ICacheServiceNonLocal<K, V> prevRemote = getRemoteCacheService();
+        final ICacheServiceNonLocal<K, V> prevRemote = getRemoteCacheService();
         if ( prevRemote instanceof ZombieCacheServiceNonLocal )
         {
-            ZombieCacheServiceNonLocal<K, V> zombie = (ZombieCacheServiceNonLocal<K, V>) prevRemote;
+            final ZombieCacheServiceNonLocal<K, V> zombie = (ZombieCacheServiceNonLocal<K, V>) prevRemote;
             setRemoteCacheService( remote );
             try
             {
                 zombie.propagateEvents( remote );
             }
-            catch ( Exception e )
+            catch ( final Exception e )
             {
                 try
                 {
                     handleException( e, "Problem propagating events from Zombie Queue to new Remote Service.",
                                      "fixCache" );
                 }
-                catch ( IOException e1 )
+                catch ( final IOException e1 )
                 {
                     // swallow, since this is just expected kick back.  Handle always throws
                 }
@@ -597,7 +598,7 @@
     /**
      * @param remote the remote to set
      */
-    protected void setRemoteCacheService( ICacheServiceNonLocal<K, V> remote )
+    protected void setRemoteCacheService( final ICacheServiceNonLocal<K, V> remote )
     {
         this.remoteCacheService = remote;
     }
@@ -622,7 +623,7 @@
     /**
      * @param remoteCacheAttributes the remoteCacheAttributes to set
      */
-    protected void setRemoteCacheAttributes( IRemoteCacheAttributes remoteCacheAttributes )
+    protected void setRemoteCacheAttributes( final IRemoteCacheAttributes remoteCacheAttributes )
     {
         this.remoteCacheAttributes = remoteCacheAttributes;
     }
@@ -638,7 +639,7 @@
     /**
      * @param remoteCacheListener the remoteCacheListener to set
      */
-    protected void setRemoteCacheListener( IRemoteCacheListener<K, V> remoteCacheListener )
+    protected void setRemoteCacheListener( final IRemoteCacheListener<K, V> remoteCacheListener )
     {
         this.remoteCacheListener = remoteCacheListener;
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/AbstractRemoteCacheListener.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/AbstractRemoteCacheListener.java
index 451c71b..1db3bcb 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/AbstractRemoteCacheListener.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/AbstractRemoteCacheListener.java
@@ -69,7 +69,7 @@
      * @param cacheMgr the cache hub
      * @param elementSerializer a custom serializer
      */
-    public AbstractRemoteCacheListener( IRemoteCacheAttributes irca, ICompositeCacheManager cacheMgr, IElementSerializer elementSerializer )
+    public AbstractRemoteCacheListener( final IRemoteCacheAttributes irca, final ICompositeCacheManager cacheMgr, final IElementSerializer elementSerializer )
     {
         this.irca = irca;
         this.cacheMgr = cacheMgr;
@@ -85,7 +85,7 @@
      * @throws IOException
      */
     @Override
-    public void setListenerId( long id )
+    public void setListenerId( final long id )
         throws IOException
     {
         listenerId = id;
@@ -156,11 +156,11 @@
                             (ICacheElementSerialized<K, V>) cb, this.elementSerializer );
                     log.debug( "Deserialized result = {0}", cb );
                 }
-                catch ( IOException e )
+                catch ( final IOException e )
                 {
                     throw e;
                 }
-                catch ( ClassNotFoundException e )
+                catch ( final ClassNotFoundException e )
                 {
                     log.error( "Received a serialized version of a class that we don't know about.", e );
                 }
@@ -178,7 +178,7 @@
      * @throws IOException
      */
     @Override
-    public void handleRemove( String cacheName, K key )
+    public void handleRemove( final String cacheName, final K key )
         throws IOException
     {
         log.debug( "handleRemove> cacheName={0}, key={1}", cacheName, key );
@@ -193,7 +193,7 @@
      * @throws IOException
      */
     @Override
-    public void handleRemoveAll( String cacheName )
+    public void handleRemoveAll( final String cacheName )
         throws IOException
     {
         log.debug( "handleRemoveAll> cacheName={0}", cacheName );
@@ -206,7 +206,7 @@
      * @throws IOException
      */
     @Override
-    public void handleDispose( String cacheName )
+    public void handleDispose( final String cacheName )
         throws IOException
     {
         log.debug( "handleDispose> cacheName={0}", cacheName );
@@ -241,7 +241,7 @@
             {
                 localHostName = HostNameUtil.getLocalHostAddress();
             }
-            catch ( UnknownHostException uhe )
+            catch ( final UnknownHostException uhe )
             {
                 localHostName = "unknown";
             }
@@ -257,7 +257,7 @@
     @Override
     public String toString()
     {
-        StringBuilder buf = new StringBuilder();
+        final StringBuilder buf = new StringBuilder();
         buf.append( "\n AbstractRemoteCacheListener: " )
            .append( "\n RemoteHost = ").append(irca.getRemoteLocation())
            .append( "\n ListenerId = ").append(listenerId);
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/AbstractRemoteCacheNoWaitFacade.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/AbstractRemoteCacheNoWaitFacade.java
index cdc2baf..42429ac 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/AbstractRemoteCacheNoWaitFacade.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/AbstractRemoteCacheNoWaitFacade.java
@@ -61,15 +61,15 @@
      * @param cacheEventLogger
      * @param elementSerializer
      */
-    public AbstractRemoteCacheNoWaitFacade( List<RemoteCacheNoWait<K,V>> noWaits, IRemoteCacheAttributes rca,
-                                    ICacheEventLogger cacheEventLogger, IElementSerializer elementSerializer )
+    public AbstractRemoteCacheNoWaitFacade( final List<RemoteCacheNoWait<K,V>> noWaits, final IRemoteCacheAttributes rca,
+                                    final ICacheEventLogger cacheEventLogger, final IElementSerializer elementSerializer )
     {
         log.debug( "CONSTRUCTING NO WAIT FACADE" );
         this.remoteCacheAttributes = rca;
         setCacheEventLogger( cacheEventLogger );
         setElementSerializer( elementSerializer );
         this.noWaits = new ArrayList<>(noWaits);
-        for (RemoteCacheNoWait<K,V> nw : this.noWaits)
+        for (final RemoteCacheNoWait<K,V> nw : this.noWaits)
         {
             // FIXME: This cast is very brave. Remove this.
             ((RemoteCache<K, V>)nw.getRemoteCache()).setFacade(this);
@@ -83,13 +83,13 @@
      * @throws IOException
      */
     @Override
-    public void update( ICacheElement<K, V> ce )
+    public void update( final ICacheElement<K, V> ce )
         throws IOException
     {
         log.debug( "updating through cache facade, noWaits.length = {0}",
                 () -> noWaits.size() );
 
-        for (RemoteCacheNoWait<K, V> nw : noWaits)
+        for (final RemoteCacheNoWait<K, V> nw : noWaits)
         {
             try
             {
@@ -99,9 +99,9 @@
                 // reconnect
                 // and subsequent error
             }
-            catch ( IOException ex )
+            catch ( final IOException ex )
             {
-                String message = "Problem updating no wait. Will initiate failover if the noWait is in error.";
+                final String message = "Problem updating no wait. Will initiate failover if the noWait is in error.";
                 log.error( message, ex );
 
                 if ( getCacheEventLogger() != null )
@@ -132,19 +132,19 @@
      * @return Either an ICacheElement&lt;K, V&gt; or null if it is not found.
      */
     @Override
-    public ICacheElement<K, V> get( K key )
+    public ICacheElement<K, V> get( final K key )
     {
-        for (RemoteCacheNoWait<K, V> nw : noWaits)
+        for (final RemoteCacheNoWait<K, V> nw : noWaits)
         {
             try
             {
-                ICacheElement<K, V> obj = nw.get( key );
+                final ICacheElement<K, V> obj = nw.get( key );
                 if ( obj != null )
                 {
                     return obj;
                 }
             }
-            catch ( IOException ex )
+            catch ( final IOException ex )
             {
                 log.debug( "Failed to get." );
                 return null;
@@ -161,16 +161,16 @@
      * @throws IOException
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMatching( String pattern )
+    public Map<K, ICacheElement<K, V>> getMatching( final String pattern )
         throws IOException
     {
-        for (RemoteCacheNoWait<K, V> nw : noWaits)
+        for (final RemoteCacheNoWait<K, V> nw : noWaits)
         {
             try
             {
                 return nw.getMatching( pattern );
             }
-            catch ( IOException ex )
+            catch ( final IOException ex )
             {
                 log.debug( "Failed to getMatching." );
             }
@@ -186,17 +186,17 @@
      *         data in cache for any of these keys
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMultiple( Set<K> keys )
+    public Map<K, ICacheElement<K, V>> getMultiple( final Set<K> keys )
     {
         if ( keys != null && !keys.isEmpty() )
         {
-            for (RemoteCacheNoWait<K, V> nw : noWaits)
+            for (final RemoteCacheNoWait<K, V> nw : noWaits)
             {
                 try
                 {
                     return nw.getMultiple( keys );
                 }
-                catch ( IOException ex )
+                catch ( final IOException ex )
                 {
                     log.debug( "Failed to get." );
                 }
@@ -214,12 +214,12 @@
     @Override
     public Set<K> getKeySet() throws IOException
     {
-        HashSet<K> allKeys = new HashSet<>();
-        for (RemoteCacheNoWait<K, V> nw : noWaits)
+        final HashSet<K> allKeys = new HashSet<>();
+        for (final RemoteCacheNoWait<K, V> nw : noWaits)
         {
             if ( nw != null )
             {
-                Set<K> keys = nw.getKeySet();
+                final Set<K> keys = nw.getKeySet();
                 if(keys != null)
                 {
                     allKeys.addAll( keys );
@@ -236,16 +236,16 @@
      * @return whether or not it was removed, right now it return false.
      */
     @Override
-    public boolean remove( K key )
+    public boolean remove( final K key )
     {
         try
         {
-            for (RemoteCacheNoWait<K, V> nw : noWaits)
+            for (final RemoteCacheNoWait<K, V> nw : noWaits)
             {
                 nw.remove( key );
             }
         }
-        catch ( IOException ex )
+        catch ( final IOException ex )
         {
             log.error( ex );
         }
@@ -260,12 +260,12 @@
     {
         try
         {
-            for (RemoteCacheNoWait<K, V> nw : noWaits)
+            for (final RemoteCacheNoWait<K, V> nw : noWaits)
             {
                 nw.removeAll();
             }
         }
-        catch ( IOException ex )
+        catch ( final IOException ex )
         {
             log.error( ex );
         }
@@ -275,7 +275,7 @@
     @Override
     public void dispose()
     {
-        for (RemoteCacheNoWait<K, V> nw : noWaits)
+        for (final RemoteCacheNoWait<K, V> nw : noWaits)
         {
             nw.dispose();
         }
@@ -325,7 +325,7 @@
     @Override
     public CacheStatus getStatus()
     {
-        for (RemoteCacheNoWait<K, V> nw : noWaits)
+        for (final RemoteCacheNoWait<K, V> nw : noWaits)
         {
             if ( nw.getStatus() == CacheStatus.ALIVE )
             {
@@ -368,7 +368,7 @@
      * restore the primary server in the list of failovers
      *
      */
-    public void restorePrimaryServer(RemoteCacheNoWait<K, V> rcnw)
+    public void restorePrimaryServer(final RemoteCacheNoWait<K, V> rcnw)
     {
         noWaits.clear();
         noWaits.add(rcnw);
@@ -399,19 +399,19 @@
     @Override
     public IStats getStatistics()
     {
-        IStats stats = new Stats();
+        final IStats stats = new Stats();
         stats.setTypeName( "Remote Cache No Wait Facade" );
 
-        ArrayList<IStatElement<?>> elems = new ArrayList<>();
+        final ArrayList<IStatElement<?>> elems = new ArrayList<>();
 
         if ( noWaits != null )
         {
             elems.add(new StatElement<>( "Number of No Waits", Integer.valueOf(noWaits.size()) ) );
 
-            for ( RemoteCacheNoWait<K, V> rcnw : noWaits )
+            for ( final RemoteCacheNoWait<K, V> rcnw : noWaits )
             {
                 // get the stats from the super too
-                IStats sStats = rcnw.getStatistics();
+                final IStats sStats = rcnw.getStatistics();
                 elems.addAll(sStats.getStatElements());
             }
         }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/CommonRemoteCacheAttributes.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/CommonRemoteCacheAttributes.java
index 829bdfe..a0960f5 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/CommonRemoteCacheAttributes.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/CommonRemoteCacheAttributes.java
@@ -80,9 +80,9 @@
      * @param s The new remoteTypeName value
      */
     @Override
-    public void setRemoteTypeName( String s )
+    public void setRemoteTypeName( final String s )
     {
-        RemoteType rt = RemoteType.valueOf(s);
+        final RemoteType rt = RemoteType.valueOf(s);
         if (rt != null)
         {
             this.remoteType = rt;
@@ -106,7 +106,7 @@
      * @param p The new remoteType value
      */
     @Override
-    public void setRemoteType( RemoteType p )
+    public void setRemoteType( final RemoteType p )
     {
         this.remoteType = p;
     }
@@ -128,7 +128,7 @@
      * @param s The new remoteServiceName value
      */
     @Override
-    public void setRemoteServiceName( String s )
+    public void setRemoteServiceName( final String s )
     {
         this.remoteServiceName = s;
     }
@@ -139,7 +139,7 @@
      * @param location The new location value
      */
     @Override
-    public void setRemoteLocation( RemoteLocation location )
+    public void setRemoteLocation( final RemoteLocation location )
     {
         this.location = location;
     }
@@ -151,7 +151,7 @@
      * @param port The new remotePort value
      */
     @Override
-    public void setRemoteLocation( String host, int port )
+    public void setRemoteLocation( final String host, final int port )
     {
         this.location = new RemoteLocation(host, port);
     }
@@ -184,7 +184,7 @@
      * @param s The new clusterServers value
      */
     @Override
-    public void setClusterServers( String s )
+    public void setClusterServers( final String s )
     {
         this.clusterServers = s;
     }
@@ -206,7 +206,7 @@
      * @param r The new removeUponRemotePut value
      */
     @Override
-    public void setRemoveUponRemotePut( boolean r )
+    public void setRemoveUponRemotePut( final boolean r )
     {
         this.removeUponRemotePut = r;
     }
@@ -227,7 +227,7 @@
      * @param r The new getOnly value
      */
     @Override
-    public void setGetOnly( boolean r )
+    public void setGetOnly( final boolean r )
     {
         this.getOnly = r;
     }
@@ -249,7 +249,7 @@
      * @param r The new localClusterConsistency value
      */
     @Override
-    public void setLocalClusterConsistency( boolean r )
+    public void setLocalClusterConsistency( final boolean r )
     {
         this.localClusterConsistency = r;
     }
@@ -258,7 +258,7 @@
      * @param rmiSocketFactoryTimeoutMillis The rmiSocketFactoryTimeoutMillis to set.
      */
     @Override
-    public void setRmiSocketFactoryTimeoutMillis( int rmiSocketFactoryTimeoutMillis )
+    public void setRmiSocketFactoryTimeoutMillis( final int rmiSocketFactoryTimeoutMillis )
     {
         this.rmiSocketFactoryTimeoutMillis = rmiSocketFactoryTimeoutMillis;
     }
@@ -278,7 +278,7 @@
     @Override
     public String toString()
     {
-        StringBuilder buf = new StringBuilder();
+        final StringBuilder buf = new StringBuilder();
         buf.append( "\n RemoteCacheAttributes " );
         if (this.location != null)
         {
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCache.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCache.java
index 6a62adb..9a40033 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCache.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCache.java
@@ -63,10 +63,10 @@
      * @param listener a listener
      * @param monitor the cache monitor
      */
-    public RemoteCache( IRemoteCacheAttributes cattr,
-        ICacheServiceNonLocal<K, V> remote,
-        IRemoteCacheListener<K, V> listener,
-        RemoteCacheMonitor monitor )
+    public RemoteCache( final IRemoteCacheAttributes cattr,
+        final ICacheServiceNonLocal<K, V> remote,
+        final IRemoteCacheListener<K, V> listener,
+        final RemoteCacheMonitor monitor )
     {
         super( cattr, remote, listener );
         this.monitor = monitor;
@@ -80,10 +80,10 @@
     @Override
     public IStats getStatistics()
     {
-        IStats stats = new Stats();
+        final IStats stats = new Stats();
         stats.setTypeName( "Remote Cache" );
 
-        ArrayList<IStatElement<?>> elems = new ArrayList<>();
+        final ArrayList<IStatElement<?>> elems = new ArrayList<>();
 
         elems.add(new StatElement<>( "Remote Host:Port", getIPAddressForService() ) );
         elems.add(new StatElement<>( "Remote Type", this.getRemoteCacheAttributes().getRemoteTypeName() ) );
@@ -94,7 +94,7 @@
 //      }
 
         // get the stats from the super too
-        IStats sStats = super.getStatistics();
+        final IStats sStats = super.getStatistics();
         elems.addAll(sStats.getStatElements());
 
         stats.setStatElements( elems );
@@ -107,7 +107,7 @@
      *
      * @param facade the facade to set
      */
-    protected void setFacade(AbstractRemoteCacheNoWaitFacade<K, V> facade)
+    protected void setFacade(final AbstractRemoteCacheNoWaitFacade<K, V> facade)
     {
         this.facade = facade;
     }
@@ -132,10 +132,10 @@
      * @throws IOException
      */
     @Override
-    protected void handleException( Exception ex, String msg, String eventName )
+    protected void handleException( final Exception ex, final String msg, final String eventName )
         throws IOException
     {
-        String message = "Disabling remote cache due to error: " + msg;
+        final String message = "Disabling remote cache due to error: " + msg;
 
         logError( cacheName, "", message );
         log.error( message, ex );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheAttributes.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheAttributes.java
index e13b9ff..3637f60 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheAttributes.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheAttributes.java
@@ -86,7 +86,7 @@
      * @param p The new failoverIndex value
      */
     @Override
-    public void setFailoverIndex( int p )
+    public void setFailoverIndex( final int p )
     {
         this.failoverIndex = p;
     }
@@ -108,7 +108,7 @@
      * @param failovers The new failovers value
      */
     @Override
-    public void setFailovers( List<RemoteLocation> failovers )
+    public void setFailovers( final List<RemoteLocation> failovers )
     {
         this.failovers = failovers;
     }
@@ -130,7 +130,7 @@
      * @param s The new failoverServers value
      */
     @Override
-    public void setFailoverServers( String s )
+    public void setFailoverServers( final String s )
     {
         this.failoverServers = s;
     }
@@ -151,7 +151,7 @@
      * @param p The new localPort value
      */
     @Override
-    public void setLocalPort( int p )
+    public void setLocalPort( final int p )
     {
         this.localPort = p;
     }
@@ -169,7 +169,7 @@
      * @param name
      */
     @Override
-    public void setThreadPoolName( String name )
+    public void setThreadPoolName( final String name )
     {
         threadPoolName = name;
     }
@@ -187,7 +187,7 @@
      * @param millis
      */
     @Override
-    public void setGetTimeoutMillis( int millis )
+    public void setGetTimeoutMillis( final int millis )
     {
         getTimeoutMillis = millis;
     }
@@ -199,7 +199,7 @@
      * @param receive
      */
     @Override
-    public void setReceive( boolean receive )
+    public void setReceive( final boolean receive )
     {
         this.receive = receive;
     }
@@ -228,7 +228,7 @@
      * @param zombieQueueMaxSize The zombieQueueMaxSize to set.
      */
     @Override
-    public void setZombieQueueMaxSize( int zombieQueueMaxSize )
+    public void setZombieQueueMaxSize( final int zombieQueueMaxSize )
     {
         this.zombieQueueMaxSize = zombieQueueMaxSize;
     }
@@ -251,7 +251,7 @@
     @Override
     public String toString()
     {
-        StringBuilder buf = new StringBuilder(super.toString());
+        final StringBuilder buf = new StringBuilder(super.toString());
         buf.append( "\n receive = [" + isReceive() + "]" );
         buf.append( "\n getTimeoutMillis = [" + getGetTimeoutMillis() + "]" );
         buf.append( "\n threadPoolName = [" + getThreadPoolName() + "]" );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheFactory.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheFactory.java
index 46b5c67..5ab84b7 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheFactory.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheFactory.java
@@ -69,18 +69,18 @@
      */
     @Override
     public <K, V> AuxiliaryCache<K, V> createCache(
-            AuxiliaryCacheAttributes iaca, ICompositeCacheManager cacheMgr,
-           ICacheEventLogger cacheEventLogger, IElementSerializer elementSerializer )
+            final AuxiliaryCacheAttributes iaca, final ICompositeCacheManager cacheMgr,
+           final ICacheEventLogger cacheEventLogger, final IElementSerializer elementSerializer )
     {
-        RemoteCacheAttributes rca = (RemoteCacheAttributes) iaca;
+        final RemoteCacheAttributes rca = (RemoteCacheAttributes) iaca;
 
-        ArrayList<RemoteCacheNoWait<K,V>> noWaits = new ArrayList<>();
+        final ArrayList<RemoteCacheNoWait<K,V>> noWaits = new ArrayList<>();
 
         switch (rca.getRemoteType())
         {
             case LOCAL:
                 // a list to be turned into an array of failover server information
-                ArrayList<RemoteLocation> failovers = new ArrayList<>();
+                final ArrayList<RemoteLocation> failovers = new ArrayList<>();
 
                 // not necessary if a failover list is defined
                 // REGISTER PRIMARY LISTENER
@@ -91,35 +91,35 @@
                     primaryDefined = true;
 
                     failovers.add( rca.getRemoteLocation() );
-                    RemoteCacheManager rcm = getManager( rca, cacheMgr, cacheEventLogger, elementSerializer );
-                    RemoteCacheNoWait<K,V> ic = rcm.getCache( rca );
+                    final RemoteCacheManager rcm = getManager( rca, cacheMgr, cacheEventLogger, elementSerializer );
+                    final RemoteCacheNoWait<K,V> ic = rcm.getCache( rca );
                     noWaits.add( ic );
                 }
 
                 // GET HANDLE BUT DONT REGISTER A LISTENER FOR FAILOVERS
-                String failoverList = rca.getFailoverServers();
+                final String failoverList = rca.getFailoverServers();
                 if ( failoverList != null )
                 {
-                    StringTokenizer fit = new StringTokenizer( failoverList, "," );
+                    final StringTokenizer fit = new StringTokenizer( failoverList, "," );
                     int fCnt = 0;
                     while ( fit.hasMoreTokens() )
                     {
                         fCnt++;
 
-                        String server = fit.nextToken();
-                        RemoteLocation location = RemoteLocation.parseServerAndPort(server);
+                        final String server = fit.nextToken();
+                        final RemoteLocation location = RemoteLocation.parseServerAndPort(server);
 
                         if (location != null)
                         {
                             failovers.add( location );
                             rca.setRemoteLocation(location);
-                            RemoteCacheManager rcm = getManager( rca, cacheMgr, cacheEventLogger, elementSerializer );
+                            final RemoteCacheManager rcm = getManager( rca, cacheMgr, cacheEventLogger, elementSerializer );
 
                             // add a listener if there are none, need to tell rca what
                             // number it is at
                             if (!primaryDefined && fCnt == 1 || noWaits.size() <= 0)
                             {
-                                RemoteCacheNoWait<K,V> ic = rcm.getCache( rca );
+                                final RemoteCacheNoWait<K,V> ic = rcm.getCache( rca );
                                 noWaits.add( ic );
                             }
                         }
@@ -133,25 +133,25 @@
 
             case CLUSTER:
                 // REGISTER LISTENERS FOR EACH SYSTEM CLUSTERED CACHEs
-                StringTokenizer it = new StringTokenizer( rca.getClusterServers(), "," );
+                final StringTokenizer it = new StringTokenizer( rca.getClusterServers(), "," );
                 while ( it.hasMoreElements() )
                 {
-                    String server = (String) it.nextElement();
-                    RemoteLocation location = RemoteLocation.parseServerAndPort(server);
+                    final String server = (String) it.nextElement();
+                    final RemoteLocation location = RemoteLocation.parseServerAndPort(server);
 
                     if (location != null)
                     {
                         rca.setRemoteLocation(location);
-                        RemoteCacheManager rcm = getManager( rca, cacheMgr, cacheEventLogger, elementSerializer );
+                        final RemoteCacheManager rcm = getManager( rca, cacheMgr, cacheEventLogger, elementSerializer );
                         rca.setRemoteType( RemoteType.CLUSTER );
-                        RemoteCacheNoWait<K,V> ic = rcm.getCache( rca );
+                        final RemoteCacheNoWait<K,V> ic = rcm.getCache( rca );
                         noWaits.add( ic );
                     }
                 }
                 break;
         }
 
-        RemoteCacheNoWaitFacade<K, V> rcnwf =
+        final RemoteCacheNoWaitFacade<K, V> rcnwf =
             new RemoteCacheNoWaitFacade<>(noWaits, rca, cacheEventLogger, elementSerializer, this );
 
         return rcnwf;
@@ -168,15 +168,15 @@
      *
      * @return The instance value or null if no such manager exists
      */
-    public RemoteCacheManager getManager( IRemoteCacheAttributes cattr )
+    public RemoteCacheManager getManager( final IRemoteCacheAttributes cattr )
     {
         if ( cattr.getRemoteLocation() == null )
         {
             cattr.setRemoteLocation("", Registry.REGISTRY_PORT);
         }
 
-        RemoteLocation loc = cattr.getRemoteLocation();
-        RemoteCacheManager ins = managers.get( loc );
+        final RemoteLocation loc = cattr.getRemoteLocation();
+        final RemoteCacheManager ins = managers.get( loc );
 
         return ins;
     }
@@ -195,9 +195,9 @@
      * @param elementSerializer
      * @return The instance value, never null
      */
-    public RemoteCacheManager getManager( IRemoteCacheAttributes cattr, ICompositeCacheManager cacheMgr,
-                                                  ICacheEventLogger cacheEventLogger,
-                                                  IElementSerializer elementSerializer )
+    public RemoteCacheManager getManager( final IRemoteCacheAttributes cattr, final ICompositeCacheManager cacheMgr,
+                                                  final ICacheEventLogger cacheEventLogger,
+                                                  final IElementSerializer elementSerializer )
     {
         RemoteCacheManager ins = getManager( cattr );
 
@@ -246,7 +246,7 @@
 	@Override
 	public void dispose()
 	{
-		for (RemoteCacheManager manager : managers.values())
+		for (final RemoteCacheManager manager : managers.values())
 		{
 			manager.release();
 		}
@@ -260,7 +260,7 @@
             {
                 monitor.join(5000);
             }
-            catch (InterruptedException e)
+            catch (final InterruptedException e)
             {
                 // swallow
             }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheFailoverRunner.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheFailoverRunner.java
index c1fe592..04f5a91 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheFailoverRunner.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheFailoverRunner.java
@@ -62,7 +62,7 @@
      * @param facade the facade the CompositeCache talks to.
      * @param cacheFactory the cache factory instance
      */
-    public RemoteCacheFailoverRunner( RemoteCacheNoWaitFacade<K, V> facade, RemoteCacheFactory cacheFactory )
+    public RemoteCacheFailoverRunner( final RemoteCacheNoWaitFacade<K, V> facade, final RemoteCacheFactory cacheFactory )
     {
         super("JCS-RemoteCacheFailoverRunner");
         this.facade = facade;
@@ -111,7 +111,7 @@
 
         if ( log.isInfoEnabled() )
         {
-            int failoverIndex = facade.getAuxiliaryCacheAttributes().getFailoverIndex();
+            final int failoverIndex = facade.getAuxiliaryCacheAttributes().getFailoverIndex();
             log.info( "Exiting failover runner. Failover index = {0}", failoverIndex);
 
             if ( failoverIndex <= 0 )
@@ -133,7 +133,7 @@
      */
     private void connectAndRestore()
     {
-        IRemoteCacheAttributes rca0 = facade.getAuxiliaryCacheAttributes();
+        final IRemoteCacheAttributes rca0 = facade.getAuxiliaryCacheAttributes();
 
         do
         {
@@ -144,7 +144,7 @@
             {
                 // Monitor each RemoteCacheManager instance one after the other.
                 // Each RemoteCacheManager corresponds to one remote connection.
-                List<RemoteLocation> failovers = rca0.getFailovers();
+                final List<RemoteLocation> failovers = rca0.getFailovers();
                 // we should probably check to see if there are any failovers,
                 // even though the caller
                 // should have already.
@@ -161,7 +161,7 @@
                     return;
                 }
 
-                int fidx = rca0.getFailoverIndex();
+                final int fidx = rca0.getFailoverIndex();
                 log.debug( "fidx = {0} failovers.size = {1}", () -> fidx,
                         () -> failovers.size() );
 
@@ -169,18 +169,18 @@
                 // If we don't check the primary, if it gets connected in the
                 // background,
                 // we will disconnect it only to put it right back
-                ListIterator<RemoteLocation> i = failovers.listIterator(fidx); // + 1; // +1 skips the primary
+                final ListIterator<RemoteLocation> i = failovers.listIterator(fidx); // + 1; // +1 skips the primary
                 log.debug( "starting at failover i = {0}", i );
 
                 // try them one at a time until successful
                 while (i.hasNext() && !allright.get())
                 {
-                    RemoteLocation server = i.next();
+                    final RemoteLocation server = i.next();
                     log.debug( "Trying server [{0}] at failover index i = {1}", server, i );
 
-                    RemoteCacheAttributes rca = (RemoteCacheAttributes) rca0.clone();
+                    final RemoteCacheAttributes rca = (RemoteCacheAttributes) rca0.clone();
                     rca.setRemoteLocation(server);
-                    RemoteCacheManager rcm = cacheFactory.getManager( rca );
+                    final RemoteCacheManager rcm = cacheFactory.getManager( rca );
 
                     log.debug( "RemoteCacheAttributes for failover = {0}", rca );
 
@@ -188,7 +188,7 @@
                     {
                         // add a listener if there are none, need to tell rca
                         // what number it is at
-                        ICache<K, V> ic = rcm.getCache( rca );
+                        final ICache<K, V> ic = rcm.getCache( rca );
                         if ( ic.getStatus() == CacheStatus.ALIVE )
                         {
                             // may need to do this more gracefully
@@ -245,7 +245,7 @@
                             + "{0} milliseconds.", idlePeriod );
                     Thread.sleep( idlePeriod );
                 }
-                catch ( InterruptedException ex )
+                catch ( final InterruptedException ex )
                 {
                     // ignore;
                 }
@@ -269,22 +269,22 @@
      */
     private boolean restorePrimary()
     {
-        IRemoteCacheAttributes rca0 = facade.getAuxiliaryCacheAttributes();
+        final IRemoteCacheAttributes rca0 = facade.getAuxiliaryCacheAttributes();
         // try to move back to the primary
-        RemoteLocation server = rca0.getFailovers().get(0);
+        final RemoteLocation server = rca0.getFailovers().get(0);
 
         log.info( "Trying to restore connection to primary remote server "
                 + "[{0}]", server );
 
-        RemoteCacheAttributes rca = (RemoteCacheAttributes) rca0.clone();
+        final RemoteCacheAttributes rca = (RemoteCacheAttributes) rca0.clone();
         rca.setRemoteLocation(server);
-        RemoteCacheManager rcm = cacheFactory.getManager( rca );
+        final RemoteCacheManager rcm = cacheFactory.getManager( rca );
 
         if (rcm != null)
         {
             // add a listener if there are none, need to tell rca what number it
             // is at
-            ICache<K, V> ic = rcm.getCache( rca );
+            final ICache<K, V> ic = rcm.getCache( rca );
             // by default the listener id should be 0, else it will be the
             // listener
             // Originally associated with the remote cache. either way is fine.
@@ -302,11 +302,11 @@
                     // stop duplicate listening.
                     if ( facade.getPrimaryServer() != null && facade.getPrimaryServer().getStatus() == CacheStatus.ALIVE )
                     {
-                        int fidx = rca0.getFailoverIndex();
+                        final int fidx = rca0.getFailoverIndex();
 
                         if ( fidx > 0 )
                         {
-                            RemoteLocation serverOld = rca0.getFailovers().get(fidx);
+                            final RemoteLocation serverOld = rca0.getFailovers().get(fidx);
 
                             log.debug( "Failover Index = {0} the server at that "
                                     + "index is [{1}]", fidx, serverOld );
@@ -315,9 +315,9 @@
                             {
                                 // create attributes that reflect the
                                 // previous failed over configuration.
-                                RemoteCacheAttributes rcaOld = (RemoteCacheAttributes) rca0.clone();
+                                final RemoteCacheAttributes rcaOld = (RemoteCacheAttributes) rca0.clone();
                                 rcaOld.setRemoteLocation(serverOld);
-                                RemoteCacheManager rcmOld = cacheFactory.getManager( rcaOld );
+                                final RemoteCacheManager rcmOld = cacheFactory.getManager( rcaOld );
 
                                 if ( rcmOld != null )
                                 {
@@ -346,7 +346,7 @@
                         }
                     }
                 }
-                catch ( IOException e )
+                catch ( final IOException e )
                 {
                     // TODO, should try again, or somehow stop the listener
                     log.error("Trouble trying to deregister old failover "
@@ -356,13 +356,13 @@
 
                 // Restore primary
                 // may need to do this more gracefully, letting the failover finish in the background
-                RemoteCacheNoWait<K, V> failoverNoWait = facade.getPrimaryServer();
+                final RemoteCacheNoWait<K, V> failoverNoWait = facade.getPrimaryServer();
 
                 // swap in a new one
                 facade.restorePrimaryServer((RemoteCacheNoWait<K, V>) ic);
                 rca0.setFailoverIndex( 0 );
 
-                String message = "Successfully reconnected to PRIMARY "
+                final String message = "Successfully reconnected to PRIMARY "
                         + "remote server. Substituted primary for "
                         + "failoverNoWait [" + failoverNoWait + "]";
                 log.info( message );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheListener.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheListener.java
index 4b5a93b..64fbfc8 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheListener.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheListener.java
@@ -57,7 +57,7 @@
      * @param cacheMgr the cache hub
      * @param elementSerializer a custom serializer
      */
-    public RemoteCacheListener( IRemoteCacheAttributes irca, ICompositeCacheManager cacheMgr, IElementSerializer elementSerializer )
+    public RemoteCacheListener( final IRemoteCacheAttributes irca, final ICompositeCacheManager cacheMgr, final IElementSerializer elementSerializer )
     {
         super( irca, cacheMgr, elementSerializer );
 
@@ -67,7 +67,7 @@
         {
             UnicastRemoteObject.exportObject( this, irca.getLocalPort() );
         }
-        catch ( RemoteException ex )
+        catch ( final RemoteException ex )
         {
             log.error( "Problem exporting object.", ex );
             throw new IllegalStateException( ex.getMessage() );
@@ -90,7 +90,7 @@
             {
                 UnicastRemoteObject.unexportObject( this, true );
             }
-            catch ( RemoteException ex )
+            catch ( final RemoteException ex )
             {
                 log.error( "Problem unexporting the listener.", ex );
                 throw new IllegalStateException( ex.getMessage() );
@@ -107,7 +107,7 @@
     @Override
     public String toString()
     {
-        StringBuilder buf = new StringBuilder();
+        final StringBuilder buf = new StringBuilder();
         buf.append( "\n RemoteCacheListener: " );
         buf.append( super.toString() );
         return buf.toString();
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheManager.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheManager.java
index ccd9dd5..e9df6d6 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheManager.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheManager.java
@@ -94,9 +94,9 @@
      * @param cacheEventLogger
      * @param elementSerializer
      */
-    protected RemoteCacheManager( IRemoteCacheAttributes cattr, ICompositeCacheManager cacheMgr,
-                                RemoteCacheMonitor monitor,
-                                ICacheEventLogger cacheEventLogger, IElementSerializer elementSerializer)
+    protected RemoteCacheManager( final IRemoteCacheAttributes cattr, final ICompositeCacheManager cacheMgr,
+                                final RemoteCacheMonitor monitor,
+                                final ICacheEventLogger cacheEventLogger, final IElementSerializer elementSerializer)
     {
         this.cacheMgr = cacheMgr;
         this.monitor = monitor;
@@ -110,7 +110,7 @@
         {
             lookupRemoteService();
         }
-        catch (IOException e)
+        catch (final IOException e)
         {
             log.error("Could not find server", e);
             // Notify the cache monitor about the error, and kick off the
@@ -129,7 +129,7 @@
         log.info( "Looking up server [{0}]", registry );
         try
         {
-            Object obj = Naming.lookup( registry );
+            final Object obj = Naming.lookup( registry );
             log.info( "Server found: {0}", obj );
 
             // Successful connection to the remote server.
@@ -137,7 +137,7 @@
             log.debug( "Remote Service = {0}", remoteService );
             remoteWatch.setCacheWatch( (ICacheObserver) remoteService );
         }
-        catch ( Exception ex )
+        catch ( final Exception ex )
         {
             // Failed to connect to the remote server.
             // Configure this RemoteCacheManager instance to use the "zombie"
@@ -155,7 +155,7 @@
      * @param listener The feature to be added to the RemoteCacheListener attribute
      * @throws IOException
      */
-    public <K, V> void addRemoteCacheListener( IRemoteCacheAttributes cattr, IRemoteCacheListener<K, V> listener )
+    public <K, V> void addRemoteCacheListener( final IRemoteCacheAttributes cattr, final IRemoteCacheListener<K, V> listener )
         throws IOException
     {
         if ( cattr.isReceive() )
@@ -182,10 +182,10 @@
      * @param cattr
      * @throws IOException
      */
-    public void removeRemoteCacheListener( IRemoteCacheAttributes cattr )
+    public void removeRemoteCacheListener( final IRemoteCacheAttributes cattr )
         throws IOException
     {
-        RemoteCacheNoWait<?, ?> cache = caches.get( cattr.getCacheName() );
+        final RemoteCacheNoWait<?, ?> cache = caches.get( cattr.getCacheName() );
         if ( cache != null )
         {
         	removeListenerFromCache(cache);
@@ -205,13 +205,13 @@
     }
 
     // common helper method
-	private void removeListenerFromCache(RemoteCacheNoWait<?, ?> cache) throws IOException
+	private void removeListenerFromCache(final RemoteCacheNoWait<?, ?> cache) throws IOException
 	{
-		IRemoteCacheClient<?, ?> rc = cache.getRemoteCache();
+		final IRemoteCacheClient<?, ?> rc = cache.getRemoteCache();
 	    log.debug( "Found cache for [{0}], deregistering listener.",
 	            () -> cache.getCacheName() );
 		// could also store the listener for a server in the manager.
-		IRemoteCacheListener<?, ?> listener = rc.getListener();
+		final IRemoteCacheListener<?, ?> listener = rc.getListener();
         remoteWatch.removeCacheListener( cache.getCacheName(), listener );
 	}
 
@@ -226,9 +226,9 @@
      * @return The cache value
      */
     @SuppressWarnings("unchecked") // Need to cast because of common map for all caches
-    public <K, V> RemoteCacheNoWait<K, V> getCache( IRemoteCacheAttributes cattr )
+    public <K, V> RemoteCacheNoWait<K, V> getCache( final IRemoteCacheAttributes cattr )
     {
-        RemoteCacheNoWait<K, V> remoteCacheNoWait =
+        final RemoteCacheNoWait<K, V> remoteCacheNoWait =
                 (RemoteCacheNoWait<K, V>) caches.computeIfAbsent(cattr.getCacheName(), key -> newRemoteCacheNoWait(cattr));
 
         // might want to do some listener sanity checking here.
@@ -241,7 +241,7 @@
      * @param cattr the cache configuration
      * @return the instance
      */
-    protected <K, V> RemoteCacheNoWait<K, V> newRemoteCacheNoWait(IRemoteCacheAttributes cattr)
+    protected <K, V> RemoteCacheNoWait<K, V> newRemoteCacheNoWait(final IRemoteCacheAttributes cattr)
     {
         RemoteCacheNoWait<K, V> remoteCacheNoWait;
         // create a listener first and pass it to the remotecache
@@ -252,13 +252,13 @@
             listener = new RemoteCacheListener<>( cattr, cacheMgr, elementSerializer );
             addRemoteCacheListener( cattr, listener );
         }
-        catch ( Exception e )
+        catch ( final Exception e )
         {
             log.error( "Problem adding listener. RemoteCacheListener = {0}",
                     listener, e );
         }
 
-        IRemoteCacheClient<K, V> remoteCacheClient =
+        final IRemoteCacheClient<K, V> remoteCacheClient =
             new RemoteCache<>( cattr, (ICacheServiceNonLocal<K, V>) remoteService, listener, monitor );
         remoteCacheClient.setCacheEventLogger( cacheEventLogger );
         remoteCacheClient.setElementSerializer( elementSerializer );
@@ -273,7 +273,7 @@
     /** Shutdown all. */
     public void release()
     {
-        for (RemoteCacheNoWait<?, ?> c : caches.values())
+        for (final RemoteCacheNoWait<?, ?> c : caches.values())
         {
             try
             {
@@ -282,7 +282,7 @@
                 removeListenerFromCache(c);
                 c.dispose();
             }
-            catch ( IOException ex )
+            catch ( final IOException ex )
             {
                 log.error( "Problem releasing {0}", c.getCacheName(), ex );
             }
@@ -304,7 +304,7 @@
         log.info( "Fixing caches. ICacheServiceNonLocal {0} | IRemoteCacheObserver {1}",
                 remoteService, remoteWatch );
 
-        for (RemoteCacheNoWait<?, ?> c : caches.values())
+        for (final RemoteCacheNoWait<?, ?> c : caches.values())
         {
             if (c.getStatus() == CacheStatus.ERROR)
             {
@@ -314,7 +314,7 @@
 
         if ( log.isInfoEnabled() )
         {
-            String msg = "Remote connection to " + registry + " resumed.";
+            final String msg = "Remote connection to " + registry + " resumed.";
             if ( cacheEventLogger != null )
             {
                 cacheEventLogger.logApplicationEvent( "RemoteCacheManager", "fix", msg );
@@ -335,7 +335,7 @@
         {
             lookupRemoteService();
         }
-        catch (IOException e)
+        catch (final IOException e)
         {
             log.error("Could not find server", e);
             canFix = false;
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheMonitor.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheMonitor.java
index 8ef72ef..f69c7f4 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheMonitor.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheMonitor.java
@@ -53,7 +53,7 @@
      *
      * @param manager the remote cache manager
      */
-    public void addManager(RemoteCacheManager manager)
+    public void addManager(final RemoteCacheManager manager)
     {
         this.managers.put(manager, manager);
 
@@ -83,7 +83,7 @@
     {
         // Monitor each RemoteCacheManager instance one after the other.
         // Each RemoteCacheManager corresponds to one remote connection.
-        for (RemoteCacheManager mgr : managers.values())
+        for (final RemoteCacheManager mgr : managers.values())
         {
             // If we can't fix them, just skip and re-try in
             // the next round.
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheNoWait.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheNoWait.java
index bf683a9..01d47cb 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheNoWait.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheNoWait.java
@@ -96,7 +96,7 @@
      * <p>
      * @param cache
      */
-    public RemoteCacheNoWait( IRemoteCacheClient<K, V> cache )
+    public RemoteCacheNoWait( final IRemoteCacheClient<K, V> cache )
     {
         remoteCacheClient = cache;
         this.cacheEventQueue = createCacheEventQueue(cache);
@@ -111,10 +111,10 @@
      * Create a cache event queue from the parameters of the remote client
      * @param client the remote client
      */
-    private ICacheEventQueue<K, V> createCacheEventQueue( IRemoteCacheClient<K, V> client )
+    private ICacheEventQueue<K, V> createCacheEventQueue( final IRemoteCacheClient<K, V> client )
     {
-        CacheEventQueueFactory<K, V> factory = new CacheEventQueueFactory<>();
-        ICacheEventQueue<K, V> ceq = factory.createCacheEventQueue(
+        final CacheEventQueueFactory<K, V> factory = new CacheEventQueueFactory<>();
+        final ICacheEventQueue<K, V> ceq = factory.createCacheEventQueue(
             new CacheAdaptor<>( client ),
             client.getListenerId(),
             client.getCacheName(),
@@ -130,7 +130,7 @@
      * @throws IOException
      */
     @Override
-    public void update( ICacheElement<K, V> element )
+    public void update( final ICacheElement<K, V> element )
         throws IOException
     {
         putCount++;
@@ -138,7 +138,7 @@
         {
             cacheEventQueue.addPutEvent( element );
         }
-        catch ( IOException e )
+        catch ( final IOException e )
         {
             log.error( "Problem adding putEvent to queue.", e );
             cacheEventQueue.destroy();
@@ -154,7 +154,7 @@
      * @throws IOException
      */
     @Override
-    public ICacheElement<K, V> get( K key )
+    public ICacheElement<K, V> get( final K key )
         throws IOException
     {
         getCount++;
@@ -162,7 +162,7 @@
         {
             return remoteCacheClient.get( key );
         }
-        catch ( UnmarshalException ue )
+        catch ( final UnmarshalException ue )
         {
             log.debug( "Retrying the get owing to UnmarshalException." );
 
@@ -170,12 +170,12 @@
             {
                 return remoteCacheClient.get( key );
             }
-            catch ( IOException ex )
+            catch ( final IOException ex )
             {
                 log.info( "Failed in retrying the get for the second time. ", ex );
             }
         }
-        catch ( IOException ex )
+        catch ( final IOException ex )
         {
             // We don't want to destroy the queue on a get failure.
             // The RemoteCache will Zombie and queue.
@@ -193,7 +193,7 @@
      *
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMatching( String pattern )
+    public Map<K, ICacheElement<K, V>> getMatching( final String pattern )
         throws IOException
     {
         getMatchingCount++;
@@ -201,7 +201,7 @@
         {
             return remoteCacheClient.getMatching( pattern );
         }
-        catch ( UnmarshalException ue )
+        catch ( final UnmarshalException ue )
         {
             log.debug( "Retrying the getMatching owing to UnmarshalException." );
 
@@ -209,12 +209,12 @@
             {
                 return remoteCacheClient.getMatching( pattern );
             }
-            catch ( IOException ex )
+            catch ( final IOException ex )
             {
                 log.info( "Failed in retrying the getMatching for the second time.", ex );
             }
         }
-        catch ( IOException ex )
+        catch ( final IOException ex )
         {
             // We don't want to destroy the queue on a get failure.
             // The RemoteCache will Zombie and queue.
@@ -235,7 +235,7 @@
      * @throws IOException
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMultiple( Set<K> keys )
+    public Map<K, ICacheElement<K, V>> getMultiple( final Set<K> keys )
         throws IOException
     {
         getMultipleCount++;
@@ -243,7 +243,7 @@
         {
             return remoteCacheClient.getMultiple( keys );
         }
-        catch ( UnmarshalException ue )
+        catch ( final UnmarshalException ue )
         {
             log.debug( "Retrying the getMultiple owing to UnmarshalException..." );
 
@@ -251,12 +251,12 @@
             {
                 return remoteCacheClient.getMultiple( keys );
             }
-            catch ( IOException ex )
+            catch ( final IOException ex )
             {
                 log.info( "Failed in retrying the getMultiple for the second time.", ex );
             }
         }
-        catch ( IOException ex )
+        catch ( final IOException ex )
         {
             // We don't want to destroy the queue on a get failure.
             // The RemoteCache will Zombie and queue.
@@ -286,7 +286,7 @@
      * @throws IOException
      */
     @Override
-    public boolean remove( K key )
+    public boolean remove( final K key )
         throws IOException
     {
         removeCount++;
@@ -294,7 +294,7 @@
         {
             cacheEventQueue.addRemoveEvent( key );
         }
-        catch ( IOException e )
+        catch ( final IOException e )
         {
             log.error( "Problem adding RemoveEvent to queue.", e );
             cacheEventQueue.destroy();
@@ -316,7 +316,7 @@
         {
             cacheEventQueue.addRemoveAllEvent();
         }
-        catch ( IOException e )
+        catch ( final IOException e )
         {
             log.error( "Problem adding RemoveAllEvent to queue.", e );
             cacheEventQueue.destroy();
@@ -332,7 +332,7 @@
         {
             cacheEventQueue.addDisposeEvent();
         }
-        catch ( IOException e )
+        catch ( final IOException e )
         {
             log.error( "Problem adding DisposeEvent to queue.", e );
             cacheEventQueue.destroy();
@@ -390,7 +390,7 @@
      * <p>
      * @param remote
      */
-    public void fixCache( ICacheServiceNonLocal<?, ?> remote )
+    public void fixCache( final ICacheServiceNonLocal<?, ?> remote )
     {
         remoteCacheClient.fixCache( remote );
         resetEventQ();
@@ -405,7 +405,7 @@
      */
     public void resetEventQ()
     {
-        ICacheEventQueue<K, V> previousQueue = cacheEventQueue;
+        final ICacheEventQueue<K, V> previousQueue = cacheEventQueue;
 
         this.cacheEventQueue = createCacheEventQueue(this.remoteCacheClient);
 
@@ -475,22 +475,22 @@
     @Override
     public IStats getStatistics()
     {
-        IStats stats = new Stats();
+        final IStats stats = new Stats();
         stats.setTypeName( "Remote Cache No Wait" );
 
-        ArrayList<IStatElement<?>> elems = new ArrayList<>();
+        final ArrayList<IStatElement<?>> elems = new ArrayList<>();
 
         elems.add(new StatElement<>( "Status", getStatus() ) );
 
         // get the stats from the cache queue too
-        IStats cStats = this.remoteCacheClient.getStatistics();
+        final IStats cStats = this.remoteCacheClient.getStatistics();
         if ( cStats != null )
         {
             elems.addAll(cStats.getStatElements());
         }
 
         // get the stats from the event queue too
-        IStats eqStats = this.cacheEventQueue.getStatistics();
+        final IStats eqStats = this.cacheEventQueue.getStatistics();
         elems.addAll(eqStats.getStatElements());
 
         elems.add(new StatElement<>( "Get Count", Integer.valueOf(this.getCount) ) );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheNoWaitFacade.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheNoWaitFacade.java
index 0ec1615..8744c1c 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheNoWaitFacade.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheNoWaitFacade.java
@@ -55,11 +55,11 @@
      * @param elementSerializer
      * @param cacheFactory
      */
-    public RemoteCacheNoWaitFacade( List<RemoteCacheNoWait<K,V>> noWaits,
-                                    IRemoteCacheAttributes rca,
-                                    ICacheEventLogger cacheEventLogger,
-                                    IElementSerializer elementSerializer,
-                                    RemoteCacheFactory cacheFactory)
+    public RemoteCacheNoWaitFacade( final List<RemoteCacheNoWait<K,V>> noWaits,
+                                    final IRemoteCacheAttributes rca,
+                                    final ICacheEventLogger cacheEventLogger,
+                                    final IElementSerializer elementSerializer,
+                                    final RemoteCacheFactory cacheFactory)
     {
         super( noWaits, rca, cacheEventLogger, elementSerializer );
         this.cacheFactory = cacheFactory;
@@ -71,7 +71,7 @@
      * @param rcnw The no wait in error.
      */
     @Override
-    protected void failover( RemoteCacheNoWait<K, V> rcnw )
+    protected void failover( final RemoteCacheNoWait<K, V> rcnw )
     {
         log.debug( "in failover for {0}", rcnw );
 
@@ -80,7 +80,7 @@
             if ( rcnw.getStatus() == CacheStatus.ERROR )
             {
                 // start failover, primary recovery process
-                RemoteCacheFailoverRunner<K, V> runner = new RemoteCacheFailoverRunner<>( this, this.cacheFactory );
+                final RemoteCacheFailoverRunner<K, V> runner = new RemoteCacheFailoverRunner<>( this, this.cacheFactory );
                 runner.setDaemon( true );
                 runner.start();
                 runner.notifyError();
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteLocation.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteLocation.java
index ec2e19e..cf41990 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteLocation.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteLocation.java
@@ -48,7 +48,7 @@
      * @param host

      * @param port

      */

-    public RemoteLocation( String host, int port )

+    public RemoteLocation( final String host, final int port )

     {

         this.host = host;

         this.port = port;

@@ -75,7 +75,7 @@
      * @return true if the host and port are equal

      */

     @Override

-    public boolean equals( Object obj )

+    public boolean equals( final Object obj )

     {

         if ( obj == this )

         {

@@ -85,7 +85,7 @@
         {

             return false;

         }

-        RemoteLocation l = (RemoteLocation) obj;

+        final RemoteLocation l = (RemoteLocation) obj;

         if ( this.host == null )

         {

             return l.host == null && port == l.port;

@@ -108,7 +108,7 @@
     @Override

     public String toString()

     {

-        StringBuilder sb = new StringBuilder();

+        final StringBuilder sb = new StringBuilder();

         if (this.host != null)

         {

             sb.append(this.host);

@@ -127,11 +127,11 @@
      */

     public static RemoteLocation parseServerAndPort(final String server)

     {

-        Matcher match = SERVER_COLON_PORT.matcher(server);

+        final Matcher match = SERVER_COLON_PORT.matcher(server);

 

         if (match.find() && match.groupCount() == 2)

         {

-            RemoteLocation location = new RemoteLocation( match.group(1), Integer.parseInt( match.group(2) ) );

+            final RemoteLocation location = new RemoteLocation( match.group(1), Integer.parseInt( match.group(2) ) );

             return location;

         }

         else

diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteUtils.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteUtils.java
index b12daa0..fdd02a4 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteUtils.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteUtils.java
@@ -80,12 +80,12 @@
             registry = LocateRegistry.createRegistry(port);
             log.info("createRegistry> Created the registry on port {0}", port);
         }
-        catch (RemoteException e)
+        catch (final RemoteException e)
         {
             log.warn("createRegistry> Problem creating registry. It may already be started.",
                     e);
         }
-        catch (Throwable t)
+        catch (final Throwable t)
         {
             log.error("createRegistry> Problem creating registry.", t);
         }
@@ -96,7 +96,7 @@
             {
                 registry = LocateRegistry.getRegistry(port);
             }
-            catch (RemoteException e)
+            catch (final RemoteException e)
             {
                 log.error("createRegistry> Problem getting a registry reference.", e);
             }
@@ -114,7 +114,7 @@
      * @return The properties object for the file
      * @throws IOException
      */
-    public static Properties loadProps(String propFile)
+    public static Properties loadProps(final String propFile)
             throws IOException
     {
         InputStream is = RemoteUtils.class.getResourceAsStream(propFile);
@@ -142,7 +142,7 @@
             }
         }
 
-        Properties props = new Properties();
+        final Properties props = new Properties();
         try
         {
             props.load(is);
@@ -150,14 +150,14 @@
 
             if (log.isTraceEnabled())
             {
-                StringBuilder buf = new StringBuilder();
+                final StringBuilder buf = new StringBuilder();
                 props.forEach((key, value)
                         -> buf.append('\n').append(key).append(" = ").append(value));
                 log.trace(buf.toString());
             }
 
         }
-        catch (IOException ex)
+        catch (final IOException ex)
         {
             log.error("Error loading remote properties, for file name "
                     + "[{0}]", propFile, ex);
@@ -194,10 +194,10 @@
                 RMISocketFactory.setSocketFactory(new RMISocketFactory()
                 {
                     @Override
-                    public Socket createSocket(String host, int port)
+                    public Socket createSocket(final String host, final int port)
                             throws IOException
                     {
-                        Socket socket = new Socket();
+                        final Socket socket = new Socket();
                         socket.setSoTimeout(timeoutMillis);
                         socket.setSoLinger(false, 0);
                         socket.connect(new InetSocketAddress(host, port), timeoutMillis);
@@ -205,7 +205,7 @@
                     }
 
                     @Override
-                    public ServerSocket createServerSocket(int port)
+                    public ServerSocket createServerSocket(final int port)
                             throws IOException
                     {
                         return new ServerSocket(port);
@@ -213,11 +213,11 @@
                 });
             }
         }
-        catch (IOException e)
+        catch (final IOException e)
         {
             // Only try to do it once. Otherwise we
             // Generate errors for each region on construction.
-            RMISocketFactory factoryInUse = RMISocketFactory.getSocketFactory();
+            final RMISocketFactory factoryInUse = RMISocketFactory.getSocketFactory();
             if (factoryInUse != null && !factoryInUse.getClass().getName().startsWith("org.apache.commons.jcs3"))
             {
                 log.info("Could not create new custom socket factory. {0} Factory in use = {1}",
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/client/AbstractHttpClient.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/client/AbstractHttpClient.java
index 832a75b..d9a01c7 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/client/AbstractHttpClient.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/client/AbstractHttpClient.java
@@ -57,11 +57,11 @@
      * <p>
      * @param remoteHttpCacheAttributes
      */
-    public AbstractHttpClient( RemoteHttpCacheAttributes remoteHttpCacheAttributes )
+    public AbstractHttpClient( final RemoteHttpCacheAttributes remoteHttpCacheAttributes )
     {
         this.remoteHttpCacheAttributes = remoteHttpCacheAttributes;
 
-        String httpVersion = getRemoteHttpCacheAttributes().getHttpVersion();
+        final String httpVersion = getRemoteHttpCacheAttributes().getHttpVersion();
         if ( "1.1".equals( httpVersion ) )
         {
             this.httpVersion = HttpVersion.HTTP_1_1;
@@ -77,7 +77,7 @@
             this.httpVersion = HttpVersion.HTTP_1_1;
         }
 
-        HttpClientBuilder builder = HttpClientBuilder.create();
+        final HttpClientBuilder builder = HttpClientBuilder.create();
         configureClient(builder);
         this.httpClient = builder.build();
     }
@@ -87,7 +87,7 @@
      *
      * @param builder client builder to configure
      */
-    protected void configureClient(HttpClientBuilder builder)
+    protected void configureClient(final HttpClientBuilder builder)
     {
         if ( getRemoteHttpCacheAttributes().getMaxConnectionsPerHost() > 0 )
         {
@@ -112,12 +112,12 @@
      *
      * @throws IOException on i/o error
      */
-    protected final HttpResponse doWebserviceCall( RequestBuilder builder )
+    protected final HttpResponse doWebserviceCall( final RequestBuilder builder )
         throws IOException
     {
         preProcessWebserviceCall( builder.setVersion(httpVersion) );
-        HttpUriRequest request = builder.build();
-        HttpResponse httpResponse = this.httpClient.execute( request );
+        final HttpUriRequest request = builder.build();
+        final HttpResponse httpResponse = this.httpClient.execute( request );
         postProcessWebserviceCall( request, httpResponse );
 
         return httpResponse;
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCache.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCache.java
index 340be23..7a49738 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCache.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCache.java
@@ -54,8 +54,8 @@
      * @param listener
      * @param monitor the cache monitor
      */
-    public RemoteHttpCache( RemoteHttpCacheAttributes remoteHttpCacheAttributes, ICacheServiceNonLocal<K, V> remote,
-                            IRemoteCacheListener<K, V> listener, RemoteHttpCacheMonitor monitor )
+    public RemoteHttpCache( final RemoteHttpCacheAttributes remoteHttpCacheAttributes, final ICacheServiceNonLocal<K, V> remote,
+                            final IRemoteCacheListener<K, V> listener, final RemoteHttpCacheMonitor monitor )
     {
         super( remoteHttpCacheAttributes, remote, listener );
 
@@ -72,13 +72,13 @@
      * @throws IOException
      */
     @Override
-    protected void handleException( Exception ex, String msg, String eventName )
+    protected void handleException( final Exception ex, final String msg, final String eventName )
         throws IOException
     {
         // we should not switch if the existing is a zombie.
         if ( !( getRemoteCacheService() instanceof ZombieCacheServiceNonLocal ) )
         {
-            String message = "Disabling remote cache due to error: " + msg;
+            final String message = "Disabling remote cache due to error: " + msg;
             logError( cacheName, "", message );
             log.error( message, ex );
 
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCacheAttributes.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCacheAttributes.java
index 68d008a..2ee5357 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCacheAttributes.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCacheAttributes.java
@@ -64,7 +64,7 @@
     /**
      * @param maxConnectionsPerHost the maxConnectionsPerHost to set
      */
-    public void setMaxConnectionsPerHost( int maxConnectionsPerHost )
+    public void setMaxConnectionsPerHost( final int maxConnectionsPerHost )
     {
         this.maxConnectionsPerHost = maxConnectionsPerHost;
     }
@@ -80,7 +80,7 @@
     /**
      * @param socketTimeoutMillis the socketTimeoutMillis to set
      */
-    public void setSocketTimeoutMillis( int socketTimeoutMillis )
+    public void setSocketTimeoutMillis( final int socketTimeoutMillis )
     {
         this.socketTimeoutMillis = socketTimeoutMillis;
     }
@@ -96,7 +96,7 @@
     /**
      * @param httpVersion the httpVersion to set
      */
-    public void setHttpVersion( String httpVersion )
+    public void setHttpVersion( final String httpVersion )
     {
         this.httpVersion = httpVersion;
     }
@@ -112,7 +112,7 @@
     /**
      * @param connectionTimeoutMillis the connectionTimeoutMillis to set
      */
-    public void setConnectionTimeoutMillis( int connectionTimeoutMillis )
+    public void setConnectionTimeoutMillis( final int connectionTimeoutMillis )
     {
         this.connectionTimeoutMillis = connectionTimeoutMillis;
     }
@@ -128,7 +128,7 @@
     /**
      * @param includeCacheNameInURL the includeCacheNameInURL to set
      */
-    public void setIncludeCacheNameAsParameter( boolean includeCacheNameInURL )
+    public void setIncludeCacheNameAsParameter( final boolean includeCacheNameInURL )
     {
         this.includeCacheNameAsParameter = includeCacheNameInURL;
     }
@@ -144,7 +144,7 @@
     /**
      * @param includeKeysAndPatternsInURL the includeKeysAndPatternsInURL to set
      */
-    public void setIncludeKeysAndPatternsAsParameter( boolean includeKeysAndPatternsInURL )
+    public void setIncludeKeysAndPatternsAsParameter( final boolean includeKeysAndPatternsInURL )
     {
         this.includeKeysAndPatternsAsParameter = includeKeysAndPatternsInURL;
     }
@@ -160,7 +160,7 @@
     /**
      * @param includeRequestTypeasAsParameter the includeRequestTypeasAsParameter to set
      */
-    public void setIncludeRequestTypeasAsParameter( boolean includeRequestTypeasAsParameter )
+    public void setIncludeRequestTypeasAsParameter( final boolean includeRequestTypeasAsParameter )
     {
         this.includeRequestTypeasAsParameter = includeRequestTypeasAsParameter;
     }
@@ -176,7 +176,7 @@
     /**
      * @param url the url to set
      */
-    public void setUrl( String url )
+    public void setUrl( final String url )
     {
         this.url = url;
     }
@@ -192,7 +192,7 @@
     /**
      * @param remoteHttpClientClassName the remoteHttpClientClassName to set
      */
-    public void setRemoteHttpClientClassName( String remoteHttpClientClassName )
+    public void setRemoteHttpClientClassName( final String remoteHttpClientClassName )
     {
         this.remoteHttpClientClassName = remoteHttpClientClassName;
     }
@@ -211,7 +211,7 @@
     @Override
     public String toString()
     {
-        StringBuilder buf = new StringBuilder();
+        final StringBuilder buf = new StringBuilder();
         buf.append( "\n RemoteHttpCacheAttributes" );
         buf.append( "\n maxConnectionsPerHost = [" + getMaxConnectionsPerHost() + "]" );
         buf.append( "\n socketTimeoutMillis = [" + getSocketTimeoutMillis() + "]" );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCacheClient.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCacheClient.java
index 444240f..76b33a4 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCacheClient.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCacheClient.java
@@ -61,7 +61,7 @@
      * <p>
      * @param attributes
      */
-    public RemoteHttpCacheClient( RemoteHttpCacheAttributes attributes )
+    public RemoteHttpCacheClient( final RemoteHttpCacheAttributes attributes )
     {
         setRemoteHttpCacheAttributes( attributes );
         initialize( attributes );
@@ -74,7 +74,7 @@
      * @param attributes
      */
     @Override
-    public void initialize( RemoteHttpCacheAttributes attributes )
+    public void initialize( final RemoteHttpCacheAttributes attributes )
     {
         setRemoteDispatcher( new RemoteHttpCacheDispatcher( attributes ) );
 
@@ -91,7 +91,7 @@
      * @throws IOException
      */
     @Override
-    public ICacheElement<K, V> get( String cacheName, K key )
+    public ICacheElement<K, V> get( final String cacheName, final K key )
         throws IOException
     {
         return get( cacheName, key, 0 );
@@ -107,19 +107,19 @@
      * @throws IOException
      */
     @Override
-    public ICacheElement<K, V> get( String cacheName, K key, long requesterId )
+    public ICacheElement<K, V> get( final String cacheName, final K key, final long requesterId )
         throws IOException
     {
         if ( !isInitialized() )
         {
-            String message = "The Remote Http Client is not initialized. Cannot process request.";
+            final String message = "The Remote Http Client is not initialized. Cannot process request.";
             log.warn( message );
             throw new IOException( message );
         }
-        RemoteCacheRequest<K, Serializable> remoteHttpCacheRequest =
+        final RemoteCacheRequest<K, Serializable> remoteHttpCacheRequest =
             RemoteCacheRequestFactory.createGetRequest( cacheName, key, requesterId );
 
-        RemoteCacheResponse<ICacheElement<K, V>> remoteHttpCacheResponse =
+        final RemoteCacheResponse<ICacheElement<K, V>> remoteHttpCacheResponse =
             getRemoteDispatcher().dispatchRequest( remoteHttpCacheRequest );
 
         log.debug( "Get [{0}] = {1}", key, remoteHttpCacheResponse );
@@ -142,7 +142,7 @@
      * @throws IOException
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMatching( String cacheName, String pattern )
+    public Map<K, ICacheElement<K, V>> getMatching( final String cacheName, final String pattern )
         throws IOException
     {
         return getMatching( cacheName, pattern, 0 );
@@ -159,20 +159,20 @@
      * @throws IOException
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMatching( String cacheName, String pattern, long requesterId )
+    public Map<K, ICacheElement<K, V>> getMatching( final String cacheName, final String pattern, final long requesterId )
         throws IOException
     {
         if ( !isInitialized() )
         {
-            String message = "The Remote Http Client is not initialized. Cannot process request.";
+            final String message = "The Remote Http Client is not initialized. Cannot process request.";
             log.warn( message );
             throw new IOException( message );
         }
 
-        RemoteCacheRequest<K, V> remoteHttpCacheRequest =
+        final RemoteCacheRequest<K, V> remoteHttpCacheRequest =
             RemoteCacheRequestFactory.createGetMatchingRequest( cacheName, pattern, requesterId );
 
-        RemoteCacheResponse<Map<K, ICacheElement<K, V>>> remoteHttpCacheResponse =
+        final RemoteCacheResponse<Map<K, ICacheElement<K, V>>> remoteHttpCacheResponse =
             getRemoteDispatcher().dispatchRequest( remoteHttpCacheRequest );
 
         log.debug( "GetMatching [{0}] = {1}", pattern, remoteHttpCacheResponse );
@@ -190,7 +190,7 @@
      * @throws IOException
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMultiple( String cacheName, Set<K> keys )
+    public Map<K, ICacheElement<K, V>> getMultiple( final String cacheName, final Set<K> keys )
         throws IOException
     {
         return getMultiple( cacheName, keys, 0 );
@@ -207,20 +207,20 @@
      * @throws IOException
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMultiple( String cacheName, Set<K> keys, long requesterId )
+    public Map<K, ICacheElement<K, V>> getMultiple( final String cacheName, final Set<K> keys, final long requesterId )
         throws IOException
     {
         if ( !isInitialized() )
         {
-            String message = "The Remote Http Client is not initialized.  Cannot process request.";
+            final String message = "The Remote Http Client is not initialized.  Cannot process request.";
             log.warn( message );
             throw new IOException( message );
         }
 
-        RemoteCacheRequest<K, V> remoteHttpCacheRequest =
+        final RemoteCacheRequest<K, V> remoteHttpCacheRequest =
             RemoteCacheRequestFactory.createGetMultipleRequest( cacheName, keys, requesterId );
 
-        RemoteCacheResponse<Map<K, ICacheElement<K, V>>> remoteHttpCacheResponse =
+        final RemoteCacheResponse<Map<K, ICacheElement<K, V>>> remoteHttpCacheResponse =
             getRemoteDispatcher().dispatchRequest( remoteHttpCacheRequest );
 
         log.debug( "GetMultiple [{0}] = {1}", keys, remoteHttpCacheResponse );
@@ -236,7 +236,7 @@
      * @throws IOException
      */
     @Override
-    public void remove( String cacheName, K key )
+    public void remove( final String cacheName, final K key )
         throws IOException
     {
         remove( cacheName, key, 0 );
@@ -251,17 +251,17 @@
      * @throws IOException
      */
     @Override
-    public void remove( String cacheName, K key, long requesterId )
+    public void remove( final String cacheName, final K key, final long requesterId )
         throws IOException
     {
         if ( !isInitialized() )
         {
-            String message = "The Remote Http Client is not initialized.  Cannot process request.";
+            final String message = "The Remote Http Client is not initialized.  Cannot process request.";
             log.warn( message );
             throw new IOException( message );
         }
 
-        RemoteCacheRequest<K, V> remoteHttpCacheRequest =
+        final RemoteCacheRequest<K, V> remoteHttpCacheRequest =
             RemoteCacheRequestFactory.createRemoveRequest( cacheName, key, requesterId );
 
         getRemoteDispatcher().dispatchRequest( remoteHttpCacheRequest );
@@ -274,7 +274,7 @@
      * @throws IOException
      */
     @Override
-    public void removeAll( String cacheName )
+    public void removeAll( final String cacheName )
         throws IOException
     {
         removeAll( cacheName, 0 );
@@ -288,17 +288,17 @@
      * @throws IOException
      */
     @Override
-    public void removeAll( String cacheName, long requesterId )
+    public void removeAll( final String cacheName, final long requesterId )
         throws IOException
     {
         if ( !isInitialized() )
         {
-            String message = "The Remote Http Client is not initialized.  Cannot process request.";
+            final String message = "The Remote Http Client is not initialized.  Cannot process request.";
             log.warn( message );
             throw new IOException( message );
         }
 
-        RemoteCacheRequest<K, V> remoteHttpCacheRequest =
+        final RemoteCacheRequest<K, V> remoteHttpCacheRequest =
             RemoteCacheRequestFactory.createRemoveAllRequest( cacheName, requesterId );
 
         getRemoteDispatcher().dispatchRequest( remoteHttpCacheRequest );
@@ -311,7 +311,7 @@
      * @throws IOException
      */
     @Override
-    public void update( ICacheElement<K, V> item )
+    public void update( final ICacheElement<K, V> item )
         throws IOException
     {
         update( item, 0 );
@@ -325,17 +325,17 @@
      * @throws IOException
      */
     @Override
-    public void update( ICacheElement<K, V> cacheElement, long requesterId )
+    public void update( final ICacheElement<K, V> cacheElement, final long requesterId )
         throws IOException
     {
         if ( !isInitialized() )
         {
-            String message = "The Remote Http Client is not initialized.  Cannot process request.";
+            final String message = "The Remote Http Client is not initialized.  Cannot process request.";
             log.warn( message );
             throw new IOException( message );
         }
 
-        RemoteCacheRequest<K, V> remoteHttpCacheRequest =
+        final RemoteCacheRequest<K, V> remoteHttpCacheRequest =
             RemoteCacheRequestFactory.createUpdateRequest( cacheElement, requesterId );
 
         getRemoteDispatcher().dispatchRequest( remoteHttpCacheRequest );
@@ -348,17 +348,17 @@
      * @throws IOException
      */
     @Override
-    public void dispose( String cacheName )
+    public void dispose( final String cacheName )
         throws IOException
     {
         if ( !isInitialized() )
         {
-            String message = "The Remote Http Client is not initialized.  Cannot process request.";
+            final String message = "The Remote Http Client is not initialized.  Cannot process request.";
             log.warn( message );
             throw new IOException( message );
         }
 
-        RemoteCacheRequest<K, V> remoteHttpCacheRequest =
+        final RemoteCacheRequest<K, V> remoteHttpCacheRequest =
             RemoteCacheRequestFactory.createDisposeRequest( cacheName, 0 );
 
         getRemoteDispatcher().dispatchRequest( remoteHttpCacheRequest );
@@ -383,19 +383,19 @@
      * @see org.apache.commons.jcs3.auxiliary.AuxiliaryCache#getKeySet()
      */
     @Override
-    public Set<K> getKeySet( String cacheName ) throws IOException
+    public Set<K> getKeySet( final String cacheName ) throws IOException
     {
         if ( !isInitialized() )
         {
-            String message = "The Remote Http Client is not initialized.  Cannot process request.";
+            final String message = "The Remote Http Client is not initialized.  Cannot process request.";
             log.warn( message );
             throw new IOException( message );
         }
 
-        RemoteCacheRequest<String, String> remoteHttpCacheRequest =
+        final RemoteCacheRequest<String, String> remoteHttpCacheRequest =
             RemoteCacheRequestFactory.createGetKeySetRequest(cacheName, 0 );
 
-        RemoteCacheResponse<Set<K>> remoteHttpCacheResponse = getRemoteDispatcher().dispatchRequest( remoteHttpCacheRequest );
+        final RemoteCacheResponse<Set<K>> remoteHttpCacheResponse = getRemoteDispatcher().dispatchRequest( remoteHttpCacheRequest );
 
         if ( remoteHttpCacheResponse != null && remoteHttpCacheResponse.getPayload() != null )
         {
@@ -417,13 +417,13 @@
     {
         if ( !isInitialized() )
         {
-            String message = "The Remote Http Client is not initialized.  Cannot process request.";
+            final String message = "The Remote Http Client is not initialized.  Cannot process request.";
             log.warn( message );
             throw new IOException( message );
         }
 
-        RemoteCacheRequest<K, V> remoteHttpCacheRequest = RemoteCacheRequestFactory.createAliveCheckRequest( 0 );
-        RemoteCacheResponse<String> remoteHttpCacheResponse =
+        final RemoteCacheRequest<K, V> remoteHttpCacheRequest = RemoteCacheRequestFactory.createAliveCheckRequest( 0 );
+        final RemoteCacheResponse<String> remoteHttpCacheResponse =
             getRemoteDispatcher().dispatchRequest( remoteHttpCacheRequest );
 
         if ( remoteHttpCacheResponse != null )
@@ -437,7 +437,7 @@
     /**
      * @param remoteDispatcher the remoteDispatcher to set
      */
-    public void setRemoteDispatcher( IRemoteCacheDispatcher remoteDispatcher )
+    public void setRemoteDispatcher( final IRemoteCacheDispatcher remoteDispatcher )
     {
         this.remoteDispatcher = remoteDispatcher;
     }
@@ -453,7 +453,7 @@
     /**
      * @param remoteHttpCacheAttributes the remoteHttpCacheAttributes to set
      */
-    public void setRemoteHttpCacheAttributes( RemoteHttpCacheAttributes remoteHttpCacheAttributes )
+    public void setRemoteHttpCacheAttributes( final RemoteHttpCacheAttributes remoteHttpCacheAttributes )
     {
         this.remoteHttpCacheAttributes = remoteHttpCacheAttributes;
     }
@@ -469,7 +469,7 @@
     /**
      * @param initialized the initialized to set
      */
-    protected void setInitialized( boolean initialized )
+    protected void setInitialized( final boolean initialized )
     {
         this.initialized = initialized;
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCacheDispatcher.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCacheDispatcher.java
index 6073771..3a8f14b 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCacheDispatcher.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCacheDispatcher.java
@@ -62,7 +62,7 @@
     /**
      * @param remoteHttpCacheAttributes
      */
-    public RemoteHttpCacheDispatcher( RemoteHttpCacheAttributes remoteHttpCacheAttributes )
+    public RemoteHttpCacheDispatcher( final RemoteHttpCacheAttributes remoteHttpCacheAttributes )
     {
         super( remoteHttpCacheAttributes );
     }
@@ -78,14 +78,14 @@
      */
     @Override
     public <K, V, T>
-        RemoteCacheResponse<T> dispatchRequest( RemoteCacheRequest<K, V> remoteCacheRequest )
+        RemoteCacheResponse<T> dispatchRequest( final RemoteCacheRequest<K, V> remoteCacheRequest )
         throws IOException
     {
         try
         {
-            byte[] requestAsByteArray = serializer.serialize( remoteCacheRequest );
+            final byte[] requestAsByteArray = serializer.serialize( remoteCacheRequest );
 
-            byte[] responseAsByteArray = processRequest( requestAsByteArray,
+            final byte[] responseAsByteArray = processRequest( requestAsByteArray,
                     remoteCacheRequest,
                     getRemoteHttpCacheAttributes().getUrl());
 
@@ -94,13 +94,13 @@
             {
                 remoteCacheResponse = serializer.deSerialize( responseAsByteArray, null );
             }
-            catch ( ClassNotFoundException e )
+            catch ( final ClassNotFoundException e )
             {
                 log.error( "Couldn't deserialize the response.", e );
             }
             return remoteCacheResponse;
         }
-        catch ( Exception e )
+        catch ( final Exception e )
         {
             throw new IOException("Problem dispatching request.", e);
         }
@@ -118,11 +118,11 @@
      * @throws IOException
      * @throws HttpException
      */
-    protected <K, V> byte[] processRequest( byte[] requestAsByteArray,
-            RemoteCacheRequest<K, V> remoteCacheRequest, String url )
+    protected <K, V> byte[] processRequest( final byte[] requestAsByteArray,
+            final RemoteCacheRequest<K, V> remoteCacheRequest, final String url )
         throws IOException, HttpException
     {
-        RequestBuilder builder = RequestBuilder.post( url ).setCharset( DEFAULT_ENCODING );
+        final RequestBuilder builder = RequestBuilder.post( url ).setCharset( DEFAULT_ENCODING );
 
         if ( getRemoteHttpCacheAttributes().isIncludeCacheNameAsParameter()
             && remoteCacheRequest.getCacheName() != null )
@@ -160,8 +160,8 @@
         }
 
         builder.setEntity(new ByteArrayEntity( requestAsByteArray ));
-        HttpResponse httpResponse = doWebserviceCall( builder );
-        byte[] response = EntityUtils.toByteArray( httpResponse.getEntity() );
+        final HttpResponse httpResponse = doWebserviceCall( builder );
+        final byte[] response = EntityUtils.toByteArray( httpResponse.getEntity() );
         return response;
     }
 
@@ -173,7 +173,7 @@
      * @throws IOException
      */
     @Override
-    protected void preProcessWebserviceCall( RequestBuilder requestBuilder )
+    protected void preProcessWebserviceCall( final RequestBuilder requestBuilder )
         throws IOException
     {
         // do nothing. Child can override.
@@ -188,7 +188,7 @@
      * @throws IOException
      */
     @Override
-    protected void postProcessWebserviceCall( HttpUriRequest request, HttpResponse httpState )
+    protected void postProcessWebserviceCall( final HttpUriRequest request, final HttpResponse httpState )
         throws IOException
     {
         // do nothing. Child can override.
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCacheFactory.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCacheFactory.java
index 91e4281..7b83103 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCacheFactory.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCacheFactory.java
@@ -62,24 +62,24 @@
      * @return AuxiliaryCache
      */
     @Override
-    public <K, V> AuxiliaryCache<K, V> createCache( AuxiliaryCacheAttributes iaca, ICompositeCacheManager cacheMgr,
-                                       ICacheEventLogger cacheEventLogger, IElementSerializer elementSerializer )
+    public <K, V> AuxiliaryCache<K, V> createCache( final AuxiliaryCacheAttributes iaca, final ICompositeCacheManager cacheMgr,
+                                       final ICacheEventLogger cacheEventLogger, final IElementSerializer elementSerializer )
     {
-        RemoteHttpCacheAttributes rca = (RemoteHttpCacheAttributes) iaca;
+        final RemoteHttpCacheAttributes rca = (RemoteHttpCacheAttributes) iaca;
 
         // TODO, use the configured value.
         rca.setRemoteType( RemoteType.LOCAL );
 
-        RemoteHttpClientListener<K, V> listener = new RemoteHttpClientListener<>( rca, cacheMgr, elementSerializer );
+        final RemoteHttpClientListener<K, V> listener = new RemoteHttpClientListener<>( rca, cacheMgr, elementSerializer );
 
-        IRemoteHttpCacheClient<K, V> remoteService = createRemoteHttpCacheClientForAttributes(rca);
+        final IRemoteHttpCacheClient<K, V> remoteService = createRemoteHttpCacheClientForAttributes(rca);
 
-        IRemoteCacheClient<K, V> remoteCacheClient =
+        final IRemoteCacheClient<K, V> remoteCacheClient =
                 new RemoteHttpCache<>( rca, remoteService, listener, monitor );
         remoteCacheClient.setCacheEventLogger( cacheEventLogger );
         remoteCacheClient.setElementSerializer( elementSerializer );
 
-        RemoteCacheNoWait<K, V> remoteCacheNoWait = new RemoteCacheNoWait<>( remoteCacheClient );
+        final RemoteCacheNoWait<K, V> remoteCacheNoWait = new RemoteCacheNoWait<>( remoteCacheClient );
         remoteCacheNoWait.setCacheEventLogger( cacheEventLogger );
         remoteCacheNoWait.setElementSerializer( elementSerializer );
 
@@ -93,7 +93,7 @@
      * @param cattr the cache configuration
      * @return the client instance
      */
-    protected <V, K> IRemoteHttpCacheClient<K, V> createRemoteHttpCacheClientForAttributes(RemoteHttpCacheAttributes cattr)
+    protected <V, K> IRemoteHttpCacheClient<K, V> createRemoteHttpCacheClientForAttributes(final RemoteHttpCacheAttributes cattr)
     {
         IRemoteHttpCacheClient<K, V> remoteService = OptionConverter.instantiateByClassName( cattr
                         .getRemoteHttpClientClassName(), null );
@@ -134,7 +134,7 @@
             {
                 monitor.join(5000);
             }
-            catch (InterruptedException e)
+            catch (final InterruptedException e)
             {
                 // swallow
             }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCacheMonitor.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCacheMonitor.java
index 34e3ae4..2644672 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCacheMonitor.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCacheMonitor.java
@@ -45,7 +45,7 @@
      *
      * @param factory the factory to set
      */
-    public RemoteHttpCacheMonitor(RemoteHttpCacheFactory factory)
+    public RemoteHttpCacheMonitor(final RemoteHttpCacheFactory factory)
     {
         super("JCS-RemoteHttpCacheMonitor");
         this.factory = factory;
@@ -58,7 +58,7 @@
      * <p>
      * @param remoteCache
      */
-    public void notifyError( RemoteHttpCache<?, ?> remoteCache )
+    public void notifyError( final RemoteHttpCache<?, ?> remoteCache )
     {
         if ( log.isInfoEnabled() )
         {
@@ -95,15 +95,15 @@
         // If any cache is in error, it strongly suggests all caches
         // managed by the same RmicCacheManager instance are in error. So we fix
         // them once and for all.
-        for (RemoteHttpCache<?, ?> remoteCache : this.remoteHttpCaches.values())
+        for (final RemoteHttpCache<?, ?> remoteCache : this.remoteHttpCaches.values())
         {
             try
             {
                 if ( remoteCache.getStatus() == CacheStatus.ERROR )
                 {
-                    RemoteHttpCacheAttributes attributes = remoteCache.getRemoteHttpCacheAttributes();
+                    final RemoteHttpCacheAttributes attributes = remoteCache.getRemoteHttpCacheAttributes();
 
-                    IRemoteHttpCacheClient<Serializable, Serializable> remoteService =
+                    final IRemoteHttpCacheClient<Serializable, Serializable> remoteService =
                             factory.createRemoteHttpCacheClientForAttributes( attributes );
 
                     if ( log.isInfoEnabled() )
@@ -123,7 +123,7 @@
                     break;
                 }
             }
-            catch ( IOException ex )
+            catch ( final IOException ex )
             {
                 allright.set(false);
                 // Problem encountered in fixing the caches managed by a
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpClientListener.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpClientListener.java
index 0247204..b4b0b8a 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpClientListener.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpClientListener.java
@@ -38,7 +38,7 @@
      * @param cacheMgr the cache hub
      * @param elementSerializer a custom serializer
      */
-    public RemoteHttpClientListener( IRemoteCacheAttributes irca, ICompositeCacheManager cacheMgr, IElementSerializer elementSerializer )
+    public RemoteHttpClientListener( final IRemoteCacheAttributes irca, final ICompositeCacheManager cacheMgr, final IElementSerializer elementSerializer )
     {
         super( irca, cacheMgr, elementSerializer );
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/server/AbstractRemoteCacheService.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/server/AbstractRemoteCacheService.java
index e84e575..3ee7f4c 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/server/AbstractRemoteCacheService.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/server/AbstractRemoteCacheService.java
@@ -65,7 +65,7 @@
      * @param cacheManager
      * @param cacheEventLogger
      */
-    public AbstractRemoteCacheService( ICompositeCacheManager cacheManager, ICacheEventLogger cacheEventLogger )
+    public AbstractRemoteCacheService( final ICompositeCacheManager cacheManager, final ICacheEventLogger cacheEventLogger )
     {
         this.cacheManager = cacheManager;
         this.cacheEventLogger = cacheEventLogger;
@@ -76,7 +76,7 @@
      * @throws IOException
      */
     @Override
-    public void update( ICacheElement<K, V> item )
+    public void update( final ICacheElement<K, V> item )
         throws IOException
     {
         update( item, 0 );
@@ -90,10 +90,10 @@
      * @throws IOException
      */
     @Override
-    public void update( ICacheElement<K, V> item, long requesterId )
+    public void update( final ICacheElement<K, V> item, final long requesterId )
         throws IOException
     {
-        ICacheEvent<ICacheElement<K, V>> cacheEvent = createICacheEvent( item, requesterId, ICacheEventLogger.UPDATE_EVENT );
+        final ICacheEvent<ICacheElement<K, V>> cacheEvent = createICacheEvent( item, requesterId, ICacheEventLogger.UPDATE_EVENT );
         try
         {
             logUpdateInfo( item );
@@ -121,7 +121,7 @@
      * <p>
      * @param item
      */
-    private void logUpdateInfo( ICacheElement<K, V> item )
+    private void logUpdateInfo( final ICacheElement<K, V> item )
     {
         if ( log.isInfoEnabled() )
         {
@@ -147,7 +147,7 @@
      * @throws IOException
      */
     @Override
-    public ICacheElement<K, V> get( String cacheName, K key )
+    public ICacheElement<K, V> get( final String cacheName, final K key )
         throws IOException
     {
         return this.get( cacheName, key, 0 );
@@ -167,11 +167,11 @@
      * @throws IOException
      */
     @Override
-    public ICacheElement<K, V> get( String cacheName, K key, long requesterId )
+    public ICacheElement<K, V> get( final String cacheName, final K key, final long requesterId )
         throws IOException
     {
         ICacheElement<K, V> element = null;
-        ICacheEvent<K> cacheEvent = createICacheEvent( cacheName, key, requesterId, ICacheEventLogger.GET_EVENT );
+        final ICacheEvent<K> cacheEvent = createICacheEvent( cacheName, key, requesterId, ICacheEventLogger.GET_EVENT );
         try
         {
             element = processGet( cacheName, key, requesterId );
@@ -206,7 +206,7 @@
      * @throws IOException
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMatching( String cacheName, String pattern )
+    public Map<K, ICacheElement<K, V>> getMatching( final String cacheName, final String pattern )
         throws IOException
     {
         return getMatching( cacheName, pattern, 0 );
@@ -222,10 +222,10 @@
      * @throws IOException
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMatching( String cacheName, String pattern, long requesterId )
+    public Map<K, ICacheElement<K, V>> getMatching( final String cacheName, final String pattern, final long requesterId )
         throws IOException
     {
-        ICacheEvent<String> cacheEvent = createICacheEvent( cacheName, pattern, requesterId,
+        final ICacheEvent<String> cacheEvent = createICacheEvent( cacheName, pattern, requesterId,
                                                     ICacheEventLogger.GETMATCHING_EVENT );
         try
         {
@@ -259,7 +259,7 @@
      * @throws IOException
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMultiple( String cacheName, Set<K> keys )
+    public Map<K, ICacheElement<K, V>> getMultiple( final String cacheName, final Set<K> keys )
         throws IOException
     {
         return this.getMultiple( cacheName, keys, 0 );
@@ -278,10 +278,10 @@
      * @throws IOException
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMultiple( String cacheName, Set<K> keys, long requesterId )
+    public Map<K, ICacheElement<K, V>> getMultiple( final String cacheName, final Set<K> keys, final long requesterId )
         throws IOException
     {
-        ICacheEvent<Serializable> cacheEvent = createICacheEvent( cacheName, (Serializable) keys, requesterId,
+        final ICacheEvent<Serializable> cacheEvent = createICacheEvent( cacheName, (Serializable) keys, requesterId,
                                                     ICacheEventLogger.GETMULTIPLE_EVENT );
         try
         {
@@ -312,7 +312,7 @@
      * @see org.apache.commons.jcs3.auxiliary.AuxiliaryCache#getKeySet()
      */
     @Override
-    public Set<K> getKeySet( String cacheName )
+    public Set<K> getKeySet( final String cacheName )
     {
         return processGetKeySet( cacheName );
     }
@@ -323,9 +323,9 @@
      * @param cacheName
      * @return Set
      */
-    public Set<K> processGetKeySet( String cacheName )
+    public Set<K> processGetKeySet( final String cacheName )
     {
-        CompositeCache<K, V> cache = getCacheManager().getCache( cacheName );
+        final CompositeCache<K, V> cache = getCacheManager().getCache( cacheName );
 
         return cache.getKeySet();
     }
@@ -338,7 +338,7 @@
      * @throws IOException
      */
     @Override
-    public void remove( String cacheName, K key )
+    public void remove( final String cacheName, final K key )
         throws IOException
     {
         remove( cacheName, key, 0 );
@@ -355,10 +355,10 @@
      * @throws IOException
      */
     @Override
-    public void remove( String cacheName, K key, long requesterId )
+    public void remove( final String cacheName, final K key, final long requesterId )
         throws IOException
     {
-        ICacheEvent<K> cacheEvent = createICacheEvent( cacheName, key, requesterId, ICacheEventLogger.REMOVE_EVENT );
+        final ICacheEvent<K> cacheEvent = createICacheEvent( cacheName, key, requesterId, ICacheEventLogger.REMOVE_EVENT );
         try
         {
             processRemove( cacheName, key, requesterId );
@@ -387,7 +387,7 @@
      * @throws IOException
      */
     @Override
-    public void removeAll( String cacheName )
+    public void removeAll( final String cacheName )
         throws IOException
     {
         removeAll( cacheName, 0 );
@@ -403,10 +403,10 @@
      * @throws IOException
      */
     @Override
-    public void removeAll( String cacheName, long requesterId )
+    public void removeAll( final String cacheName, final long requesterId )
         throws IOException
     {
-        ICacheEvent<String> cacheEvent = createICacheEvent( cacheName, "all", requesterId, ICacheEventLogger.REMOVEALL_EVENT );
+        final ICacheEvent<String> cacheEvent = createICacheEvent( cacheName, "all", requesterId, ICacheEventLogger.REMOVEALL_EVENT );
         try
         {
             processRemoveAll( cacheName, requesterId );
@@ -434,7 +434,7 @@
      * @throws IOException
      */
     @Override
-    public void dispose( String cacheName )
+    public void dispose( final String cacheName )
         throws IOException
     {
         dispose( cacheName, 0 );
@@ -447,10 +447,10 @@
      * @param requesterId
      * @throws IOException
      */
-    public void dispose( String cacheName, long requesterId )
+    public void dispose( final String cacheName, final long requesterId )
         throws IOException
     {
-        ICacheEvent<String> cacheEvent = createICacheEvent( cacheName, "none", requesterId, ICacheEventLogger.DISPOSE_EVENT );
+        final ICacheEvent<String> cacheEvent = createICacheEvent( cacheName, "none", requesterId, ICacheEventLogger.DISPOSE_EVENT );
         try
         {
             processDispose( cacheName, requesterId );
@@ -489,13 +489,13 @@
      * @param eventName
      * @return ICacheEvent
      */
-    protected ICacheEvent<ICacheElement<K, V>> createICacheEvent( ICacheElement<K, V> item, long requesterId, String eventName )
+    protected ICacheEvent<ICacheElement<K, V>> createICacheEvent( final ICacheElement<K, V> item, final long requesterId, final String eventName )
     {
         if ( cacheEventLogger == null )
         {
             return new CacheEvent<>();
         }
-        String ipAddress = getExtraInfoForRequesterId( requesterId );
+        final String ipAddress = getExtraInfoForRequesterId( requesterId );
         return cacheEventLogger.createICacheEvent( getEventLogSourceName(), item.getCacheName(), eventName, ipAddress,
                                                    item );
     }
@@ -509,13 +509,13 @@
      * @param eventName
      * @return ICacheEvent
      */
-    protected <T> ICacheEvent<T> createICacheEvent( String cacheName, T key, long requesterId, String eventName )
+    protected <T> ICacheEvent<T> createICacheEvent( final String cacheName, final T key, final long requesterId, final String eventName )
     {
         if ( cacheEventLogger == null )
         {
             return new CacheEvent<>();
         }
-        String ipAddress = getExtraInfoForRequesterId( requesterId );
+        final String ipAddress = getExtraInfoForRequesterId( requesterId );
         return cacheEventLogger.createICacheEvent( getEventLogSourceName(), cacheName, eventName, ipAddress, key );
     }
 
@@ -526,7 +526,7 @@
      * @param eventName
      * @param optionalDetails
      */
-    protected void logApplicationEvent( String source, String eventName, String optionalDetails )
+    protected void logApplicationEvent( final String source, final String eventName, final String optionalDetails )
     {
         if ( cacheEventLogger != null )
         {
@@ -539,7 +539,7 @@
      * <p>
      * @param cacheEvent
      */
-    protected <T> void logICacheEvent( ICacheEvent<T> cacheEvent )
+    protected <T> void logICacheEvent( final ICacheEvent<T> cacheEvent )
     {
         if ( cacheEventLogger != null )
         {
@@ -562,7 +562,7 @@
      * <p>
      * @param cacheEventLogger
      */
-    public void setCacheEventLogger( ICacheEventLogger cacheEventLogger )
+    public void setCacheEventLogger( final ICacheEventLogger cacheEventLogger )
     {
         this.cacheEventLogger = cacheEventLogger;
     }
@@ -570,7 +570,7 @@
     /**
      * @param cacheManager the cacheManager to set
      */
-    protected void setCacheManager( ICompositeCacheManager cacheManager )
+    protected void setCacheManager( final ICompositeCacheManager cacheManager )
     {
         this.cacheManager = cacheManager;
     }
@@ -586,7 +586,7 @@
     /**
      * @param eventLogSourceName the eventLogSourceName to set
      */
-    protected void setEventLogSourceName( String eventLogSourceName )
+    protected void setEventLogSourceName( final String eventLogSourceName )
     {
         this.eventLogSourceName = eventLogSourceName;
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/server/RemoteHttpCacheServerAttributes.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/server/RemoteHttpCacheServerAttributes.java
index aa14823..1347572 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/server/RemoteHttpCacheServerAttributes.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/server/RemoteHttpCacheServerAttributes.java
@@ -52,7 +52,7 @@
      * <p>
      * @param r The new localClusterConsistency value
      */
-    public void setLocalClusterConsistency( boolean r )
+    public void setLocalClusterConsistency( final boolean r )
     {
         this.localClusterConsistency = r;
     }
@@ -72,7 +72,7 @@
      * <p>
      * @param r The new localClusterConsistency value
      */
-    public void setAllowClusterGet( boolean r )
+    public void setAllowClusterGet( final boolean r )
     {
         allowClusterGet = r;
     }
@@ -83,7 +83,7 @@
     @Override
     public String toString()
     {
-        StringBuilder buf = new StringBuilder();
+        final StringBuilder buf = new StringBuilder();
         buf.append( "\nRemoteHttpCacheServiceAttributes" );
         buf.append( "\n cacheName = [" + this.getCacheName() + "]" );
         buf.append( "\n allowClusterGet = [" + this.isAllowClusterGet() + "]" );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/server/RemoteHttpCacheService.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/server/RemoteHttpCacheService.java
index 4f0c251..0888ee9 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/server/RemoteHttpCacheService.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/server/RemoteHttpCacheService.java
@@ -51,9 +51,9 @@
      * @param remoteHttpCacheServerAttributes
      * @param cacheEventLogger
      */
-    public RemoteHttpCacheService( ICompositeCacheManager cacheManager,
-                                   RemoteHttpCacheServerAttributes remoteHttpCacheServerAttributes,
-                                   ICacheEventLogger cacheEventLogger )
+    public RemoteHttpCacheService( final ICompositeCacheManager cacheManager,
+                                   final RemoteHttpCacheServerAttributes remoteHttpCacheServerAttributes,
+                                   final ICacheEventLogger cacheEventLogger )
     {
         super( cacheManager, cacheEventLogger );
         setEventLogSourceName( EVENT_LOG_SOURCE_NAME );
@@ -72,12 +72,12 @@
      * @throws IOException
      */
     @Override
-    public ICacheElement<K, V> processGet( String cacheName, K key, long requesterId )
+    public ICacheElement<K, V> processGet( final String cacheName, final K key, final long requesterId )
         throws IOException
     {
-        CompositeCache<K, V> cache = getCacheManager().getCache( cacheName );
+        final CompositeCache<K, V> cache = getCacheManager().getCache( cacheName );
 
-        boolean keepLocal = !remoteHttpCacheServerAttributes.isAllowClusterGet();
+        final boolean keepLocal = !remoteHttpCacheServerAttributes.isAllowClusterGet();
         if ( keepLocal )
         {
             return cache.localGet( key );
@@ -101,12 +101,12 @@
      * @throws IOException
      */
     @Override
-    public Map<K, ICacheElement<K, V>> processGetMultiple( String cacheName, Set<K> keys, long requesterId )
+    public Map<K, ICacheElement<K, V>> processGetMultiple( final String cacheName, final Set<K> keys, final long requesterId )
         throws IOException
     {
-        CompositeCache<K, V> cache = getCacheManager().getCache( cacheName );
+        final CompositeCache<K, V> cache = getCacheManager().getCache( cacheName );
 
-        boolean keepLocal = !remoteHttpCacheServerAttributes.isAllowClusterGet();
+        final boolean keepLocal = !remoteHttpCacheServerAttributes.isAllowClusterGet();
         if ( keepLocal )
         {
             return cache.localGetMultiple( keys );
@@ -130,12 +130,12 @@
      * @throws IOException
      */
     @Override
-    public Map<K, ICacheElement<K, V>> processGetMatching( String cacheName, String pattern, long requesterId )
+    public Map<K, ICacheElement<K, V>> processGetMatching( final String cacheName, final String pattern, final long requesterId )
         throws IOException
     {
-        CompositeCache<K, V> cache = getCacheManager().getCache( cacheName );
+        final CompositeCache<K, V> cache = getCacheManager().getCache( cacheName );
 
-        boolean keepLocal = !remoteHttpCacheServerAttributes.isAllowClusterGet();
+        final boolean keepLocal = !remoteHttpCacheServerAttributes.isAllowClusterGet();
         if ( keepLocal )
         {
             return cache.localGetMatching( pattern );
@@ -157,12 +157,12 @@
      * @throws IOException
      */
     @Override
-    public void processUpdate( ICacheElement<K, V> item, long requesterId )
+    public void processUpdate( final ICacheElement<K, V> item, final long requesterId )
         throws IOException
     {
-        CompositeCache<K, V> cache = getCacheManager().getCache( item.getCacheName() );
+        final CompositeCache<K, V> cache = getCacheManager().getCache( item.getCacheName() );
 
-        boolean keepLocal = !remoteHttpCacheServerAttributes.isLocalClusterConsistency();
+        final boolean keepLocal = !remoteHttpCacheServerAttributes.isLocalClusterConsistency();
         if ( keepLocal )
         {
             cache.localUpdate( item );
@@ -185,12 +185,12 @@
      * @throws IOException
      */
     @Override
-    public void processRemove( String cacheName, K key, long requesterId )
+    public void processRemove( final String cacheName, final K key, final long requesterId )
         throws IOException
     {
-        CompositeCache<K, V> cache = getCacheManager().getCache( cacheName );
+        final CompositeCache<K, V> cache = getCacheManager().getCache( cacheName );
 
-        boolean keepLocal = !remoteHttpCacheServerAttributes.isLocalClusterConsistency();
+        final boolean keepLocal = !remoteHttpCacheServerAttributes.isLocalClusterConsistency();
         if ( keepLocal )
         {
             cache.localRemove( key );
@@ -212,12 +212,12 @@
      * @throws IOException
      */
     @Override
-    public void processRemoveAll( String cacheName, long requesterId )
+    public void processRemoveAll( final String cacheName, final long requesterId )
         throws IOException
     {
-        CompositeCache<K, V> cache = getCacheManager().getCache( cacheName );
+        final CompositeCache<K, V> cache = getCacheManager().getCache( cacheName );
 
-        boolean keepLocal = !remoteHttpCacheServerAttributes.isLocalClusterConsistency();
+        final boolean keepLocal = !remoteHttpCacheServerAttributes.isLocalClusterConsistency();
         if ( keepLocal )
         {
             cache.localRemoveAll();
@@ -236,10 +236,10 @@
      * @throws IOException
      */
     @Override
-    public void processDispose( String cacheName, long requesterId )
+    public void processDispose( final String cacheName, final long requesterId )
         throws IOException
     {
-        CompositeCache<K, V> cache = getCacheManager().getCache( cacheName );
+        final CompositeCache<K, V> cache = getCacheManager().getCache( cacheName );
         cache.dispose();
     }
 
@@ -262,7 +262,7 @@
      * @return requesterId + ""
      */
     @Override
-    protected String getExtraInfoForRequesterId( long requesterId )
+    protected String getExtraInfoForRequesterId( final long requesterId )
     {
         return requesterId + "";
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/server/RemoteHttpCacheServlet.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/server/RemoteHttpCacheServlet.java
index 20bff1c..daa93bc 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/server/RemoteHttpCacheServlet.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/server/RemoteHttpCacheServlet.java
@@ -88,14 +88,14 @@
      * @throws ServletException
      */
     @Override
-    public void init( ServletConfig config )
+    public void init( final ServletConfig config )
         throws ServletException
     {
         try
         {
             cacheMgr = CompositeCacheManager.getInstance();
         }
-        catch (CacheException e)
+        catch (final CacheException e)
         {
             throw new ServletException(e);
         }
@@ -114,14 +114,14 @@
      * @throws IOException
      */
     @Override
-    public void service( HttpServletRequest request, HttpServletResponse response )
+    public void service( final HttpServletRequest request, final HttpServletResponse response )
         throws ServletException, IOException
     {
         incrementServiceCallCount();
         log.debug( "Servicing a request. {0}", request );
 
-        RemoteCacheRequest<Serializable, Serializable> remoteRequest = readRequest( request );
-        RemoteCacheResponse<Object> cacheResponse = processRequest( remoteRequest );
+        final RemoteCacheRequest<Serializable, Serializable> remoteRequest = readRequest( request );
+        final RemoteCacheResponse<Object> cacheResponse = processRequest( remoteRequest );
 
         writeResponse( response, cacheResponse );
     }
@@ -132,17 +132,17 @@
      * @param request
      * @return RemoteHttpCacheRequest
      */
-    protected RemoteCacheRequest<Serializable, Serializable> readRequest( HttpServletRequest request )
+    protected RemoteCacheRequest<Serializable, Serializable> readRequest( final HttpServletRequest request )
     {
         RemoteCacheRequest<Serializable, Serializable> remoteRequest = null;
         try
         {
-            InputStream inputStream = request.getInputStream();
+            final InputStream inputStream = request.getInputStream();
             log.debug( "After getting input stream and before reading it" );
 
             remoteRequest = readRequestFromStream( inputStream );
         }
-        catch ( Exception e )
+        catch ( final Exception e )
         {
             log.error( "Could not get a RemoteHttpCacheRequest object from the input stream.", e );
         }
@@ -157,12 +157,13 @@
      * @throws IOException
      * @throws ClassNotFoundException
      */
-    protected RemoteCacheRequest<Serializable, Serializable> readRequestFromStream( InputStream inputStream )
+    protected RemoteCacheRequest<Serializable, Serializable> readRequestFromStream( final InputStream inputStream )
         throws IOException, ClassNotFoundException
     {
-        ObjectInputStream ois = new ObjectInputStreamClassLoaderAware( inputStream, null );
+        final ObjectInputStream ois = new ObjectInputStreamClassLoaderAware( inputStream, null );
 
         @SuppressWarnings("unchecked") // Need to cast from Object
+        final
         RemoteCacheRequest<Serializable, Serializable> remoteRequest
             = (RemoteCacheRequest<Serializable, Serializable>) ois.readObject();
         ois.close();
@@ -175,16 +176,16 @@
      * @param response
      * @param cacheResponse
      */
-    protected void writeResponse( HttpServletResponse response, RemoteCacheResponse<Object> cacheResponse )
+    protected void writeResponse( final HttpServletResponse response, final RemoteCacheResponse<Object> cacheResponse )
     {
         try
         {
             response.setContentType( "application/octet-stream" );
 
-            byte[] responseAsByteAray = serializer.serialize( cacheResponse );
+            final byte[] responseAsByteAray = serializer.serialize( cacheResponse );
             response.setContentLength( responseAsByteAray.length );
 
-            OutputStream outputStream = response.getOutputStream();
+            final OutputStream outputStream = response.getOutputStream();
             log.debug( "Opened output stream.  Response size: {0}",
                     () -> responseAsByteAray.length );
             // WRITE
@@ -192,7 +193,7 @@
             outputStream.flush();
             outputStream.close();
         }
-        catch ( IOException e )
+        catch ( final IOException e )
         {
             log.error( "Problem writing response. {0}", cacheResponse, e );
         }
@@ -204,13 +205,13 @@
      * @param request
      * @return RemoteHttpCacheResponse, never null
      */
-    protected RemoteCacheResponse<Object> processRequest( RemoteCacheRequest<Serializable, Serializable> request )
+    protected RemoteCacheResponse<Object> processRequest( final RemoteCacheRequest<Serializable, Serializable> request )
     {
-        RemoteCacheResponse<Object> response = new RemoteCacheResponse<>();
+        final RemoteCacheResponse<Object> response = new RemoteCacheResponse<>();
 
         if ( request == null )
         {
-            String message = "The request is null. Cannot process";
+            final String message = "The request is null. Cannot process";
             log.warn( message );
             response.setSuccess( false );
             response.setErrorMessage( message );
@@ -222,12 +223,12 @@
                 switch ( request.getRequestType() )
                 {
                     case GET:
-                        ICacheElement<Serializable, Serializable> element =
+                        final ICacheElement<Serializable, Serializable> element =
                             remoteCacheService.get( request.getCacheName(), request.getKey(), request.getRequesterId() );
                         response.setPayload(element);
                         break;
                     case GET_MULTIPLE:
-                        Map<Serializable, ICacheElement<Serializable, Serializable>> elementMap =
+                        final Map<Serializable, ICacheElement<Serializable, Serializable>> elementMap =
                             remoteCacheService.getMultiple( request.getCacheName(), request.getKeySet(), request.getRequesterId() );
                         if ( elementMap != null )
                         {
@@ -235,7 +236,7 @@
                         }
                         break;
                     case GET_MATCHING:
-                        Map<Serializable, ICacheElement<Serializable, Serializable>> elementMapMatching =
+                        final Map<Serializable, ICacheElement<Serializable, Serializable>> elementMapMatching =
                             remoteCacheService.getMatching( request.getCacheName(), request.getPattern(), request.getRequesterId() );
                         if ( elementMapMatching != null )
                         {
@@ -257,20 +258,20 @@
                         // DO NOTHING
                         break;
                     case GET_KEYSET:
-                        Set<Serializable> keys = remoteCacheService.getKeySet( request.getCacheName() );
+                        final Set<Serializable> keys = remoteCacheService.getKeySet( request.getCacheName() );
                         response.setPayload( keys );
                         break;
                     default:
-                        String message = "Unknown event type.  Cannot process " + request;
+                        final String message = "Unknown event type.  Cannot process " + request;
                         log.warn( message );
                         response.setSuccess( false );
                         response.setErrorMessage( message );
                         break;
                 }
             }
-            catch ( IOException e )
+            catch ( final IOException e )
             {
-                String message = "Problem processing request. " + request + " Error: " + e.getMessage();
+                final String message = "Problem processing request. " + request + " Error: " + e.getMessage();
                 log.error( message, e );
                 response.setSuccess( false );
                 response.setErrorMessage( message );
@@ -286,13 +287,13 @@
      * @param cacheManager
      * @return RemoteHttpCacheService
      */
-    protected <K, V> RemoteHttpCacheService<K, V> createRemoteHttpCacheService( ICompositeCacheManager cacheManager )
+    protected <K, V> RemoteHttpCacheService<K, V> createRemoteHttpCacheService( final ICompositeCacheManager cacheManager )
     {
-        Properties props = cacheManager.getConfigurationProperties();
-        ICacheEventLogger cacheEventLogger = configureCacheEventLogger( props );
-        RemoteHttpCacheServerAttributes attributes = configureRemoteHttpCacheServerAttributes( props );
+        final Properties props = cacheManager.getConfigurationProperties();
+        final ICacheEventLogger cacheEventLogger = configureCacheEventLogger( props );
+        final RemoteHttpCacheServerAttributes attributes = configureRemoteHttpCacheServerAttributes( props );
 
-        RemoteHttpCacheService<K, V> service = new RemoteHttpCacheService<>( cacheManager, attributes, cacheEventLogger );
+        final RemoteHttpCacheService<K, V> service = new RemoteHttpCacheService<>( cacheManager, attributes, cacheEventLogger );
         log.info( "Created new RemoteHttpCacheService {0}", service );
         return service;
     }
@@ -303,9 +304,9 @@
      * @param props
      * @return ICacheEventLogger
      */
-    protected ICacheEventLogger configureCacheEventLogger( Properties props )
+    protected ICacheEventLogger configureCacheEventLogger( final Properties props )
     {
-        ICacheEventLogger cacheEventLogger = AuxiliaryCacheConfigurator
+        final ICacheEventLogger cacheEventLogger = AuxiliaryCacheConfigurator
             .parseCacheEventLogger( props, IRemoteHttpCacheConstants.HTTP_CACHE_SERVER_PREFIX );
 
         return cacheEventLogger;
@@ -319,9 +320,9 @@
      * @param prop
      * @return RemoteCacheServerAttributesconfigureRemoteCacheServerAttributes
      */
-    protected RemoteHttpCacheServerAttributes configureRemoteHttpCacheServerAttributes( Properties prop )
+    protected RemoteHttpCacheServerAttributes configureRemoteHttpCacheServerAttributes( final Properties prop )
     {
-        RemoteHttpCacheServerAttributes rcsa = new RemoteHttpCacheServerAttributes();
+        final RemoteHttpCacheServerAttributes rcsa = new RemoteHttpCacheServerAttributes();
 
         // configure automatically
         PropertySetter.setProperties( rcsa, prop,
@@ -333,7 +334,7 @@
     /**
      * @param rcs the remoteCacheService to set
      */
-    protected void setRemoteCacheService(ICacheServiceNonLocal<Serializable, Serializable> rcs)
+    protected void setRemoteCacheService(final ICacheServiceNonLocal<Serializable, Serializable> rcs)
     {
         remoteCacheService = rcs;
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/RegistryKeepAliveRunner.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/RegistryKeepAliveRunner.java
index 25febd0..c184f3b 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/RegistryKeepAliveRunner.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/RegistryKeepAliveRunner.java
@@ -59,7 +59,7 @@
      * @param registryPort - the port on which to start the registry
      * @param serviceName
      */
-    public RegistryKeepAliveRunner( String registryHost, int registryPort, String serviceName )
+    public RegistryKeepAliveRunner( final String registryHost, final int registryPort, final String serviceName )
     {
         this.namingURL = RemoteUtils.getNamingURL(registryHost, registryPort, serviceName);
         this.serviceName = serviceName;
@@ -87,20 +87,20 @@
 
         try
         {
-            Object obj = Naming.lookup( namingURL );
+            final Object obj = Naming.lookup( namingURL );
 
             // Successful connection to the remote server.
-            String message = "RMI registry looks fine.  Found [" + obj + "] in registry [" + namingURL + "]";
+            final String message = "RMI registry looks fine.  Found [" + obj + "] in registry [" + namingURL + "]";
             if ( cacheEventLogger != null )
             {
                 cacheEventLogger.logApplicationEvent( "RegistryKeepAliveRunner", "Naming.lookup", message );
             }
             log.debug( message );
         }
-        catch ( Exception ex )
+        catch ( final Exception ex )
         {
             // Failed to connect to the remote server.
-            String message = "Problem finding server at [" + namingURL
+            final String message = "Problem finding server at [" + namingURL
                 + "].  Will attempt to start registry and rebind.";
             log.error( message, ex );
             if ( cacheEventLogger != null )
@@ -116,7 +116,7 @@
      * <p>
      * @param serviceName the service name
      */
-    protected void createAndRegister( String serviceName )
+    protected void createAndRegister( final String serviceName )
     {
         createReqistry( serviceName );
         registerServer( serviceName );
@@ -127,7 +127,7 @@
      * <p>
      * @param serviceName the service name
      */
-    protected void createReqistry( String serviceName )
+    protected void createReqistry( final String serviceName )
     {
         // TODO: Refactor method signature. This is ugly but required to keep the binary API compatibility
         this.registry = RemoteUtils.createRegistry(registryPort);
@@ -152,12 +152,12 @@
      * <p>
      * @param serviceName the service name
      */
-    protected void registerServer( String serviceName )
+    protected void registerServer( final String serviceName )
     {
         try
         {
             // try to rebind anyway
-            Remote server = RemoteCacheServerFactory.getRemoteCacheServer();
+            final Remote server = RemoteCacheServerFactory.getRemoteCacheServer();
 
             if ( server == null )
             {
@@ -165,16 +165,16 @@
             }
 
             this.registry.rebind( serviceName, server );
-            String message = "Successfully rebound server to registry [" + serviceName + "].";
+            final String message = "Successfully rebound server to registry [" + serviceName + "].";
             if ( cacheEventLogger != null )
             {
                 cacheEventLogger.logApplicationEvent( "RegistryKeepAliveRunner", "registerServer", message );
             }
             log.info( message );
         }
-        catch ( RemoteException e )
+        catch ( final RemoteException e )
         {
-            String message = "Could not rebind server to registry [" + serviceName + "].";
+            final String message = "Could not rebind server to registry [" + serviceName + "].";
             log.error( message, e );
             if ( cacheEventLogger != null )
             {
@@ -189,7 +189,7 @@
      * <p>
      * @param cacheEventLogger
      */
-    public void setCacheEventLogger( ICacheEventLogger cacheEventLogger )
+    public void setCacheEventLogger( final ICacheEventLogger cacheEventLogger )
     {
         this.cacheEventLogger = cacheEventLogger;
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServer.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServer.java
index 2b5b92d..584517a 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServer.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServer.java
@@ -120,7 +120,7 @@
      * @param config cache hub configuration
      * @throws RemoteException
      */
-    protected RemoteCacheServer( IRemoteCacheServerAttributes rcsa, Properties config )
+    protected RemoteCacheServer( final IRemoteCacheServerAttributes rcsa, final Properties config )
         throws RemoteException
     {
         super( rcsa.getServicePort() );
@@ -137,7 +137,7 @@
      * @param customRMISocketFactory
      * @throws RemoteException
      */
-    protected RemoteCacheServer( IRemoteCacheServerAttributes rcsa, Properties config, RMISocketFactory customRMISocketFactory )
+    protected RemoteCacheServer( final IRemoteCacheServerAttributes rcsa, final Properties config, final RMISocketFactory customRMISocketFactory )
         throws RemoteException
     {
         super( rcsa.getServicePort(), customRMISocketFactory, customRMISocketFactory );
@@ -151,13 +151,13 @@
      * @param prop the configuration properties
      * @throws RemoteException if the configuration of the cache manager instance fails
      */
-    private void init( Properties prop ) throws RemoteException
+    private void init( final Properties prop ) throws RemoteException
     {
         try
         {
             cacheManager = createCacheManager( prop );
         }
-        catch (CacheException e)
+        catch (final CacheException e)
         {
             throw new RemoteException(e.getMessage(), e);
         }
@@ -165,7 +165,7 @@
         // cacheManager would have created a number of ICache objects.
         // Use these objects to set up the cacheListenersMap.
         cacheManager.getCacheNames().forEach(name -> {
-            CompositeCache<K, V> cache = cacheManager.getCache( name );
+            final CompositeCache<K, V> cache = cacheManager.getCache( name );
             cacheListenersMap.put( name, new CacheListeners<>( cache ) );
         });
     }
@@ -178,9 +178,9 @@
      *
      * @throws CacheException if the configuration cannot be loaded
      */
-    private CompositeCacheManager createCacheManager( Properties prop ) throws CacheException
+    private CompositeCacheManager createCacheManager( final Properties prop ) throws CacheException
     {
-        CompositeCacheManager hub = CompositeCacheManager.getUnconfiguredInstance();
+        final CompositeCacheManager hub = CompositeCacheManager.getUnconfiguredInstance();
         hub.configure( prop );
         return hub;
     }
@@ -195,7 +195,7 @@
      * @param item
      * @throws IOException
      */
-    public void put( ICacheElement<K, V> item )
+    public void put( final ICacheElement<K, V> item )
         throws IOException
     {
         update( item );
@@ -206,7 +206,7 @@
      * @throws IOException
      */
     @Override
-    public void update( ICacheElement<K, V> item )
+    public void update( final ICacheElement<K, V> item )
         throws IOException
     {
         update( item, 0 );
@@ -220,10 +220,10 @@
      * @throws IOException
      */
     @Override
-    public void update( ICacheElement<K, V> item, long requesterId )
+    public void update( final ICacheElement<K, V> item, final long requesterId )
         throws IOException
     {
-        ICacheEvent<ICacheElement<K, V>> cacheEvent = createICacheEvent( item, requesterId, ICacheEventLogger.UPDATE_EVENT );
+        final ICacheEvent<ICacheElement<K, V>> cacheEvent = createICacheEvent( item, requesterId, ICacheEventLogger.UPDATE_EVENT );
         try
         {
             processUpdate( item, requesterId );
@@ -257,17 +257,17 @@
      * @param item
      * @param requesterId
      */
-    private void processUpdate( ICacheElement<K, V> item, long requesterId )
+    private void processUpdate( final ICacheElement<K, V> item, final long requesterId )
     {
-        ElapsedTimer timer = new ElapsedTimer();
+        final ElapsedTimer timer = new ElapsedTimer();
         logUpdateInfo( item );
 
         try
         {
-            CacheListeners<K, V> cacheDesc = getCacheListeners( item.getCacheName() );
+            final CacheListeners<K, V> cacheDesc = getCacheListeners( item.getCacheName() );
             /* Object val = */item.getVal();
 
-            boolean fromCluster = isRequestFromCluster( requesterId );
+            final boolean fromCluster = isRequestFromCluster( requesterId );
 
             log.debug( "In update, requesterId = [{0}] fromCluster = {1}", requesterId, fromCluster );
 
@@ -276,7 +276,7 @@
             {
                 try
                 {
-                    CompositeCache<K, V> c = (CompositeCache<K, V>) cacheDesc.cache;
+                    final CompositeCache<K, V> c = (CompositeCache<K, V>) cacheDesc.cache;
 
                     // If the source of this request was not from a cluster,
                     // then consider it a local update. The cache manager will
@@ -305,7 +305,7 @@
                         c.update( item );
                     }
                 }
-                catch ( IOException ce )
+                catch ( final IOException ce )
                 {
                     // swallow
                     log.info( "Exception caught updating item. requesterId [{0}]: {1}",
@@ -316,7 +316,7 @@
                 // IF LOCAL CLUSTER CONSISTENCY IS CONFIGURED
                 if (!fromCluster || fromCluster && remoteCacheServerAttributes.isLocalClusterConsistency())
                 {
-                    ICacheEventQueue<K, V>[] qlist = getEventQList( cacheDesc, requesterId );
+                    final ICacheEventQueue<K, V>[] qlist = getEventQList( cacheDesc, requesterId );
                     log.debug( "qlist.length = {0}", qlist.length );
                     for ( int i = 0; i < qlist.length; i++ )
                     {
@@ -325,7 +325,7 @@
                 }
             }
         }
-        catch ( IOException e )
+        catch ( final IOException e )
         {
             if ( cacheEventLogger != null )
             {
@@ -345,7 +345,7 @@
      * <p>
      * @param item
      */
-    private void logUpdateInfo( ICacheElement<K, V> item )
+    private void logUpdateInfo( final ICacheElement<K, V> item )
     {
         // not thread safe, but it doesn't have to be 100% accurate
         puts++;
@@ -372,7 +372,7 @@
      * @throws IOException
      */
     @Override
-    public ICacheElement<K, V> get( String cacheName, K key )
+    public ICacheElement<K, V> get( final String cacheName, final K key )
         throws IOException
     {
         return this.get( cacheName, key, 0 );
@@ -392,11 +392,11 @@
      * @throws IOException
      */
     @Override
-    public ICacheElement<K, V> get( String cacheName, K key, long requesterId )
+    public ICacheElement<K, V> get( final String cacheName, final K key, final long requesterId )
         throws IOException
     {
         ICacheElement<K, V> element = null;
-        ICacheEvent<K> cacheEvent = createICacheEvent( cacheName, key, requesterId, ICacheEventLogger.GET_EVENT );
+        final ICacheEvent<K> cacheEvent = createICacheEvent( cacheName, key, requesterId, ICacheEventLogger.GET_EVENT );
         try
         {
             element = processGet( cacheName, key, requesterId );
@@ -418,16 +418,16 @@
      * @param requesterId
      * @return ICacheElement
      */
-    private ICacheElement<K, V> processGet( String cacheName, K key, long requesterId )
+    private ICacheElement<K, V> processGet( final String cacheName, final K key, final long requesterId )
     {
-        boolean fromCluster = isRequestFromCluster( requesterId );
+        final boolean fromCluster = isRequestFromCluster( requesterId );
 
         log.debug( "get [{0}] from cache [{1}] requesterId = [{2}] fromCluster = {3}",
                 key, cacheName, requesterId, fromCluster );
 
-        CacheListeners<K, V> cacheDesc = getCacheListeners( cacheName );
+        final CacheListeners<K, V> cacheDesc = getCacheListeners( cacheName );
 
-        ICacheElement<K, V> element = getFromCacheListeners( key, fromCluster, cacheDesc, null );
+        final ICacheElement<K, V> element = getFromCacheListeners( key, fromCluster, cacheDesc, null );
         return element;
     }
 
@@ -440,14 +440,14 @@
      * @param element
      * @return ICacheElement
      */
-    private ICacheElement<K, V> getFromCacheListeners( K key, boolean fromCluster, CacheListeners<K, V> cacheDesc,
-                                                 ICacheElement<K, V> element )
+    private ICacheElement<K, V> getFromCacheListeners( final K key, final boolean fromCluster, final CacheListeners<K, V> cacheDesc,
+                                                 final ICacheElement<K, V> element )
     {
         ICacheElement<K, V> returnElement = element;
 
         if ( cacheDesc != null )
         {
-            CompositeCache<K, V> c = (CompositeCache<K, V>) cacheDesc.cache;
+            final CompositeCache<K, V> c = (CompositeCache<K, V>) cacheDesc.cache;
 
             // If we have a get come in from a client and we don't have the item
             // locally, we will allow the cache to look in other non local sources,
@@ -492,7 +492,7 @@
      * @throws IOException
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMatching( String cacheName, String pattern )
+    public Map<K, ICacheElement<K, V>> getMatching( final String cacheName, final String pattern )
         throws IOException
     {
         return getMatching( cacheName, pattern, 0 );
@@ -508,10 +508,10 @@
      * @throws IOException
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMatching( String cacheName, String pattern, long requesterId )
+    public Map<K, ICacheElement<K, V>> getMatching( final String cacheName, final String pattern, final long requesterId )
         throws IOException
     {
-        ICacheEvent<String> cacheEvent = createICacheEvent( cacheName, pattern, requesterId,
+        final ICacheEvent<String> cacheEvent = createICacheEvent( cacheName, pattern, requesterId,
                                                     ICacheEventLogger.GETMATCHING_EVENT );
         try
         {
@@ -531,9 +531,9 @@
      * @param requesterId
      * @return Map of keys and wrapped objects
      */
-    protected Map<K, ICacheElement<K, V>> processGetMatching( String cacheName, String pattern, long requesterId )
+    protected Map<K, ICacheElement<K, V>> processGetMatching( final String cacheName, final String pattern, final long requesterId )
     {
-        boolean fromCluster = isRequestFromCluster( requesterId );
+        final boolean fromCluster = isRequestFromCluster( requesterId );
 
         log.debug( "getMatching [{0}] from cache [{1}] requesterId = [{2}] fromCluster = {3}",
                 pattern, cacheName, requesterId, fromCluster );
@@ -543,7 +543,7 @@
         {
             cacheDesc = getCacheListeners( cacheName );
         }
-        catch ( Exception e )
+        catch ( final Exception e )
         {
             log.error( "Problem getting listeners.", e );
 
@@ -565,12 +565,12 @@
      * @param cacheDesc
      * @return Map of keys to results
      */
-    private Map<K, ICacheElement<K, V>> getMatchingFromCacheListeners( String pattern, boolean fromCluster, CacheListeners<K, V> cacheDesc )
+    private Map<K, ICacheElement<K, V>> getMatchingFromCacheListeners( final String pattern, final boolean fromCluster, final CacheListeners<K, V> cacheDesc )
     {
         Map<K, ICacheElement<K, V>> elements = null;
         if ( cacheDesc != null )
         {
-            CompositeCache<K, V> c = (CompositeCache<K, V>) cacheDesc.cache;
+            final CompositeCache<K, V> c = (CompositeCache<K, V>) cacheDesc.cache;
 
             // We always want to go remote and then merge the items.  But this can lead to inconsistencies after
             // failover recovery.  Removed items may show up.  There is no good way to prevent this.
@@ -606,7 +606,7 @@
      * @throws IOException
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMultiple( String cacheName, Set<K> keys )
+    public Map<K, ICacheElement<K, V>> getMultiple( final String cacheName, final Set<K> keys )
         throws IOException
     {
         return this.getMultiple( cacheName, keys, 0 );
@@ -625,10 +625,10 @@
      * @throws IOException
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMultiple( String cacheName, Set<K> keys, long requesterId )
+    public Map<K, ICacheElement<K, V>> getMultiple( final String cacheName, final Set<K> keys, final long requesterId )
         throws IOException
     {
-        ICacheEvent<Serializable> cacheEvent = createICacheEvent( cacheName, (Serializable) keys, requesterId,
+        final ICacheEvent<Serializable> cacheEvent = createICacheEvent( cacheName, (Serializable) keys, requesterId,
                                                     ICacheEventLogger.GETMULTIPLE_EVENT );
         try
         {
@@ -649,15 +649,15 @@
      * @return a map of K key to ICacheElement&lt;K, V&gt; element, or an empty map if there is no
      *         data in cache for any of these keys
      */
-    private Map<K, ICacheElement<K, V>> processGetMultiple( String cacheName, Set<K> keys, long requesterId )
+    private Map<K, ICacheElement<K, V>> processGetMultiple( final String cacheName, final Set<K> keys, final long requesterId )
     {
-        boolean fromCluster = isRequestFromCluster( requesterId );
+        final boolean fromCluster = isRequestFromCluster( requesterId );
 
         log.debug( "getMultiple [{0}] from cache [{1}] requesterId = [{2}] fromCluster = {3}",
                 keys, cacheName, requesterId, fromCluster );
 
-        CacheListeners<K, V> cacheDesc = getCacheListeners( cacheName );
-        Map<K, ICacheElement<K, V>> elements = getMultipleFromCacheListeners( keys, null, fromCluster, cacheDesc );
+        final CacheListeners<K, V> cacheDesc = getCacheListeners( cacheName );
+        final Map<K, ICacheElement<K, V>> elements = getMultipleFromCacheListeners( keys, null, fromCluster, cacheDesc );
         return elements;
     }
 
@@ -669,9 +669,9 @@
      * @param requesterId
      * @return true is from a cluster.
      */
-    private boolean isRequestFromCluster( long requesterId )
+    private boolean isRequestFromCluster( final long requesterId )
     {
-        RemoteType remoteTypeL = idTypeMap.get( Long.valueOf( requesterId ) );
+        final RemoteType remoteTypeL = idTypeMap.get( Long.valueOf( requesterId ) );
         return remoteTypeL == RemoteType.CLUSTER;
     }
 
@@ -684,13 +684,13 @@
      * @param cacheDesc
      * @return Map
      */
-    private Map<K, ICacheElement<K, V>> getMultipleFromCacheListeners( Set<K> keys, Map<K, ICacheElement<K, V>> elements, boolean fromCluster, CacheListeners<K, V> cacheDesc )
+    private Map<K, ICacheElement<K, V>> getMultipleFromCacheListeners( final Set<K> keys, final Map<K, ICacheElement<K, V>> elements, final boolean fromCluster, final CacheListeners<K, V> cacheDesc )
     {
         Map<K, ICacheElement<K, V>> returnElements = elements;
 
         if ( cacheDesc != null )
         {
-            CompositeCache<K, V> c = (CompositeCache<K, V>) cacheDesc.cache;
+            final CompositeCache<K, V> c = (CompositeCache<K, V>) cacheDesc.cache;
 
             // If we have a getMultiple come in from a client and we don't have the item
             // locally, we will allow the cache to look in other non local sources,
@@ -736,7 +736,7 @@
      * @see org.apache.commons.jcs3.auxiliary.AuxiliaryCache#getKeySet()
      */
     @Override
-    public Set<K> getKeySet(String cacheName) throws IOException
+    public Set<K> getKeySet(final String cacheName) throws IOException
     {
         return processGetKeySet( cacheName );
     }
@@ -747,16 +747,16 @@
      * @param cacheName
      * @return Set
      */
-    protected Set<K> processGetKeySet( String cacheName )
+    protected Set<K> processGetKeySet( final String cacheName )
     {
-        CacheListeners<K, V> cacheDesc = getCacheListeners( cacheName );
+        final CacheListeners<K, V> cacheDesc = getCacheListeners( cacheName );
 
         if ( cacheDesc == null )
         {
             return Collections.emptySet();
         }
 
-        CompositeCache<K, V> c = (CompositeCache<K, V>) cacheDesc.cache;
+        final CompositeCache<K, V> c = (CompositeCache<K, V>) cacheDesc.cache;
         return c.getKeySet();
     }
 
@@ -768,7 +768,7 @@
      * @throws IOException
      */
     @Override
-    public void remove( String cacheName, K key )
+    public void remove( final String cacheName, final K key )
         throws IOException
     {
         remove( cacheName, key, 0 );
@@ -785,10 +785,10 @@
      * @throws IOException
      */
     @Override
-    public void remove( String cacheName, K key, long requesterId )
+    public void remove( final String cacheName, final K key, final long requesterId )
         throws IOException
     {
-        ICacheEvent<K> cacheEvent = createICacheEvent( cacheName, key, requesterId, ICacheEventLogger.REMOVE_EVENT );
+        final ICacheEvent<K> cacheEvent = createICacheEvent( cacheName, key, requesterId, ICacheEventLogger.REMOVE_EVENT );
         try
         {
             processRemove( cacheName, key, requesterId );
@@ -807,14 +807,14 @@
      * @param requesterId
      * @throws IOException
      */
-    private void processRemove( String cacheName, K key, long requesterId )
+    private void processRemove( final String cacheName, final K key, final long requesterId )
         throws IOException
     {
         log.debug( "remove [{0}] from cache [{1}]", key, cacheName );
 
-        CacheListeners<K, V> cacheDesc = cacheListenersMap.get( cacheName );
+        final CacheListeners<K, V> cacheDesc = cacheListenersMap.get( cacheName );
 
-        boolean fromCluster = isRequestFromCluster( requesterId );
+        final boolean fromCluster = isRequestFromCluster( requesterId );
 
         if ( cacheDesc != null )
         {
@@ -825,7 +825,7 @@
                 boolean removeSuccess = false;
 
                 // No need to notify if it was not cached.
-                CompositeCache<K, V> c = (CompositeCache<K, V>) cacheDesc.cache;
+                final CompositeCache<K, V> c = (CompositeCache<K, V>) cacheDesc.cache;
 
                 if ( fromCluster )
                 {
@@ -845,7 +845,7 @@
                 // IF LOCAL CLUSTER CONSISTENCY IS CONFIGURED
                 if (!fromCluster || fromCluster && remoteCacheServerAttributes.isLocalClusterConsistency())
                 {
-                    ICacheEventQueue<K, V>[] qlist = getEventQList( cacheDesc, requesterId );
+                    final ICacheEventQueue<K, V>[] qlist = getEventQList( cacheDesc, requesterId );
 
                     for ( int i = 0; i < qlist.length; i++ )
                     {
@@ -863,7 +863,7 @@
      * @throws IOException
      */
     @Override
-    public void removeAll( String cacheName )
+    public void removeAll( final String cacheName )
         throws IOException
     {
         removeAll( cacheName, 0 );
@@ -879,10 +879,10 @@
      * @throws IOException
      */
     @Override
-    public void removeAll( String cacheName, long requesterId )
+    public void removeAll( final String cacheName, final long requesterId )
         throws IOException
     {
-        ICacheEvent<String> cacheEvent = createICacheEvent( cacheName, "all", requesterId, ICacheEventLogger.REMOVEALL_EVENT );
+        final ICacheEvent<String> cacheEvent = createICacheEvent( cacheName, "all", requesterId, ICacheEventLogger.REMOVEALL_EVENT );
         try
         {
             processRemoveAll( cacheName, requesterId );
@@ -900,12 +900,12 @@
      * @param requesterId
      * @throws IOException
      */
-    private void processRemoveAll( String cacheName, long requesterId )
+    private void processRemoveAll( final String cacheName, final long requesterId )
         throws IOException
     {
-        CacheListeners<K, V> cacheDesc = cacheListenersMap.get( cacheName );
+        final CacheListeners<K, V> cacheDesc = cacheListenersMap.get( cacheName );
 
-        boolean fromCluster = isRequestFromCluster( requesterId );
+        final boolean fromCluster = isRequestFromCluster( requesterId );
 
         if ( cacheDesc != null )
         {
@@ -914,7 +914,7 @@
             synchronized ( cacheDesc )
             {
                 // No need to broadcast, or notify if it was not cached.
-                CompositeCache<K, V> c = (CompositeCache<K, V>) cacheDesc.cache;
+                final CompositeCache<K, V> c = (CompositeCache<K, V>) cacheDesc.cache;
 
                 if ( fromCluster )
                 {
@@ -930,9 +930,9 @@
                 // update registered listeners
                 if (!fromCluster || fromCluster && remoteCacheServerAttributes.isLocalClusterConsistency())
                 {
-                    ICacheEventQueue<K, V>[] qlist = getEventQList( cacheDesc, requesterId );
+                    final ICacheEventQueue<K, V>[] qlist = getEventQList( cacheDesc, requesterId );
 
-                    for (ICacheEventQueue<K, V> q : qlist)
+                    for (final ICacheEventQueue<K, V> q : qlist)
                     {
                         q.addRemoveAllEvent();
                     }
@@ -959,7 +959,7 @@
      * @throws IOException
      */
     @Override
-    public void dispose( String cacheName )
+    public void dispose( final String cacheName )
         throws IOException
     {
         dispose( cacheName, 0 );
@@ -972,10 +972,10 @@
      * @param requesterId
      * @throws IOException
      */
-    public void dispose( String cacheName, long requesterId )
+    public void dispose( final String cacheName, final long requesterId )
         throws IOException
     {
-        ICacheEvent<String> cacheEvent = createICacheEvent( cacheName, "none", requesterId, ICacheEventLogger.DISPOSE_EVENT );
+        final ICacheEvent<String> cacheEvent = createICacheEvent( cacheName, "none", requesterId, ICacheEventLogger.DISPOSE_EVENT );
         try
         {
             processDispose( cacheName, requesterId );
@@ -991,12 +991,12 @@
      * @param requesterId
      * @throws IOException
      */
-    private void processDispose( String cacheName, long requesterId )
+    private void processDispose( final String cacheName, final long requesterId )
         throws IOException
     {
         log.info( "Dispose request received from listener [{0}]", requesterId );
 
-        CacheListeners<K, V> cacheDesc = cacheListenersMap.get( cacheName );
+        final CacheListeners<K, V> cacheDesc = cacheListenersMap.get( cacheName );
 
         // this is dangerous
         if ( cacheDesc != null )
@@ -1004,7 +1004,7 @@
             // best attempt to achieve ordered free-cache-op and notification.
             synchronized ( cacheDesc )
             {
-                ICacheEventQueue<K, V>[] qlist = getEventQList( cacheDesc, requesterId );
+                final ICacheEventQueue<K, V>[] qlist = getEventQList( cacheDesc, requesterId );
 
                 for ( int i = 0; i < qlist.length; i++ )
                 {
@@ -1024,9 +1024,9 @@
     public void release()
         throws IOException
     {
-        for (CacheListeners<K, V> cacheDesc : cacheListenersMap.values())
+        for (final CacheListeners<K, V> cacheDesc : cacheListenersMap.values())
         {
-            ICacheEventQueue<K, V>[] qlist = getEventQList( cacheDesc, 0 );
+            final ICacheEventQueue<K, V>[] qlist = getEventQList( cacheDesc, 0 );
 
             for ( int i = 0; i < qlist.length; i++ )
             {
@@ -1043,10 +1043,10 @@
      * @param cacheName
      * @return The cacheListeners value
      */
-    protected CacheListeners<K, V> getCacheListeners( String cacheName )
+    protected CacheListeners<K, V> getCacheListeners( final String cacheName )
     {
-        CacheListeners<K, V> cacheListeners = cacheListenersMap.computeIfAbsent(cacheName, key -> {
-            CompositeCache<K, V> cache = cacheManager.getCache(key);
+        final CacheListeners<K, V> cacheListeners = cacheListenersMap.computeIfAbsent(cacheName, key -> {
+            final CompositeCache<K, V> cache = cacheManager.getCache(key);
             return new CacheListeners<>( cache );
         });
 
@@ -1060,10 +1060,10 @@
      * @param cacheName
      * @return The clusterListeners value
      */
-    protected CacheListeners<K, V> getClusterListeners( String cacheName )
+    protected CacheListeners<K, V> getClusterListeners( final String cacheName )
     {
-        CacheListeners<K, V> cacheListeners = clusterListenersMap.computeIfAbsent(cacheName, key -> {
-            CompositeCache<K, V> cache = cacheManager.getCache( cacheName );
+        final CacheListeners<K, V> cacheListeners = clusterListenersMap.computeIfAbsent(cacheName, key -> {
+            final CompositeCache<K, V> cache = cacheManager.getCache( cacheName );
             return new CacheListeners<>( cache );
         });
 
@@ -1083,14 +1083,14 @@
      * @return The eventQList value
      */
     @SuppressWarnings("unchecked") // No generic arrays in java
-    private ICacheEventQueue<K, V>[] getEventQList( CacheListeners<K, V> cacheListeners, long requesterId )
+    private ICacheEventQueue<K, V>[] getEventQList( final CacheListeners<K, V> cacheListeners, final long requesterId )
     {
-        ICacheEventQueue<K, V>[] list = cacheListeners.eventQMap.values().toArray( new ICacheEventQueue[0] );
+        final ICacheEventQueue<K, V>[] list = cacheListeners.eventQMap.values().toArray( new ICacheEventQueue[0] );
         int count = 0;
         // Set those not qualified to null; Count those qualified.
         for ( int i = 0; i < list.length; i++ )
         {
-            ICacheEventQueue<K, V> q = list[i];
+            final ICacheEventQueue<K, V> q = list[i];
             if ( q.isWorking() && q.getListenerId() != requesterId )
             {
                 count++;
@@ -1107,7 +1107,7 @@
         }
 
         // Returns only the qualified.
-        ICacheEventQueue<K, V>[] qq = new ICacheEventQueue[count];
+        final ICacheEventQueue<K, V>[] qq = new ICacheEventQueue[count];
         count = 0;
         for ( int i = 0; i < list.length; i++ )
         {
@@ -1124,7 +1124,7 @@
      * <p>
      * @param eventQMap
      */
-    private static <KK, VV> void cleanupEventQMap( Map<Long, ICacheEventQueue<KK, VV>> eventQMap )
+    private static <KK, VV> void cleanupEventQMap( final Map<Long, ICacheEventQueue<KK, VV>> eventQMap )
     {
         // this does not care if the q is alive (i.e. if
         // there are active threads; it cares if the queue
@@ -1146,7 +1146,7 @@
      */
     @Override
     @SuppressWarnings("unchecked") // Need to cast to specific return type from getClusterListeners()
-    public <KK, VV> void addCacheListener( String cacheName, ICacheListener<KK, VV> listener )
+    public <KK, VV> void addCacheListener( final String cacheName, final ICacheListener<KK, VV> listener )
         throws IOException
     {
         if ( cacheName == null || listener == null )
@@ -1155,11 +1155,11 @@
         }
         CacheListeners<KK, VV> cacheListeners;
 
-        IRemoteCacheListener<KK, VV> ircl = (IRemoteCacheListener<KK, VV>) listener;
+        final IRemoteCacheListener<KK, VV> ircl = (IRemoteCacheListener<KK, VV>) listener;
 
-        String listenerAddress = ircl.getLocalHostAddress();
+        final String listenerAddress = ircl.getLocalHostAddress();
 
-        RemoteType remoteType = ircl.getRemoteType();
+        final RemoteType remoteType = ircl.getRemoteType();
         if ( remoteType == RemoteType.CLUSTER )
         {
             log.debug( "adding cluster listener, listenerAddress [{0}]", listenerAddress );
@@ -1170,7 +1170,7 @@
             log.debug( "adding normal listener, listenerAddress [{0}]", listenerAddress );
             cacheListeners = (CacheListeners<KK, VV>)getCacheListeners( cacheName );
         }
-        Map<Long, ICacheEventQueue<KK, VV>> eventQMap = cacheListeners.eventQMap;
+        final Map<Long, ICacheEventQueue<KK, VV>> eventQMap = cacheListeners.eventQMap;
         cleanupEventQMap( eventQMap );
 
         // synchronized ( listenerId )
@@ -1184,21 +1184,21 @@
                 if ( id == 0 )
                 {
                     // must start at one so the next gets recognized
-                    long listenerIdB = nextListenerId();
+                    final long listenerIdB = nextListenerId();
                     log.debug( "listener id={0} addded for cache [{1}], listenerAddress [{2}]",
                             listenerIdB & 0xff, cacheName, listenerAddress );
                     listener.setListenerId( listenerIdB );
                     id = listenerIdB;
 
                     // in case it needs synchronization
-                    String message = "Adding vm listener under new id = [" + listenerIdB + "], listenerAddress ["
+                    final String message = "Adding vm listener under new id = [" + listenerIdB + "], listenerAddress ["
                         + listenerAddress + "]";
                     logApplicationEvent( "RemoteCacheServer", "addCacheListener", message );
                     log.info( message );
                 }
                 else
                 {
-                    String message = "Adding listener under existing id = [" + id + "], listenerAddress ["
+                    final String message = "Adding listener under existing id = [" + id + "], listenerAddress ["
                         + listenerAddress + "]";
                     logApplicationEvent( "RemoteCacheServer", "addCacheListener", message );
                     log.info( message );
@@ -1213,9 +1213,9 @@
                     this.idIPMap.put( Long.valueOf( id ), listenerAddress );
                 }
             }
-            catch ( IOException ioe )
+            catch ( final IOException ioe )
             {
-                String message = "Problem setting listener id, listenerAddress [" + listenerAddress + "]";
+                final String message = "Problem setting listener id, listenerAddress [" + listenerAddress + "]";
                 log.error( message, ioe );
 
                 if ( cacheEventLogger != null )
@@ -1225,8 +1225,8 @@
                 }
             }
 
-            CacheEventQueueFactory<KK, VV> fact = new CacheEventQueueFactory<>();
-            ICacheEventQueue<KK, VV> q = fact.createCacheEventQueue( listener, id, cacheName, remoteCacheServerAttributes
+            final CacheEventQueueFactory<KK, VV> fact = new CacheEventQueueFactory<>();
+            final ICacheEventQueue<KK, VV> q = fact.createCacheEventQueue( listener, id, cacheName, remoteCacheServerAttributes
                 .getEventQueuePoolName(), remoteCacheServerAttributes.getEventQueueType() );
 
             eventQMap.put(Long.valueOf(listener.getListenerId()), q);
@@ -1242,10 +1242,10 @@
      * @throws IOException
      */
     @Override
-    public <KK, VV> void addCacheListener( ICacheListener<KK, VV> listener )
+    public <KK, VV> void addCacheListener( final ICacheListener<KK, VV> listener )
         throws IOException
     {
-        for (String cacheName : cacheListenersMap.keySet())
+        for (final String cacheName : cacheListenersMap.keySet())
         {
             addCacheListener( cacheName, listener );
 
@@ -1262,7 +1262,7 @@
      * @throws IOException
      */
     @Override
-    public <KK, VV> void removeCacheListener( String cacheName, ICacheListener<KK, VV> listener )
+    public <KK, VV> void removeCacheListener( final String cacheName, final ICacheListener<KK, VV> listener )
         throws IOException
     {
         removeCacheListener( cacheName, listener.getListenerId() );
@@ -1275,13 +1275,13 @@
      * @param cacheName
      * @param listenerId
      */
-    public void removeCacheListener( String cacheName, long listenerId )
+    public void removeCacheListener( final String cacheName, final long listenerId )
     {
-        String message = "Removing listener for cache region = [" + cacheName + "] and listenerId [" + listenerId + "]";
+        final String message = "Removing listener for cache region = [" + cacheName + "] and listenerId [" + listenerId + "]";
         logApplicationEvent( "RemoteCacheServer", "removeCacheListener", message );
         log.info( message );
 
-        boolean isClusterListener = isRequestFromCluster( listenerId );
+        final boolean isClusterListener = isRequestFromCluster( listenerId );
 
         CacheListeners<K, V> cacheDesc = null;
 
@@ -1293,9 +1293,9 @@
         {
             cacheDesc = getCacheListeners( cacheName );
         }
-        Map<Long, ICacheEventQueue<K, V>> eventQMap = cacheDesc.eventQMap;
+        final Map<Long, ICacheEventQueue<K, V>> eventQMap = cacheDesc.eventQMap;
         cleanupEventQMap( eventQMap );
-        ICacheEventQueue<K, V> q = eventQMap.remove( Long.valueOf( listenerId ) );
+        final ICacheEventQueue<K, V> q = eventQMap.remove( Long.valueOf( listenerId ) );
 
         if ( q != null )
         {
@@ -1325,10 +1325,10 @@
      * @throws IOException
      */
     @Override
-    public <KK, VV> void removeCacheListener( ICacheListener<KK, VV> listener )
+    public <KK, VV> void removeCacheListener( final ICacheListener<KK, VV> listener )
         throws IOException
     {
-        for (String cacheName : cacheListenersMap.keySet())
+        for (final String cacheName : cacheListenersMap.keySet())
         {
             removeCacheListener( cacheName, listener );
 
@@ -1357,14 +1357,14 @@
      * @throws IOException
      */
     @Override
-    public void shutdown( String host, int port )
+    public void shutdown( final String host, final int port )
         throws IOException
     {
         log.info( "Received shutdown request. Shutting down server." );
 
         synchronized (listenerId)
         {
-            for (String cacheName : cacheListenersMap.keySet())
+            for (final String cacheName : cacheListenersMap.keySet())
             {
                 for (int i = 0; i <= listenerId[0]; i++)
                 {
@@ -1444,13 +1444,13 @@
      * @param eventName
      * @return ICacheEvent
      */
-    private ICacheEvent<ICacheElement<K, V>> createICacheEvent( ICacheElement<K, V> item, long requesterId, String eventName )
+    private ICacheEvent<ICacheElement<K, V>> createICacheEvent( final ICacheElement<K, V> item, final long requesterId, final String eventName )
     {
         if ( cacheEventLogger == null )
         {
             return new CacheEvent<>();
         }
-        String ipAddress = getExtraInfoForRequesterId( requesterId );
+        final String ipAddress = getExtraInfoForRequesterId( requesterId );
         return cacheEventLogger
             .createICacheEvent( "RemoteCacheServer", item.getCacheName(), eventName, ipAddress, item );
     }
@@ -1464,13 +1464,13 @@
      * @param eventName
      * @return ICacheEvent
      */
-    private <T> ICacheEvent<T> createICacheEvent( String cacheName, T key, long requesterId, String eventName )
+    private <T> ICacheEvent<T> createICacheEvent( final String cacheName, final T key, final long requesterId, final String eventName )
     {
         if ( cacheEventLogger == null )
         {
             return new CacheEvent<>();
         }
-        String ipAddress = getExtraInfoForRequesterId( requesterId );
+        final String ipAddress = getExtraInfoForRequesterId( requesterId );
         return cacheEventLogger.createICacheEvent( "RemoteCacheServer", cacheName, eventName, ipAddress, key );
     }
 
@@ -1481,7 +1481,7 @@
      * @param eventName
      * @param optionalDetails
      */
-    protected void logApplicationEvent( String source, String eventName, String optionalDetails )
+    protected void logApplicationEvent( final String source, final String eventName, final String optionalDetails )
     {
         if ( cacheEventLogger != null )
         {
@@ -1494,7 +1494,7 @@
      * <p>
      * @param cacheEvent
      */
-    protected <T> void logICacheEvent( ICacheEvent<T> cacheEvent )
+    protected <T> void logICacheEvent( final ICacheEvent<T> cacheEvent )
     {
         if ( cacheEventLogger != null )
         {
@@ -1510,9 +1510,9 @@
      * @param requesterId
      * @return String
      */
-    protected String getExtraInfoForRequesterId( long requesterId )
+    protected String getExtraInfoForRequesterId( final long requesterId )
     {
-        String ipAddress = idIPMap.get( Long.valueOf( requesterId ) );
+        final String ipAddress = idIPMap.get( Long.valueOf( requesterId ) );
         return ipAddress;
     }
 
@@ -1521,7 +1521,7 @@
      * <p>
      * @param cacheEventLogger
      */
-    public void setCacheEventLogger( ICacheEventLogger cacheEventLogger )
+    public void setCacheEventLogger( final ICacheEventLogger cacheEventLogger )
     {
         this.cacheEventLogger = cacheEventLogger;
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServerAttributes.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServerAttributes.java
index 3b9f491..c8587f1 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServerAttributes.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServerAttributes.java
@@ -78,7 +78,7 @@
      * @param p The new localPort value
      */
     @Override
-    public void setServicePort( int p )
+    public void setServicePort( final int p )
     {
         this.servicePort = p;
     }
@@ -100,7 +100,7 @@
      * @param r The new localClusterConsistency value
      */
     @Override
-    public void setAllowClusterGet( boolean r )
+    public void setAllowClusterGet( final boolean r )
     {
         allowClusterGet = r;
     }
@@ -122,7 +122,7 @@
      * @param s The new clusterServers value
      */
     @Override
-    public void setConfigFileName( String s )
+    public void setConfigFileName( final String s )
     {
         configFileName = s;
     }
@@ -133,7 +133,7 @@
      * @param useRegistryKeepAlive the useRegistryKeepAlive to set
      */
     @Override
-    public void setUseRegistryKeepAlive( boolean useRegistryKeepAlive )
+    public void setUseRegistryKeepAlive( final boolean useRegistryKeepAlive )
     {
         this.useRegistryKeepAlive = useRegistryKeepAlive;
     }
@@ -146,7 +146,7 @@
      */
     @Deprecated
     @Override
-    public void setStartRegistry( boolean startRegistry )
+    public void setStartRegistry( final boolean startRegistry )
     {
         this.startRegistry = startRegistry;
     }
@@ -179,7 +179,7 @@
      * @param registryKeepAliveDelayMillis the registryKeepAliveDelayMillis to set
      */
     @Override
-    public void setRegistryKeepAliveDelayMillis( long registryKeepAliveDelayMillis )
+    public void setRegistryKeepAliveDelayMillis( final long registryKeepAliveDelayMillis )
     {
         this.registryKeepAliveDelayMillis = registryKeepAliveDelayMillis;
     }
@@ -199,7 +199,7 @@
     @Override
     public String toString()
     {
-        StringBuilder buf = new StringBuilder(super.toString());
+        final StringBuilder buf = new StringBuilder(super.toString());
         buf.append( "\n servicePort = [" + this.getServicePort() + "]" );
         buf.append( "\n allowClusterGet = [" + this.isAllowClusterGet() + "]" );
         buf.append( "\n configFileName = [" + this.getConfigFileName() + "]" );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServerFactory.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServerFactory.java
index 6154a38..4a2ae88 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServerFactory.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServerFactory.java
@@ -98,7 +98,7 @@
      * @param props
      * @throws IOException
      */
-    public static void startup( String host, int port, Properties props)
+    public static void startup( String host, final int port, final Properties props)
         throws IOException
     {
         if ( remoteCacheServer != null )
@@ -117,7 +117,7 @@
                 host = "";
             }
 
-            RemoteCacheServerAttributes rcsa = configureRemoteCacheServerAttributes(props);
+            final RemoteCacheServerAttributes rcsa = configureRemoteCacheServerAttributes(props);
 
             // These should come from the file!
             rcsa.setRemoteLocation( host, port );
@@ -125,12 +125,12 @@
 
             setServiceName( rcsa.getRemoteServiceName() );
 
-            RMISocketFactory customRMISocketFactory = configureObjectSpecificCustomFactory( props );
+            final RMISocketFactory customRMISocketFactory = configureObjectSpecificCustomFactory( props );
 
             RemoteUtils.configureGlobalCustomSocketFactory( rcsa.getRmiSocketFactoryTimeoutMillis() );
 
             // CONFIGURE THE EVENT LOGGER
-            ICacheEventLogger cacheEventLogger = configureCacheEventLogger( props );
+            final ICacheEventLogger cacheEventLogger = configureCacheEventLogger( props );
 
             // CREATE SERVER
             if ( customRMISocketFactory != null )
@@ -158,7 +158,7 @@
                     keepAliveDaemon = Executors.newScheduledThreadPool(1,
                             new DaemonThreadFactory("JCS-RemoteCacheServerFactory-"));
                 }
-                RegistryKeepAliveRunner runner = new RegistryKeepAliveRunner( host, port, serviceName );
+                final RegistryKeepAliveRunner runner = new RegistryKeepAliveRunner( host, port, serviceName );
                 runner.setCacheEventLogger( cacheEventLogger );
                 keepAliveDaemon.scheduleAtFixedRate(runner, 0, rcsa.getRegistryKeepAliveDelayMillis(), TimeUnit.MILLISECONDS);
             }
@@ -171,7 +171,7 @@
      * @param props
      * @return ICacheEventLogger
      */
-    protected static ICacheEventLogger configureCacheEventLogger( Properties props )
+    protected static ICacheEventLogger configureCacheEventLogger( final Properties props )
     {
         ICacheEventLogger cacheEventLogger = AuxiliaryCacheConfigurator
             .parseCacheEventLogger( props, IRemoteCacheConstants.CACHE_SERVER_PREFIX );
@@ -192,9 +192,9 @@
      * @param props
      * @return RMISocketFactory
      */
-    protected static RMISocketFactory configureObjectSpecificCustomFactory( Properties props )
+    protected static RMISocketFactory configureObjectSpecificCustomFactory( final Properties props )
     {
-        RMISocketFactory customRMISocketFactory =
+        final RMISocketFactory customRMISocketFactory =
             OptionConverter.instantiateByKey( props, CUSTOM_RMI_SOCKET_FACTORY_PROPERTY_PREFIX, null );
 
         if ( customRMISocketFactory != null )
@@ -219,7 +219,7 @@
      * @param server the server object to bind
      * @throws RemoteException
      */
-    protected static void registerServer(String serviceName, Remote server )
+    protected static void registerServer(final String serviceName, final Remote server )
         throws RemoteException
     {
         if ( server == null )
@@ -245,9 +245,9 @@
      * @param prop
      * @return RemoteCacheServerAttributesconfigureRemoteCacheServerAttributes
      */
-    protected static RemoteCacheServerAttributes configureRemoteCacheServerAttributes( Properties prop )
+    protected static RemoteCacheServerAttributes configureRemoteCacheServerAttributes( final Properties prop )
     {
-        RemoteCacheServerAttributes rcsa = new RemoteCacheServerAttributes();
+        final RemoteCacheServerAttributes rcsa = new RemoteCacheServerAttributes();
 
         // configure automatically
         PropertySetter.setProperties( rcsa, prop, CACHE_SERVER_ATTRIBUTES_PROPERTY_PREFIX + "." );
@@ -263,52 +263,52 @@
      * @param prop
      * @param rcsa
      */
-    private static void configureManuallyIfValuesArePresent( Properties prop, RemoteCacheServerAttributes rcsa )
+    private static void configureManuallyIfValuesArePresent( final Properties prop, final RemoteCacheServerAttributes rcsa )
     {
         // DEPRECATED CONFIG
-        String servicePortStr = prop.getProperty( REMOTE_CACHE_SERVICE_PORT );
+        final String servicePortStr = prop.getProperty( REMOTE_CACHE_SERVICE_PORT );
         if ( servicePortStr != null )
         {
             try
             {
-                int servicePort = Integer.parseInt( servicePortStr );
+                final int servicePort = Integer.parseInt( servicePortStr );
                 rcsa.setServicePort( servicePort );
                 log.debug( "Remote cache service uses port number {0}", servicePort );
             }
-            catch ( NumberFormatException ignore )
+            catch ( final NumberFormatException ignore )
             {
                 log.debug( "Remote cache service port property {0}" +
                     " not specified. An anonymous port will be used.", REMOTE_CACHE_SERVICE_PORT );
             }
         }
 
-        String socketTimeoutMillisStr = prop.getProperty( SOCKET_TIMEOUT_MILLIS );
+        final String socketTimeoutMillisStr = prop.getProperty( SOCKET_TIMEOUT_MILLIS );
         if ( socketTimeoutMillisStr != null )
         {
             try
             {
-                int rmiSocketFactoryTimeoutMillis = Integer.parseInt( socketTimeoutMillisStr );
+                final int rmiSocketFactoryTimeoutMillis = Integer.parseInt( socketTimeoutMillisStr );
                 rcsa.setRmiSocketFactoryTimeoutMillis( rmiSocketFactoryTimeoutMillis );
                 log.debug( "Remote cache socket timeout {0} ms.", rmiSocketFactoryTimeoutMillis );
             }
-            catch ( NumberFormatException ignore )
+            catch ( final NumberFormatException ignore )
             {
                 log.debug( "Remote cache socket timeout property {0}" +
                     " not specified. The default will be used.", SOCKET_TIMEOUT_MILLIS );
             }
         }
 
-        String lccStr = prop.getProperty( REMOTE_LOCAL_CLUSTER_CONSISTENCY );
+        final String lccStr = prop.getProperty( REMOTE_LOCAL_CLUSTER_CONSISTENCY );
         if ( lccStr != null )
         {
-            boolean lcc = Boolean.parseBoolean( lccStr );
+            final boolean lcc = Boolean.parseBoolean( lccStr );
             rcsa.setLocalClusterConsistency( lcc );
         }
 
-        String acgStr = prop.getProperty( REMOTE_ALLOW_CLUSTER_GET );
+        final String acgStr = prop.getProperty( REMOTE_ALLOW_CLUSTER_GET );
         if ( acgStr != null )
         {
-            boolean acg = Boolean.parseBoolean( lccStr );
+            final boolean acg = Boolean.parseBoolean( lccStr );
             rcsa.setAllowClusterGet( acg );
         }
 
@@ -324,7 +324,7 @@
      * @param port
      * @throws IOException
      */
-    static void shutdownImpl( String host, int port )
+    static void shutdownImpl( final String host, final int port )
         throws IOException
     {
         synchronized ( RemoteCacheServer.class )
@@ -339,13 +339,13 @@
             {
                 Naming.unbind( RemoteUtils.getNamingURL(host, port, getServiceName()) );
             }
-            catch ( MalformedURLException ex )
+            catch ( final MalformedURLException ex )
             {
                 // impossible case.
                 throw new IllegalArgumentException( ex.getMessage() + "; host=" + host + ", port=" + port
                     + ", serviceName=" + getServiceName() );
             }
-            catch ( NotBoundException ex )
+            catch ( final NotBoundException ex )
             {
                 // ignore.
             }
@@ -377,17 +377,17 @@
      * @param args The command line arguments
      * @throws Exception
      */
-    public static void main( String[] args )
+    public static void main( final String[] args )
         throws Exception
     {
-        Properties prop = args.length > 0 ? RemoteUtils.loadProps( args[args.length - 1] ) : new Properties();
+        final Properties prop = args.length > 0 ? RemoteUtils.loadProps( args[args.length - 1] ) : new Properties();
 
         int port;
         try
         {
             port = Integer.parseInt( prop.getProperty( "registry.port" ) );
         }
-        catch ( NumberFormatException ex )
+        catch ( final NumberFormatException ex )
         {
             port = Registry.REGISTRY_PORT;
         }
@@ -397,10 +397,10 @@
         {
             try
             {
-                ICacheServiceAdmin admin = lookupCacheServiceAdmin(prop, port);
+                final ICacheServiceAdmin admin = lookupCacheServiceAdmin(prop, port);
                 admin.shutdown();
             }
-            catch ( Exception ex )
+            catch ( final Exception ex )
             {
                 log.error( "Problem calling shutdown.", ex );
             }
@@ -415,19 +415,19 @@
 
             try
             {
-                ICacheServiceAdmin admin = lookupCacheServiceAdmin(prop, port);
+                final ICacheServiceAdmin admin = lookupCacheServiceAdmin(prop, port);
 
                 try
                 {
 //                    System.out.println( admin.getStats().toString() );
                     log.debug( admin.getStats() );
                 }
-                catch ( IOException es )
+                catch ( final IOException es )
                 {
                     log.error( es );
                 }
             }
-            catch ( Exception ex )
+            catch ( final Exception ex )
             {
                 log.error( "Problem getting stats.", ex );
             }
@@ -436,8 +436,8 @@
         }
 
         // startup.
-        String hostName = prop.getProperty( "registry.host" );
-        InetAddress host = InetAddress.getByName(hostName);
+        final String hostName = prop.getProperty( "registry.host" );
+        final InetAddress host = InetAddress.getByName(hostName);
 
         if (host.isLoopbackAddress())
         {
@@ -458,13 +458,13 @@
      *
      * @throws Exception if lookup fails
      */
-    private static ICacheServiceAdmin lookupCacheServiceAdmin(Properties config, int port) throws Exception
+    private static ICacheServiceAdmin lookupCacheServiceAdmin(final Properties config, final int port) throws Exception
     {
-        String remoteServiceName = config.getProperty( REMOTE_CACHE_SERVICE_NAME, REMOTE_CACHE_SERVICE_VAL ).trim();
-        String registry = RemoteUtils.getNamingURL("", port, remoteServiceName);
+        final String remoteServiceName = config.getProperty( REMOTE_CACHE_SERVICE_NAME, REMOTE_CACHE_SERVICE_VAL ).trim();
+        final String registry = RemoteUtils.getNamingURL("", port, remoteServiceName);
 
         log.debug( "looking up server {0}", registry );
-        Object obj = Naming.lookup( registry );
+        final Object obj = Naming.lookup( registry );
         log.debug( "server found" );
 
         return (ICacheServiceAdmin) obj;
@@ -473,7 +473,7 @@
     /**
      * @param serviceName the serviceName to set
      */
-    protected static void setServiceName( String serviceName )
+    protected static void setServiceName( final String serviceName )
     {
         RemoteCacheServerFactory.serviceName = serviceName;
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheStartupServlet.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheStartupServlet.java
index 8dbb1e5..d949047 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheStartupServlet.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheStartupServlet.java
@@ -103,7 +103,7 @@
         super.init();
 
         loadInitParams();
-        Properties props = loadPropertiesFromFile();
+        final Properties props = loadPropertiesFromFile();
 
         if (registryHost == null)
         {
@@ -112,7 +112,7 @@
             {
                 registryHost = HostNameUtil.getLocalHostAddress();
             }
-            catch (UnknownHostException e)
+            catch (final UnknownHostException e)
             {
                 log.error("Could not get local address to use for the registry!", e);
             }
@@ -128,7 +128,7 @@
                         + "be able to use the address to reach this server.", registryHost);
             }
         }
-        catch (UnknownHostException e)
+        catch (final UnknownHostException e)
         {
             throw new ServletException("Could not resolve registry host " + registryHost, e);
         }
@@ -143,7 +143,7 @@
             RemoteCacheServerFactory.startup(registryHost, registryPort, props);
             log.info("Remote JCS Server started with properties from {0}", propsFileName);
         }
-        catch (IOException e)
+        catch (final IOException e)
         {
             throw new ServletException("Problem starting remote cache server.", e);
         }
@@ -159,7 +159,7 @@
      * @throws IOException
      */
     @Override
-    protected void service(HttpServletRequest request, HttpServletResponse response)
+    protected void service(final HttpServletRequest request, final HttpServletResponse response)
             throws ServletException, IOException
     {
         String stats = "";
@@ -168,7 +168,7 @@
         {
             stats = CompositeCacheManager.getInstance().getStats();
         }
-        catch (CacheException e)
+        catch (final CacheException e)
         {
             throw new ServletException(e);
         }
@@ -183,11 +183,11 @@
                 characterEncoding = StandardCharsets.UTF_8.name();
                 response.setCharacterEncoding(characterEncoding);
             }
-            OutputStream os = response.getOutputStream();
+            final OutputStream os = response.getOutputStream();
             os.write(stats.getBytes(characterEncoding));
             os.close();
         }
-        catch (IOException e)
+        catch (final IOException e)
         {
             log.error("Problem writing response.", e);
         }
@@ -207,7 +207,7 @@
         {
             RemoteCacheServerFactory.shutdownImpl(registryHost, registryPort);
         }
-        catch (IOException e)
+        catch (final IOException e)
         {
             log.error("Problem shutting down.", e);
         }
@@ -216,7 +216,7 @@
         {
             CompositeCacheManager.getInstance().shutDown();
         }
-        catch (CacheException e)
+        catch (final CacheException e)
         {
             log.error("Could not retrieve cache manager instance", e);
         }
@@ -235,11 +235,11 @@
             if (props != null)
             {
                 registryHost = props.getProperty("registry.host", registryHost);
-                String portS = props.getProperty("registry.port", String.valueOf(registryPort));
+                final String portS = props.getProperty("registry.port", String.valueOf(registryPort));
                 setRegistryPort(portS);
             }
         }
-        catch (IOException e)
+        catch (final IOException e)
         {
             log.error("Problem loading props.", e);
         }
@@ -252,18 +252,18 @@
      */
     private void loadInitParams()
     {
-        ServletConfig config = getServletConfig();
-        String _propsFileName = config.getInitParameter("propsFileName");
+        final ServletConfig config = getServletConfig();
+        final String _propsFileName = config.getInitParameter("propsFileName");
         if (null != _propsFileName)
         {
             this.propsFileName = _propsFileName;
         }
-        String _registryHost = config.getInitParameter("registryHost");
+        final String _registryHost = config.getInitParameter("registryHost");
         if (null != _registryHost)
         {
             this.registryHost = _registryHost;
         }
-        String regPortString = config.getInitParameter("registryPort");
+        final String regPortString = config.getInitParameter("registryPort");
         if (null != regPortString)
         {
             setRegistryPort(regPortString);
@@ -276,13 +276,13 @@
      *
      * @param portS
      */
-    private void setRegistryPort(String portS)
+    private void setRegistryPort(final String portS)
     {
         try
         {
             this.registryPort = Integer.parseInt(portS);
         }
-        catch (NumberFormatException e)
+        catch (final NumberFormatException e)
         {
             log.error("Problem converting port to an int.", e);
             this.registryPort = DEFAULT_REGISTRY_PORT;
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/TimeoutConfigurableRMISocketFactory.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/TimeoutConfigurableRMISocketFactory.java
index 8ca5b73..277396d 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/TimeoutConfigurableRMISocketFactory.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/TimeoutConfigurableRMISocketFactory.java
@@ -54,7 +54,7 @@
      * @throws IOException
      */
     @Override
-    public ServerSocket createServerSocket( int port )
+    public ServerSocket createServerSocket( final int port )
         throws IOException
     {
         return new ServerSocket( port );
@@ -67,10 +67,10 @@
      * @throws IOException
      */
     @Override
-    public Socket createSocket( String host, int port )
+    public Socket createSocket( final String host, final int port )
         throws IOException
     {
-        Socket socket = new Socket();
+        final Socket socket = new Socket();
         socket.setSoTimeout( readTimeout );
         socket.setSoLinger( false, 0 );
         socket.connect( new InetSocketAddress( host, port ), openTimeout );
@@ -80,7 +80,7 @@
     /**
      * @param readTimeout the readTimeout to set
      */
-    public void setReadTimeout( int readTimeout )
+    public void setReadTimeout( final int readTimeout )
     {
         this.readTimeout = readTimeout;
     }
@@ -96,7 +96,7 @@
     /**
      * @param openTimeout the openTimeout to set
      */
-    public void setOpenTimeout( int openTimeout )
+    public void setOpenTimeout( final int openTimeout )
     {
         this.openTimeout = openTimeout;
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/util/RemoteCacheRequestFactory.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/util/RemoteCacheRequestFactory.java
index 1de2457..97b64ca 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/util/RemoteCacheRequestFactory.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/util/RemoteCacheRequestFactory.java
@@ -43,9 +43,9 @@
      * @param requesterId id of requester
      * @return the request
      */
-    private static <K, V> RemoteCacheRequest<K, V> createRequest(String cacheName, RemoteRequestType requestType, long requesterId)
+    private static <K, V> RemoteCacheRequest<K, V> createRequest(final String cacheName, final RemoteRequestType requestType, final long requesterId)
     {
-        RemoteCacheRequest<K, V> request = new RemoteCacheRequest<>();
+        final RemoteCacheRequest<K, V> request = new RemoteCacheRequest<>();
         request.setCacheName( cacheName );
         request.setRequestType( requestType );
         request.setRequesterId( requesterId );
@@ -63,9 +63,9 @@
      * @param requesterId
      * @return RemoteHttpCacheRequest
      */
-    public static <K, V> RemoteCacheRequest<K, V> createGetRequest( String cacheName, K key, long requesterId )
+    public static <K, V> RemoteCacheRequest<K, V> createGetRequest( final String cacheName, final K key, final long requesterId )
     {
-        RemoteCacheRequest<K, V> request = createRequest(cacheName, RemoteRequestType.GET, requesterId);
+        final RemoteCacheRequest<K, V> request = createRequest(cacheName, RemoteRequestType.GET, requesterId);
         request.setKey( key );
 
         return request;
@@ -79,9 +79,9 @@
      * @param requesterId
      * @return RemoteHttpCacheRequest
      */
-    public static <K, V> RemoteCacheRequest<K, V> createGetMatchingRequest( String cacheName, String pattern, long requesterId )
+    public static <K, V> RemoteCacheRequest<K, V> createGetMatchingRequest( final String cacheName, final String pattern, final long requesterId )
     {
-        RemoteCacheRequest<K, V> request = createRequest(cacheName, RemoteRequestType.GET_MATCHING, requesterId);
+        final RemoteCacheRequest<K, V> request = createRequest(cacheName, RemoteRequestType.GET_MATCHING, requesterId);
         request.setPattern( pattern );
 
         return request;
@@ -95,9 +95,9 @@
      * @param requesterId
      * @return RemoteHttpCacheRequest
      */
-    public static <K, V> RemoteCacheRequest<K, V> createGetMultipleRequest( String cacheName, Set<K> keys, long requesterId )
+    public static <K, V> RemoteCacheRequest<K, V> createGetMultipleRequest( final String cacheName, final Set<K> keys, final long requesterId )
     {
-        RemoteCacheRequest<K, V> request = createRequest(cacheName, RemoteRequestType.GET_MULTIPLE, requesterId);
+        final RemoteCacheRequest<K, V> request = createRequest(cacheName, RemoteRequestType.GET_MULTIPLE, requesterId);
         request.setKeySet(keys);
 
         return request;
@@ -111,9 +111,9 @@
      * @param requesterId
      * @return RemoteHttpCacheRequest
      */
-    public static <K, V> RemoteCacheRequest<K, V> createRemoveRequest( String cacheName, K key, long requesterId )
+    public static <K, V> RemoteCacheRequest<K, V> createRemoveRequest( final String cacheName, final K key, final long requesterId )
     {
-        RemoteCacheRequest<K, V> request = createRequest(cacheName, RemoteRequestType.REMOVE, requesterId);
+        final RemoteCacheRequest<K, V> request = createRequest(cacheName, RemoteRequestType.REMOVE, requesterId);
         request.setKey( key );
 
         return request;
@@ -126,9 +126,9 @@
      * @param requesterId
      * @return RemoteHttpCacheRequest
      */
-    public static RemoteCacheRequest<String, String> createGetKeySetRequest( String cacheName, long requesterId )
+    public static RemoteCacheRequest<String, String> createGetKeySetRequest( final String cacheName, final long requesterId )
     {
-        RemoteCacheRequest<String, String> request = createRequest(cacheName, RemoteRequestType.GET_KEYSET, requesterId);
+        final RemoteCacheRequest<String, String> request = createRequest(cacheName, RemoteRequestType.GET_KEYSET, requesterId);
         request.setKey( cacheName );
 
         return request;
@@ -141,9 +141,9 @@
      * @param requesterId
      * @return RemoteHttpCacheRequest
      */
-    public static <K, V> RemoteCacheRequest<K, V> createRemoveAllRequest( String cacheName, long requesterId )
+    public static <K, V> RemoteCacheRequest<K, V> createRemoveAllRequest( final String cacheName, final long requesterId )
     {
-        RemoteCacheRequest<K, V> request = createRequest(cacheName, RemoteRequestType.REMOVE_ALL, requesterId);
+        final RemoteCacheRequest<K, V> request = createRequest(cacheName, RemoteRequestType.REMOVE_ALL, requesterId);
 
         return request;
     }
@@ -155,9 +155,9 @@
      * @param requesterId
      * @return RemoteHttpCacheRequest
      */
-    public static <K, V> RemoteCacheRequest<K, V> createDisposeRequest( String cacheName, long requesterId )
+    public static <K, V> RemoteCacheRequest<K, V> createDisposeRequest( final String cacheName, final long requesterId )
     {
-        RemoteCacheRequest<K, V> request = createRequest(cacheName, RemoteRequestType.DISPOSE, requesterId);
+        final RemoteCacheRequest<K, V> request = createRequest(cacheName, RemoteRequestType.DISPOSE, requesterId);
 
         return request;
     }
@@ -169,9 +169,9 @@
      * @param requesterId
      * @return RemoteHttpCacheRequest
      */
-    public static <K, V> RemoteCacheRequest<K, V> createUpdateRequest( ICacheElement<K, V> cacheElement, long requesterId )
+    public static <K, V> RemoteCacheRequest<K, V> createUpdateRequest( final ICacheElement<K, V> cacheElement, final long requesterId )
     {
-        RemoteCacheRequest<K, V> request = createRequest(null, RemoteRequestType.UPDATE, requesterId);
+        final RemoteCacheRequest<K, V> request = createRequest(null, RemoteRequestType.UPDATE, requesterId);
         if ( cacheElement != null )
         {
             request.setCacheName( cacheElement.getCacheName() );
@@ -192,9 +192,9 @@
      * @param requesterId
      * @return RemoteHttpCacheRequest
      */
-    public static <K, V> RemoteCacheRequest<K, V> createAliveCheckRequest( long requesterId )
+    public static <K, V> RemoteCacheRequest<K, V> createAliveCheckRequest( final long requesterId )
     {
-        RemoteCacheRequest<K, V> request = createRequest(null, RemoteRequestType.ALIVE_CHECK, requesterId);
+        final RemoteCacheRequest<K, V> request = createRequest(null, RemoteRequestType.ALIVE_CHECK, requesterId);
 
         return request;
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/value/RemoteCacheRequest.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/value/RemoteCacheRequest.java
index 0eb378a..fdb903f 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/value/RemoteCacheRequest.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/value/RemoteCacheRequest.java
@@ -60,7 +60,7 @@
     /**
      * @param requestType the requestType to set
      */
-    public void setRequestType( RemoteRequestType requestType )
+    public void setRequestType( final RemoteRequestType requestType )
     {
         this.requestType = requestType;
     }
@@ -76,7 +76,7 @@
     /**
      * @param cacheName the cacheName to set
      */
-    public void setCacheName( String cacheName )
+    public void setCacheName( final String cacheName )
     {
         this.cacheName = cacheName;
     }
@@ -92,7 +92,7 @@
     /**
      * @param key the key to set
      */
-    public void setKey( K key )
+    public void setKey( final K key )
     {
         this.key = key;
     }
@@ -108,7 +108,7 @@
     /**
      * @param pattern the pattern to set
      */
-    public void setPattern( String pattern )
+    public void setPattern( final String pattern )
     {
         this.pattern = pattern;
     }
@@ -124,7 +124,7 @@
     /**
      * @param cacheElement the cacheElement to set
      */
-    public void setCacheElement( ICacheElement<K, V> cacheElement )
+    public void setCacheElement( final ICacheElement<K, V> cacheElement )
     {
         this.cacheElement = cacheElement;
     }
@@ -140,7 +140,7 @@
     /**
      * @param requesterId the requesterId to set
      */
-    public void setRequesterId( long requesterId )
+    public void setRequesterId( final long requesterId )
     {
         this.requesterId = requesterId;
     }
@@ -156,7 +156,7 @@
     /**
      * @param keySet the keySet to set
      */
-    public void setKeySet( Set<K> keySet )
+    public void setKeySet( final Set<K> keySet )
     {
         this.keySet = keySet;
     }
@@ -173,7 +173,7 @@
     @Override
     public String toString()
     {
-        StringBuilder buf = new StringBuilder();
+        final StringBuilder buf = new StringBuilder();
         buf.append( "\nRemoteHttpCacheRequest" );
         buf.append( "\n requesterId [" + getRequesterId() + "]" );
         buf.append( "\n requestType [" + getRequestType() + "]" );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/value/RemoteCacheResponse.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/value/RemoteCacheResponse.java
index 0b346c5..924c9ce 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/value/RemoteCacheResponse.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/value/RemoteCacheResponse.java
@@ -46,7 +46,7 @@
     /**
      * @param success the success to set
      */
-    public void setSuccess( boolean success )
+    public void setSuccess( final boolean success )
     {
         this.success = success;
     }
@@ -62,7 +62,7 @@
     /**
      * @param errorMessage the errorMessage to set
      */
-    public void setErrorMessage( String errorMessage )
+    public void setErrorMessage( final String errorMessage )
     {
         this.errorMessage = errorMessage;
     }
@@ -78,7 +78,7 @@
     /**
      * @param payload the payload to set
      */
-    public void setPayload( T payload )
+    public void setPayload( final T payload )
     {
         this.payload = payload;
     }
@@ -95,7 +95,7 @@
     @Override
     public String toString()
     {
-        StringBuilder buf = new StringBuilder();
+        final StringBuilder buf = new StringBuilder();
         buf.append( "\nRemoteHttpCacheResponse" );
         buf.append( "\n success [" + isSuccess() + "]" );
         buf.append( "\n payload [" + getPayload() + "]" );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/AbstractCacheEventQueue.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/AbstractCacheEventQueue.java
index c0eaba3..48f28f4 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/AbstractCacheEventQueue.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/AbstractCacheEventQueue.java
@@ -85,7 +85,7 @@
      * <p>
      * @param wtdm the ms for the q to sit idle.
      */
-    public void setWaitToDieMillis( int wtdm )
+    public void setWaitToDieMillis( final int wtdm )
     {
         waitToDieMillis = wtdm;
     }
@@ -127,8 +127,8 @@
      * @param maxFailure
      * @param waitBeforeRetry
      */
-    protected void initialize( ICacheListener<K, V> listener, long listenerId, String cacheName, int maxFailure,
-                            int waitBeforeRetry)
+    protected void initialize( final ICacheListener<K, V> listener, final long listenerId, final String cacheName, final int maxFailure,
+                            final int waitBeforeRetry)
     {
         if ( listener == null )
         {
@@ -152,7 +152,7 @@
      * @throws IOException
      */
     @Override
-    public void addPutEvent( ICacheElement<K, V> ce )
+    public void addPutEvent( final ICacheElement<K, V> ce )
     {
         put( new PutEvent( ce ) );
     }
@@ -165,7 +165,7 @@
      * @throws IOException
      */
     @Override
-    public void addRemoveEvent( K key )
+    public void addRemoveEvent( final K key )
     {
         put( new RemoveEvent( key ) );
     }
@@ -219,7 +219,7 @@
             {
                 doRun();
             }
-            catch ( IOException e )
+            catch ( final IOException e )
             {
                 log.warn( e );
                 if ( ++failures >= maxFailure )
@@ -237,7 +237,7 @@
                     Thread.sleep( waitBeforeRetry );
                     run();
                 }
-                catch ( InterruptedException ie )
+                catch ( final InterruptedException ie )
                 {
                     log.warn( "Interrupted while sleeping for retry on event "
                             + "{0}.", this );
@@ -269,7 +269,7 @@
          * <p>
          * @param ice
          */
-        PutEvent( ICacheElement<K, V> ice )
+        PutEvent( final ICacheElement<K, V> ice )
         {
             this.ice = ice;
         }
@@ -319,7 +319,7 @@
          * <p>
          * @param key
          */
-        RemoveEvent( K key )
+        RemoveEvent( final K key )
         {
             this.key = key;
         }
@@ -430,7 +430,7 @@
      * <p>
      * @param b
      */
-    public void setWorking( boolean b )
+    public void setWorking( final boolean b )
     {
         working.set(b);
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheAdaptor.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheAdaptor.java
index 60d5604..8b43b9d 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheAdaptor.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheAdaptor.java
@@ -46,7 +46,7 @@
      * @throws IOException
      */
     @Override
-    public void setListenerId( long id )
+    public void setListenerId( final long id )
         throws IOException
     {
         this.listenerId = id;
@@ -70,7 +70,7 @@
      * <p>
      * @param cache
      */
-    public CacheAdaptor( ICache<K, V> cache )
+    public CacheAdaptor( final ICache<K, V> cache )
     {
         this.cache = cache;
     }
@@ -82,14 +82,14 @@
      * @throws IOException
      */
     @Override
-    public void handlePut( ICacheElement<K, V> item )
+    public void handlePut( final ICacheElement<K, V> item )
         throws IOException
     {
         try
         {
             cache.update( item );
         }
-        catch ( IOException e )
+        catch ( final IOException e )
         {
             // swallow
         }
@@ -103,7 +103,7 @@
      * @throws IOException
      */
     @Override
-    public void handleRemove( String cacheName, K key )
+    public void handleRemove( final String cacheName, final K key )
         throws IOException
     {
         cache.remove( key );
@@ -116,7 +116,7 @@
      * @throws IOException
      */
     @Override
-    public void handleRemoveAll( String cacheName )
+    public void handleRemoveAll( final String cacheName )
         throws IOException
     {
         cache.removeAll();
@@ -129,7 +129,7 @@
      * @throws IOException
      */
     @Override
-    public void handleDispose( String cacheName )
+    public void handleDispose( final String cacheName )
         throws IOException
     {
         cache.dispose();
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheElement.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheElement.java
index ab37c6e..519026c 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheElement.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheElement.java
@@ -55,7 +55,7 @@
      * @param key
      * @param val
      */
-    public CacheElement( String cacheName, K key, V val )
+    public CacheElement( final String cacheName, final K key, final V val )
     {
         this.cacheName = cacheName;
         this.key = key;
@@ -70,7 +70,7 @@
      * @param val
      * @param attrArg
      */
-    public CacheElement( String cacheName, K key, V val, IElementAttributes attrArg )
+    public CacheElement( final String cacheName, final K key, final V val, final IElementAttributes attrArg )
     {
         this(cacheName, key, val);
         this.attr = attrArg;
@@ -116,7 +116,7 @@
      *            The new IElementAttributes value
      */
     @Override
-    public void setElementAttributes( IElementAttributes attr )
+    public void setElementAttributes( final IElementAttributes attr )
     {
         this.attr = attr;
     }
@@ -144,7 +144,7 @@
      * @return true if this object key equals the key of obj
      */
     @Override
-    public boolean equals(Object obj)
+    public boolean equals(final Object obj)
     {
         if (this == obj)
         {
@@ -154,7 +154,7 @@
         {
             return false;
         }
-        CacheElement<?,?> other = (CacheElement<?,?>) obj;
+        final CacheElement<?,?> other = (CacheElement<?,?>) obj;
         return Objects.equals(key, other.key);
     }
 
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheElementSerialized.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheElementSerialized.java
index c1b0bdc..17788ba 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheElementSerialized.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheElementSerialized.java
@@ -43,8 +43,8 @@
      * @param serializedValueArg
      * @param elementAttributesArg
      */
-    public CacheElementSerialized( String cacheNameArg, K keyArg, byte[] serializedValueArg,
-                                   IElementAttributes elementAttributesArg )
+    public CacheElementSerialized( final String cacheNameArg, final K keyArg, final byte[] serializedValueArg,
+                                   final IElementAttributes elementAttributesArg )
     {
         super(cacheNameArg, keyArg, null, elementAttributesArg);
         this.serializedValue = serializedValueArg;
@@ -65,7 +65,7 @@
     @Override
     public String toString()
     {
-        StringBuilder buf = new StringBuilder();
+        final StringBuilder buf = new StringBuilder();
         buf.append( "\n CacheElementSerialized: " );
         buf.append( "\n CacheName = [" + getCacheName() + "]" );
         buf.append( "\n Key = [" + getKey() + "]" );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheEventQueue.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheEventQueue.java
index f764981..2cb18b3 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheEventQueue.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheEventQueue.java
@@ -40,7 +40,7 @@
      * @param listenerId
      * @param cacheName
      */
-    public CacheEventQueue( ICacheListener<K, V> listener, long listenerId, String cacheName )
+    public CacheEventQueue( final ICacheListener<K, V> listener, final long listenerId, final String cacheName )
     {
         this( listener, listenerId, cacheName, 10, 500 );
     }
@@ -54,8 +54,8 @@
      * @param maxFailure
      * @param waitBeforeRetry
      */
-    public CacheEventQueue( ICacheListener<K, V> listener, long listenerId, String cacheName, int maxFailure,
-                            int waitBeforeRetry )
+    public CacheEventQueue( final ICacheListener<K, V> listener, final long listenerId, final String cacheName, final int maxFailure,
+                            final int waitBeforeRetry )
     {
         super( listener, listenerId, cacheName, maxFailure, waitBeforeRetry, null );
     }
@@ -71,8 +71,8 @@
      * @param threadPoolName
      */
     @Override
-    protected void initialize( ICacheListener<K, V> listener, long listenerId, String cacheName, int maxFailure,
-                            int waitBeforeRetry, String threadPoolName )
+    protected void initialize( final ICacheListener<K, V> listener, final long listenerId, final String cacheName, final int maxFailure,
+                            final int waitBeforeRetry, final String threadPoolName )
     {
         super.initialize(listener, listenerId, cacheName, maxFailure, waitBeforeRetry);
 
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheEventQueueFactory.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheEventQueueFactory.java
index a89a060..31df019 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheEventQueueFactory.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheEventQueueFactory.java
@@ -45,8 +45,8 @@
      * @param poolType - SINGLE, POOLED
      * @return ICacheEventQueue
      */
-    public ICacheEventQueue<K, V> createCacheEventQueue( ICacheListener<K, V> listener, long listenerId, String cacheName,
-                                                   String threadPoolName, ICacheEventQueue.QueueType poolType )
+    public ICacheEventQueue<K, V> createCacheEventQueue( final ICacheListener<K, V> listener, final long listenerId, final String cacheName,
+                                                   final String threadPoolName, final ICacheEventQueue.QueueType poolType )
     {
         return createCacheEventQueue( listener, listenerId, cacheName, 10, 500, threadPoolName, poolType );
     }
@@ -63,9 +63,9 @@
      * @param poolType single or pooled
      * @return ICacheEventQueue
      */
-    public ICacheEventQueue<K, V> createCacheEventQueue( ICacheListener<K, V> listener, long listenerId, String cacheName,
-                                                   int maxFailure, int waitBeforeRetry, String threadPoolName,
-                                                   ICacheEventQueue.QueueType poolType )
+    public ICacheEventQueue<K, V> createCacheEventQueue( final ICacheListener<K, V> listener, final long listenerId, final String cacheName,
+                                                   final int maxFailure, final int waitBeforeRetry, final String threadPoolName,
+                                                   final ICacheEventQueue.QueueType poolType )
     {
         log.debug( "threadPoolName = [{0}] poolType = {1}", threadPoolName, poolType );
 
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheGroup.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheGroup.java
index 40d4564..64fb357 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheGroup.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheGroup.java
@@ -41,7 +41,7 @@
      * @param attr
      *            The new attributes value
      */
-    public void setElementAttributes( IElementAttributes attr )
+    public void setElementAttributes( final IElementAttributes attr )
     {
         this.attr = attr;
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheListeners.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheListeners.java
index 14a5b98..2b7563d 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheListeners.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheListeners.java
@@ -43,7 +43,7 @@
      * <p>
      * @param cache
      */
-    public CacheListeners( ICache<K, V> cache )
+    public CacheListeners( final ICache<K, V> cache )
     {
         if ( cache == null )
         {
@@ -56,7 +56,7 @@
     @Override
     public String toString()
     {
-        StringBuilder buffer = new StringBuilder();
+        final StringBuilder buffer = new StringBuilder();
         buffer.append( "\n CacheListeners" );
         if ( cache != null )
         {
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheWatchRepairable.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheWatchRepairable.java
index bc41de7..2b89af6 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheWatchRepairable.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheWatchRepairable.java
@@ -55,13 +55,13 @@
      * <p>
      * @param cacheWatch The new cacheWatch value
      */
-    public void setCacheWatch( ICacheObserver cacheWatch )
+    public void setCacheWatch( final ICacheObserver cacheWatch )
     {
         this.cacheWatch = cacheWatch;
-        for (Map.Entry<String, Set<ICacheListener<?, ?>>> entry : cacheMap.entrySet())
+        for (final Map.Entry<String, Set<ICacheListener<?, ?>>> entry : cacheMap.entrySet())
         {
-            String cacheName = entry.getKey();
-            for (ICacheListener<?, ?> listener : entry.getValue())
+            final String cacheName = entry.getKey();
+            for (final ICacheListener<?, ?> listener : entry.getValue())
             {
                 try
                 {
@@ -69,7 +69,7 @@
                             + "{0} | ICacheObserver = {1}", listener, cacheWatch );
                     cacheWatch.addCacheListener( cacheName, listener );
                 }
-                catch ( IOException ex )
+                catch ( final IOException ex )
                 {
                     log.error( "Problem adding listener. ICacheListener = {0} | "
                             + "ICacheObserver = {1}", listener, cacheWatch, ex );
@@ -86,12 +86,12 @@
      * @throws IOException
      */
     @Override
-    public <K, V> void addCacheListener( String cacheName, ICacheListener<K, V> obj )
+    public <K, V> void addCacheListener( final String cacheName, final ICacheListener<K, V> obj )
         throws IOException
     {
         // Record the added cache listener locally, regardless of whether the
         // remote add-listener operation succeeds or fails.
-        Set<ICacheListener<?, ?>> listenerSet = cacheMap.computeIfAbsent(cacheName, key -> new CopyOnWriteArraySet<>());
+        final Set<ICacheListener<?, ?>> listenerSet = cacheMap.computeIfAbsent(cacheName, key -> new CopyOnWriteArraySet<>());
 
         listenerSet.add( obj );
 
@@ -108,12 +108,12 @@
      * @throws IOException
      */
     @Override
-    public <K, V> void addCacheListener( ICacheListener<K, V> obj )
+    public <K, V> void addCacheListener( final ICacheListener<K, V> obj )
         throws IOException
     {
         // Record the added cache listener locally, regardless of whether the
         // remote add-listener operation succeeds or fails.
-        for (Set<ICacheListener<?, ?>> listenerSet : cacheMap.values())
+        for (final Set<ICacheListener<?, ?>> listenerSet : cacheMap.values())
         {
             listenerSet.add( obj );
         }
@@ -131,13 +131,13 @@
      * @throws IOException
      */
     @Override
-    public <K, V> void removeCacheListener( String cacheName, ICacheListener<K, V> obj )
+    public <K, V> void removeCacheListener( final String cacheName, final ICacheListener<K, V> obj )
         throws IOException
     {
         log.info( "removeCacheListener, cacheName [{0}]", cacheName );
         // Record the removal locally, regardless of whether the remote
         // remove-listener operation succeeds or fails.
-        Set<ICacheListener<?, ?>> listenerSet = cacheMap.get( cacheName );
+        final Set<ICacheListener<?, ?>> listenerSet = cacheMap.get( cacheName );
         if ( listenerSet != null )
         {
             listenerSet.remove( obj );
@@ -150,14 +150,14 @@
      * @throws IOException
      */
     @Override
-    public <K, V> void removeCacheListener( ICacheListener<K, V> obj )
+    public <K, V> void removeCacheListener( final ICacheListener<K, V> obj )
         throws IOException
     {
         log.info( "removeCacheListener, ICacheListener [{0}]", obj );
 
         // Record the removal locally, regardless of whether the remote
         // remove-listener operation succeeds or fails.
-        for (Set<ICacheListener<?, ?>> listenerSet : cacheMap.values())
+        for (final Set<ICacheListener<?, ?>> listenerSet : cacheMap.values())
         {
             log.debug( "Before removing [{0}] the listenerSet = {1}", obj,
                     listenerSet );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CompositeCacheAttributes.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CompositeCacheAttributes.java
index 2a29e5e..f98df33 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CompositeCacheAttributes.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CompositeCacheAttributes.java
@@ -115,7 +115,7 @@
      * @param maxObjs The new maxObjects value
      */
     @Override
-    public void setMaxObjects( int maxObjs )
+    public void setMaxObjects( final int maxObjs )
     {
         this.maxObjs = maxObjs;
     }
@@ -137,7 +137,7 @@
      * @param useDisk The new useDisk value
      */
     @Override
-    public void setUseDisk( boolean useDisk )
+    public void setUseDisk( final boolean useDisk )
     {
         this.useDisk = useDisk;
     }
@@ -159,7 +159,7 @@
      * @param b The new useLateral value
      */
     @Override
-    public void setUseLateral( boolean b )
+    public void setUseLateral( final boolean b )
     {
         this.useLateral = b;
     }
@@ -181,7 +181,7 @@
      * @param useRemote The new useRemote value
      */
     @Override
-    public void setUseRemote( boolean useRemote )
+    public void setUseRemote( final boolean useRemote )
     {
         this.useRemote = useRemote;
     }
@@ -203,7 +203,7 @@
      * @param s The new cacheName value
      */
     @Override
-    public void setCacheName( String s )
+    public void setCacheName( final String s )
     {
         this.cacheName = s;
     }
@@ -225,7 +225,7 @@
      * @param s The new memoryCacheName value
      */
     @Override
-    public void setMemoryCacheName( String s )
+    public void setMemoryCacheName( final String s )
     {
         this.memoryCacheName = s;
     }
@@ -247,7 +247,7 @@
      * @param useShrinker The new UseMemoryShrinker value
      */
     @Override
-    public void setUseMemoryShrinker( boolean useShrinker )
+    public void setUseMemoryShrinker( final boolean useShrinker )
     {
         this.useMemoryShrinker = useShrinker;
     }
@@ -269,7 +269,7 @@
      * @param seconds The new MaxMemoryIdleTimeSeconds value
      */
     @Override
-    public void setMaxMemoryIdleTimeSeconds( long seconds )
+    public void setMaxMemoryIdleTimeSeconds( final long seconds )
     {
         this.maxMemoryIdleTimeSeconds = seconds;
     }
@@ -292,7 +292,7 @@
      * @param seconds The new ShrinkerIntervalSeconds value
      */
     @Override
-    public void setShrinkerIntervalSeconds( long seconds )
+    public void setShrinkerIntervalSeconds( final long seconds )
     {
         this.shrinkerIntervalSeconds = seconds;
     }
@@ -318,7 +318,7 @@
      * @param maxSpoolPerRun The new maxSpoolPerRun value
      */
     @Override
-    public void setMaxSpoolPerRun( int maxSpoolPerRun )
+    public void setMaxSpoolPerRun( final int maxSpoolPerRun )
     {
         this.maxSpoolPerRun = maxSpoolPerRun;
     }
@@ -341,7 +341,7 @@
      * @param diskUsagePattern The diskUsagePattern to set.
      */
     @Override
-    public void setDiskUsagePattern( DiskUsagePattern diskUsagePattern )
+    public void setDiskUsagePattern( final DiskUsagePattern diskUsagePattern )
     {
         this.diskUsagePattern = diskUsagePattern;
     }
@@ -354,11 +354,11 @@
      * @param diskUsagePatternName The diskUsagePattern to set.
      */
     @Override
-    public void setDiskUsagePatternName( String diskUsagePatternName )
+    public void setDiskUsagePatternName( final String diskUsagePatternName )
     {
         if ( diskUsagePatternName != null )
         {
-            String name = diskUsagePatternName.toUpperCase().trim();
+            final String name = diskUsagePatternName.toUpperCase().trim();
             if ( name.startsWith( "SWAP" ) )
             {
                 this.setDiskUsagePattern( DiskUsagePattern.SWAP );
@@ -387,7 +387,7 @@
      * @param spoolChunkSize
      */
     @Override
-    public void setSpoolChunkSize( int spoolChunkSize )
+    public void setSpoolChunkSize( final int spoolChunkSize )
     {
         this.spoolChunkSize = spoolChunkSize;
     }
@@ -409,7 +409,7 @@
     @Override
     public String toString()
     {
-        StringBuilder dump = new StringBuilder();
+        final StringBuilder dump = new StringBuilder();
 
         dump.append( "[ " );
         dump.append( "useLateral = " ).append( useLateral );
@@ -434,7 +434,7 @@
         {
             return (ICompositeCacheAttributes)super.clone();
         }
-        catch (CloneNotSupportedException e)
+        catch (final CloneNotSupportedException e)
         {
             throw new RuntimeException("Clone not supported. This should never happen.", e);
         }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/ElementAttributes.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/ElementAttributes.java
index 077fc9c..badc117 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/ElementAttributes.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/ElementAttributes.java
@@ -101,7 +101,7 @@
      * <p>
      * @param attr
      */
-    protected ElementAttributes( ElementAttributes attr )
+    protected ElementAttributes( final ElementAttributes attr )
     {
         IS_ETERNAL = attr.IS_ETERNAL;
 
@@ -126,7 +126,7 @@
      * @param mls The new MaxLifeSeconds value
      */
     @Override
-    public void setMaxLife(long mls)
+    public void setMaxLife(final long mls)
     {
         this.maxLife = mls;
     }
@@ -154,7 +154,7 @@
      * @param idle The new idleTime value
      */
     @Override
-    public void setIdleTime( long idle )
+    public void setIdleTime( final long idle )
     {
         this.maxIdleTime = idle;
     }
@@ -166,7 +166,7 @@
      * @param size The new size value
      */
     @Override
-    public void setSize( int size )
+    public void setSize( final int size )
     {
         this.size = size;
     }
@@ -253,7 +253,7 @@
     /**
      * only for use from test code
      */
-    public void setLastAccessTime(long time)
+    public void setLastAccessTime(final long time)
     {
         this.lastAccessTime = time;
     }
@@ -277,7 +277,7 @@
      * @param val The new isSpool value
      */
     @Override
-    public void setIsSpool( boolean val )
+    public void setIsSpool( final boolean val )
     {
         this.IS_SPOOL = val;
     }
@@ -301,7 +301,7 @@
      * @param val The new isLateral value
      */
     @Override
-    public void setIsLateral( boolean val )
+    public void setIsLateral( final boolean val )
     {
         this.IS_LATERAL = val;
     }
@@ -321,7 +321,7 @@
      * @param val The new isRemote value
      */
     @Override
-    public void setIsRemote( boolean val )
+    public void setIsRemote( final boolean val )
     {
         this.IS_REMOTE = val;
     }
@@ -345,7 +345,7 @@
      * @param val The new isEternal value
      */
     @Override
-    public void setIsEternal( boolean val )
+    public void setIsEternal( final boolean val )
     {
         this.IS_ETERNAL = val;
     }
@@ -360,7 +360,7 @@
      * @param eventHandler The ElementEventHandler to be added to the list.
      */
     @Override
-    public void addElementEventHandler( IElementEventHandler eventHandler )
+    public void addElementEventHandler( final IElementEventHandler eventHandler )
     {
         // lazy here, no concurrency problems expected
         if ( this.eventHandlers == null )
@@ -379,14 +379,14 @@
      * @param eventHandlers List of IElementEventHandler objects
      */
     @Override
-    public void addElementEventHandlers( List<IElementEventHandler> eventHandlers )
+    public void addElementEventHandlers( final List<IElementEventHandler> eventHandlers )
     {
         if ( eventHandlers == null )
         {
             return;
         }
 
-        for (IElementEventHandler handler : eventHandlers)
+        for (final IElementEventHandler handler : eventHandlers)
         {
             addElementEventHandler(handler);
         }
@@ -399,7 +399,7 @@
     }
 
     @Override
-    public void setTimeFactorForMilliseconds(long factor)
+    public void setTimeFactorForMilliseconds(final long factor)
     {
         this.timeFactor = factor;
     }
@@ -423,7 +423,7 @@
     @Override
     public String toString()
     {
-        StringBuilder dump = new StringBuilder();
+        final StringBuilder dump = new StringBuilder();
 
         dump.append( "[ IS_LATERAL = " ).append( IS_LATERAL );
         dump.append( ", IS_SPOOL = " ).append( IS_SPOOL );
@@ -447,11 +447,11 @@
     {
         try
         {
-        	ElementAttributes c = (ElementAttributes) super.clone();
+        	final ElementAttributes c = (ElementAttributes) super.clone();
         	c.setCreateTime();
             return c;
         }
-        catch (CloneNotSupportedException e)
+        catch (final CloneNotSupportedException e)
         {
             throw new RuntimeException("Clone not supported. This should never happen.", e);
         }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/PooledCacheEventQueue.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/PooledCacheEventQueue.java
index 5fdfc0d..0e86b49 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/PooledCacheEventQueue.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/PooledCacheEventQueue.java
@@ -68,8 +68,8 @@
      * @param waitBeforeRetry
      * @param threadPoolName
      */
-    public PooledCacheEventQueue( ICacheListener<K, V> listener, long listenerId, String cacheName, int maxFailure,
-                                  int waitBeforeRetry, String threadPoolName )
+    public PooledCacheEventQueue( final ICacheListener<K, V> listener, final long listenerId, final String cacheName, final int maxFailure,
+                                  final int waitBeforeRetry, final String threadPoolName )
     {
         initialize( listener, listenerId, cacheName, maxFailure, waitBeforeRetry, threadPoolName );
     }
@@ -84,8 +84,8 @@
      * @param waitBeforeRetry
      * @param threadPoolName
      */
-    protected void initialize( ICacheListener<K, V> listener, long listenerId, String cacheName, int maxFailure,
-                            int waitBeforeRetry, String threadPoolName )
+    protected void initialize( final ICacheListener<K, V> listener, final long listenerId, final String cacheName, final int maxFailure,
+                            final int waitBeforeRetry, final String threadPoolName )
     {
         super.initialize(listener, listenerId, cacheName, maxFailure, waitBeforeRetry);
 
@@ -128,7 +128,7 @@
      * @param event
      */
     @Override
-    protected void put( AbstractCacheEvent event )
+    protected void put( final AbstractCacheEvent event )
     {
         pool.execute( event );
     }
@@ -139,10 +139,10 @@
     @Override
     public IStats getStatistics()
     {
-        IStats stats = new Stats();
+        final IStats stats = new Stats();
         stats.setTypeName( "Pooled Cache Event Queue" );
 
-        ArrayList<IStatElement<?>> elems = new ArrayList<>();
+        final ArrayList<IStatElement<?>> elems = new ArrayList<>();
 
         elems.add(new StatElement<>( "Working", Boolean.valueOf(isWorking()) ) );
         elems.add(new StatElement<>( "Empty", Boolean.valueOf(this.isEmpty()) ) );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/ZombieCacheService.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/ZombieCacheService.java
index 5f4ac84..d27bb40 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/ZombieCacheService.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/ZombieCacheService.java
@@ -42,7 +42,7 @@
     /**
      * @param item
      */
-    public void put( ICacheElement<K, V> item )
+    public void put( final ICacheElement<K, V> item )
     {
         log.debug( "Zombie put for item {0}", item );
         // zombies have no inner life
@@ -54,7 +54,7 @@
      * @param item
      */
     @Override
-    public void update( ICacheElement<K, V> item )
+    public void update( final ICacheElement<K, V> item )
     {
         // zombies have no inner life
     }
@@ -65,7 +65,7 @@
      * @return null. zombies have no internal data
      */
     @Override
-    public ICacheElement<K, V> get( String cacheName, K key )
+    public ICacheElement<K, V> get( final String cacheName, final K key )
     {
         return null;
     }
@@ -78,7 +78,7 @@
      * @return Collections.EMPTY_MAP
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMultiple( String cacheName, Set<K> keys )
+    public Map<K, ICacheElement<K, V>> getMultiple( final String cacheName, final Set<K> keys )
     {
         return Collections.emptyMap();
     }
@@ -91,7 +91,7 @@
      * @return Collections.EMPTY_MAP
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMatching( String cacheName, String pattern )
+    public Map<K, ICacheElement<K, V>> getMatching( final String cacheName, final String pattern )
     {
         return Collections.emptyMap();
     }
@@ -104,7 +104,7 @@
      * @param container
      * @return null always
      */
-    public Serializable get( String cacheName, K key, boolean container )
+    public Serializable get( final String cacheName, final K key, final boolean container )
     {
         log.debug( "Zombie get for key [{0}] cacheName [{1}] container [{2}]",
                 key, cacheName, container);
@@ -117,7 +117,7 @@
      * @param key
      */
     @Override
-    public void remove( String cacheName, K key )
+    public void remove( final String cacheName, final K key )
     {
         // zombies have no inner life
     }
@@ -126,7 +126,7 @@
      * @param cacheName
      */
     @Override
-    public void removeAll( String cacheName )
+    public void removeAll( final String cacheName )
     {
         // zombies have no inner life
     }
@@ -135,7 +135,7 @@
      * @param cacheName
      */
     @Override
-    public void dispose( String cacheName )
+    public void dispose( final String cacheName )
     {
         // zombies have no inner life
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/ZombieCacheServiceNonLocal.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/ZombieCacheServiceNonLocal.java
index 10cd1a7..e312b01 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/ZombieCacheServiceNonLocal.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/ZombieCacheServiceNonLocal.java
@@ -67,7 +67,7 @@
      * <p>
      * @param maxQueueSize
      */
-    public ZombieCacheServiceNonLocal( int maxQueueSize )
+    public ZombieCacheServiceNonLocal( final int maxQueueSize )
     {
         this.maxQueueSize = maxQueueSize;
         queue = new ConcurrentLinkedQueue<>();
@@ -83,7 +83,7 @@
         return queue.size();
     }
 
-    private void addQueue(ZombieEvent event)
+    private void addQueue(final ZombieEvent event)
     {
         queue.add(event);
         if (queue.size() > maxQueueSize)
@@ -99,11 +99,11 @@
      * @param listenerId - identifies the caller.
      */
     @Override
-    public void update( ICacheElement<K, V> item, long listenerId )
+    public void update( final ICacheElement<K, V> item, final long listenerId )
     {
         if ( maxQueueSize > 0 )
         {
-            PutEvent<K, V> event = new PutEvent<>( item, listenerId );
+            final PutEvent<K, V> event = new PutEvent<>( item, listenerId );
             addQueue( event );
         }
         // Zombies have no inner life
@@ -117,11 +117,11 @@
      * @param listenerId - identifies the caller.
      */
     @Override
-    public void remove( String cacheName, K key, long listenerId )
+    public void remove( final String cacheName, final K key, final long listenerId )
     {
         if ( maxQueueSize > 0 )
         {
-            RemoveEvent<K> event = new RemoveEvent<>( cacheName, key, listenerId );
+            final RemoveEvent<K> event = new RemoveEvent<>( cacheName, key, listenerId );
             addQueue( event );
         }
         // Zombies have no inner life
@@ -134,11 +134,11 @@
      * @param listenerId - identifies the caller.
      */
     @Override
-    public void removeAll( String cacheName, long listenerId )
+    public void removeAll( final String cacheName, final long listenerId )
     {
         if ( maxQueueSize > 0 )
         {
-            RemoveAllEvent event = new RemoveAllEvent( cacheName, listenerId );
+            final RemoveAllEvent event = new RemoveAllEvent( cacheName, listenerId );
             addQueue( event );
         }
         // Zombies have no inner life
@@ -154,7 +154,7 @@
      * @throws IOException
      */
     @Override
-    public ICacheElement<K, V> get( String cacheName, K key, long requesterId )
+    public ICacheElement<K, V> get( final String cacheName, final K key, final long requesterId )
         throws IOException
     {
         // Zombies have no inner life
@@ -171,7 +171,7 @@
      * @throws IOException
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMatching( String cacheName, String pattern, long requesterId )
+    public Map<K, ICacheElement<K, V>> getMatching( final String cacheName, final String pattern, final long requesterId )
         throws IOException
     {
         return Collections.emptyMap();
@@ -184,7 +184,7 @@
      * @return an empty map. zombies have no internal data
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMultiple( String cacheName, Set<K> keys, long requesterId )
+    public Map<K, ICacheElement<K, V>> getMultiple( final String cacheName, final Set<K> keys, final long requesterId )
     {
         return new HashMap<>();
     }
@@ -196,7 +196,7 @@
      * @return empty set
      */
     @Override
-    public Set<K> getKeySet( String cacheName )
+    public Set<K> getKeySet( final String cacheName )
     {
         return Collections.emptySet();
     }
@@ -207,28 +207,30 @@
      * @param service
      * @throws Exception
      */
-    public synchronized void propagateEvents( ICacheServiceNonLocal<K, V> service )
+    public synchronized void propagateEvents( final ICacheServiceNonLocal<K, V> service )
         throws Exception
     {
         int cnt = 0;
         log.info( "Propagating events to the new ICacheServiceNonLocal." );
-        ElapsedTimer timer = new ElapsedTimer();
+        final ElapsedTimer timer = new ElapsedTimer();
         while ( !queue.isEmpty() )
         {
             cnt++;
 
             // for each item, call the appropriate service method
-            ZombieEvent event = queue.poll();
+            final ZombieEvent event = queue.poll();
 
             if ( event instanceof PutEvent )
             {
                 @SuppressWarnings("unchecked") // Type checked by instanceof
+                final
                 PutEvent<K, V> putEvent = (PutEvent<K, V>) event;
                 service.update( putEvent.element, event.requesterId );
             }
             else if ( event instanceof RemoveEvent )
             {
                 @SuppressWarnings("unchecked") // Type checked by instanceof
+                final
                 RemoveEvent<K> removeEvent = (RemoveEvent<K>) event;
                 service.remove( event.cacheName, removeEvent.key, event.requesterId );
             }
@@ -267,7 +269,7 @@
          * @param element
          * @param requesterId
          */
-        public PutEvent( ICacheElement<K, V> element, long requesterId )
+        public PutEvent( final ICacheElement<K, V> element, final long requesterId )
         {
             this.requesterId = requesterId;
             this.element = element;
@@ -289,7 +291,7 @@
          * @param key
          * @param requesterId
          */
-        public RemoveEvent( String cacheName, K key, long requesterId )
+        public RemoveEvent( final String cacheName, final K key, final long requesterId )
         {
             this.cacheName = cacheName;
             this.requesterId = requesterId;
@@ -307,7 +309,7 @@
          * @param cacheName
          * @param requesterId
          */
-        public RemoveAllEvent( String cacheName, long requesterId )
+        public RemoveAllEvent( final String cacheName, final long requesterId )
         {
             this.cacheName = cacheName;
             this.requesterId = requesterId;
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/ZombieCacheWatch.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/ZombieCacheWatch.java
index 8fbac80..56c26b6 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/ZombieCacheWatch.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/ZombieCacheWatch.java
@@ -36,7 +36,7 @@
      * @param obj The feature to be added to the CacheListener attribute
      */
     @Override
-    public <K, V> void addCacheListener( String cacheName, ICacheListener<K, V> obj )
+    public <K, V> void addCacheListener( final String cacheName, final ICacheListener<K, V> obj )
     {
         // empty
     }
@@ -47,7 +47,7 @@
      * @param obj The feature to be added to the CacheListener attribute
      */
     @Override
-    public <K, V> void addCacheListener( ICacheListener<K, V> obj )
+    public <K, V> void addCacheListener( final ICacheListener<K, V> obj )
     {
         // empty
     }
@@ -57,7 +57,7 @@
      * @param obj
      */
     @Override
-    public <K, V> void removeCacheListener( String cacheName, ICacheListener<K, V> obj )
+    public <K, V> void removeCacheListener( final String cacheName, final ICacheListener<K, V> obj )
     {
         // empty
     }
@@ -66,7 +66,7 @@
      * @param obj
      */
     @Override
-    public <K, V> void removeCacheListener( ICacheListener<K, V> obj )
+    public <K, V> void removeCacheListener( final ICacheListener<K, V> obj )
     {
         // empty
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/control/CompositeCache.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/control/CompositeCache.java
index 2f52ba0..a7ca90f 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/control/CompositeCache.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/control/CompositeCache.java
@@ -132,7 +132,7 @@
      * @param cattr The cache attribute
      * @param attr The default element attributes
      */
-    public CompositeCache(ICompositeCacheAttributes cattr, IElementAttributes attr)
+    public CompositeCache(final ICompositeCacheAttributes cattr, final IElementAttributes attr)
     {
         this.attr = attr;
         this.cacheAttr = cattr;
@@ -155,7 +155,7 @@
      *
      * @param queue
      */
-    public void setElementEventQueue(IElementEventQueue queue)
+    public void setElementEventQueue(final IElementEventQueue queue)
     {
         this.elementEventQ = queue;
     }
@@ -165,7 +165,7 @@
      *
      * @param manager
      */
-    public void setCompositeCacheManager(CompositeCacheManager manager)
+    public void setCompositeCacheManager(final CompositeCacheManager manager)
     {
         this.cacheManager = manager;
     }
@@ -174,7 +174,7 @@
      * @see org.apache.commons.jcs3.engine.behavior.IRequireScheduler#setScheduledExecutorService(java.util.concurrent.ScheduledExecutorService)
      */
     @Override
-    public void setScheduledExecutorService(ScheduledExecutorService scheduledExecutor)
+    public void setScheduledExecutorService(final ScheduledExecutorService scheduledExecutor)
     {
         if (cacheAttr.isUseMemoryShrinker())
         {
@@ -189,7 +189,7 @@
      * <p>
      * @param auxCaches
      */
-    public void setAuxCaches(AuxiliaryCache<K, V>[] auxCaches)
+    public void setAuxCaches(final AuxiliaryCache<K, V>[] auxCaches)
     {
         this.auxCaches = auxCaches;
     }
@@ -211,7 +211,7 @@
      * @throws IOException
      */
     @Override
-    public void update(ICacheElement<K, V> ce)
+    public void update(final ICacheElement<K, V> ce)
         throws IOException
     {
         update(ce, false);
@@ -223,7 +223,7 @@
      * @param ce
      * @throws IOException
      */
-    public void localUpdate(ICacheElement<K, V> ce)
+    public void localUpdate(final ICacheElement<K, V> ce)
         throws IOException
     {
         update(ce, true);
@@ -237,7 +237,7 @@
      * @param localOnly Whether the operation should be restricted to local auxiliaries.
      * @throws IOException
      */
-    protected void update(ICacheElement<K, V> cacheElement, boolean localOnly)
+    protected void update(final ICacheElement<K, V> cacheElement, final boolean localOnly)
         throws IOException
     {
 
@@ -278,7 +278,7 @@
      * @param localOnly
      * @throws IOException
      */
-    protected void updateAuxiliaries(ICacheElement<K, V> cacheElement, boolean localOnly)
+    protected void updateAuxiliaries(final ICacheElement<K, V> cacheElement, final boolean localOnly)
         throws IOException
     {
         // UPDATE AUXILLIARY CACHES
@@ -295,7 +295,7 @@
             log.debug("No auxiliary cache to update");
         }
 
-        for (ICache<K, V> aux : auxCaches)
+        for (final ICache<K, V> aux : auxCaches)
         {
             if (aux == null)
             {
@@ -321,7 +321,7 @@
                             log.debug("Updated remote store for {0} {1}",
                                     cacheElement.getKey(), cacheElement);
                         }
-                        catch (IOException ex)
+                        catch (final IOException ex)
                         {
                             log.error("Failure in updateExclude", ex);
                         }
@@ -370,7 +370,7 @@
      * <p>
      * @param ce The CacheElement
      */
-    public void spoolToDisk(ICacheElement<K, V> ce)
+    public void spoolToDisk(final ICacheElement<K, V> ce)
     {
         // if the item is not spoolable, return
         if (!ce.getElementAttributes().getIsSpool())
@@ -383,7 +383,7 @@
         boolean diskAvailable = false;
 
         // SPOOL TO DISK.
-        for (ICache<K, V> aux : auxCaches)
+        for (final ICache<K, V> aux : auxCaches)
         {
             if (aux != null && aux.getCacheType() == CacheType.DISK_CACHE)
             {
@@ -397,7 +397,7 @@
                         handleElementEvent(ce, ElementEventType.SPOOLED_DISK_AVAILABLE);
                         aux.update(ce);
                     }
-                    catch (IOException ex)
+                    catch (final IOException ex)
                     {
                         // impossible case.
                         log.error("Problem spooling item to disk cache.", ex);
@@ -429,7 +429,7 @@
      * @see org.apache.commons.jcs3.engine.behavior.ICache#get(Object)
      */
     @Override
-    public ICacheElement<K, V> get(K key)
+    public ICacheElement<K, V> get(final K key)
     {
         return get(key, false);
     }
@@ -440,7 +440,7 @@
      * @param key
      * @return ICacheElement
      */
-    public ICacheElement<K, V> localGet(K key)
+    public ICacheElement<K, V> localGet(final K key)
     {
         return get(key, true);
     }
@@ -456,7 +456,7 @@
      * @param localOnly
      * @return ICacheElement
      */
-    protected ICacheElement<K, V> get(K key, boolean localOnly)
+    protected ICacheElement<K, V> get(final K key, final boolean localOnly)
     {
         ICacheElement<K, V> element = null;
 
@@ -494,11 +494,11 @@
             {
                 // Item not found in memory. If local invocation look in aux
                 // caches, even if not local look in disk auxiliaries
-                for (AuxiliaryCache<K, V> aux : auxCaches)
+                for (final AuxiliaryCache<K, V> aux : auxCaches)
                 {
                     if (aux != null)
                     {
-                        CacheType cacheType = aux.getCacheType();
+                        final CacheType cacheType = aux.getCacheType();
 
                         if (!localOnly || cacheType == CacheType.DISK_CACHE)
                         {
@@ -509,7 +509,7 @@
                             {
                                 element = aux.get(key);
                             }
-                            catch (IOException e)
+                            catch (final IOException e)
                             {
                                 log.error("Error getting from aux", e);
                             }
@@ -550,7 +550,7 @@
                 }
             }
         }
-        catch (IOException e)
+        catch (final IOException e)
         {
             log.error("Problem encountered getting element.", e);
         }
@@ -570,7 +570,7 @@
         return element;
     }
 
-    protected void doExpires(ICacheElement<K, V> element)
+    protected void doExpires(final ICacheElement<K, V> element)
     {
         missCountExpired.incrementAndGet();
         remove(element.getKey());
@@ -584,7 +584,7 @@
      *         data in cache for any of these keys
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMultiple(Set<K> keys)
+    public Map<K, ICacheElement<K, V>> getMultiple(final Set<K> keys)
     {
         return getMultiple(keys, false);
     }
@@ -597,7 +597,7 @@
      * @return a map of K key to ICacheElement&lt;K, V&gt; element, or an empty map if there is no
      *         data in cache for any of these keys
      */
-    public Map<K, ICacheElement<K, V>> localGetMultiple(Set<K> keys)
+    public Map<K, ICacheElement<K, V>> localGetMultiple(final Set<K> keys)
     {
         return getMultiple(keys, true);
     }
@@ -614,9 +614,9 @@
      * @param localOnly
      * @return ICacheElement
      */
-    protected Map<K, ICacheElement<K, V>> getMultiple(Set<K> keys, boolean localOnly)
+    protected Map<K, ICacheElement<K, V>> getMultiple(final Set<K> keys, final boolean localOnly)
     {
-        Map<K, ICacheElement<K, V>> elements = new HashMap<>();
+        final Map<K, ICacheElement<K, V>> elements = new HashMap<>();
 
         log.debug("get: key = {0}, localOnly = {1}", keys, localOnly);
 
@@ -628,11 +628,11 @@
             // If fewer than all items were found in memory, then keep looking.
             if (elements.size() != keys.size())
             {
-                Set<K> remainingKeys = pruneKeysFound(keys, elements);
+                final Set<K> remainingKeys = pruneKeysFound(keys, elements);
                 elements.putAll(getMultipleFromAuxiliaryCaches(remainingKeys, localOnly));
             }
         }
-        catch (IOException e)
+        catch (final IOException e)
         {
             log.error("Problem encountered getting elements.", e);
         }
@@ -656,12 +656,12 @@
      * @return the elements found in the memory cache
      * @throws IOException
      */
-    private Map<K, ICacheElement<K, V>> getMultipleFromMemory(Set<K> keys)
+    private Map<K, ICacheElement<K, V>> getMultipleFromMemory(final Set<K> keys)
         throws IOException
     {
-        Map<K, ICacheElement<K, V>> elementsFromMemory = memCache.getMultiple(keys);
+        final Map<K, ICacheElement<K, V>> elementsFromMemory = memCache.getMultiple(keys);
         elementsFromMemory.entrySet().removeIf(entry -> {
-            ICacheElement<K, V> element = entry.getValue();
+            final ICacheElement<K, V> element = entry.getValue();
             if (isExpired(element))
             {
                 log.debug("{0} - Memory cache hit, but element expired",
@@ -691,20 +691,20 @@
      * @return the elements found in the auxiliary caches
      * @throws IOException
      */
-    private Map<K, ICacheElement<K, V>> getMultipleFromAuxiliaryCaches(Set<K> keys, boolean localOnly)
+    private Map<K, ICacheElement<K, V>> getMultipleFromAuxiliaryCaches(final Set<K> keys, final boolean localOnly)
         throws IOException
     {
-        Map<K, ICacheElement<K, V>> elements = new HashMap<>();
+        final Map<K, ICacheElement<K, V>> elements = new HashMap<>();
         Set<K> remainingKeys = new HashSet<>(keys);
 
-        for (AuxiliaryCache<K, V> aux : auxCaches)
+        for (final AuxiliaryCache<K, V> aux : auxCaches)
         {
             if (aux != null)
             {
-                Map<K, ICacheElement<K, V>> elementsFromAuxiliary =
+                final Map<K, ICacheElement<K, V>> elementsFromAuxiliary =
                     new HashMap<>();
 
-                CacheType cacheType = aux.getCacheType();
+                final CacheType cacheType = aux.getCacheType();
 
                 if (!localOnly || cacheType == CacheType.DISK_CACHE)
                 {
@@ -715,7 +715,7 @@
                     {
                         elementsFromAuxiliary.putAll(aux.getMultiple(remainingKeys));
                     }
-                    catch (IOException e)
+                    catch (final IOException e)
                     {
                         log.error("Error getting from aux", e);
                     }
@@ -748,7 +748,7 @@
      *         data in cache for any matching keys
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMatching(String pattern)
+    public Map<K, ICacheElement<K, V>> getMatching(final String pattern)
     {
         return getMatching(pattern, false);
     }
@@ -761,7 +761,7 @@
      * @return a map of K key to ICacheElement&lt;K, V&gt; element, or an empty map if there is no
      *         data in cache for any matching keys
      */
-    public Map<K, ICacheElement<K, V>> localGetMatching(String pattern)
+    public Map<K, ICacheElement<K, V>> localGetMatching(final String pattern)
     {
         return getMatching(pattern, true);
     }
@@ -779,7 +779,7 @@
      * @return a map of K key to ICacheElement&lt;K, V&gt; element, or an empty map if there is no
      *         data in cache for any matching keys
      */
-    protected Map<K, ICacheElement<K, V>> getMatching(String pattern, boolean localOnly)
+    protected Map<K, ICacheElement<K, V>> getMatching(final String pattern, final boolean localOnly)
     {
         log.debug("get: pattern [{0}], localOnly = {1}", pattern, localOnly);
 
@@ -794,7 +794,7 @@
                             // Prefer memory entries
                             (mem, aux) -> mem));
         }
-        catch (IOException e)
+        catch (final IOException e)
         {
             log.error("Problem encountered getting elements.", e);
         }
@@ -811,13 +811,13 @@
      *         data in cache for any matching keys
      * @throws IOException
      */
-    protected Map<K, ICacheElement<K, V>> getMatchingFromMemory(String pattern)
+    protected Map<K, ICacheElement<K, V>> getMatchingFromMemory(final String pattern)
         throws IOException
     {
         // find matches in key array
         // this avoids locking the memory cache, but it uses more memory
-        Set<K> keyArray = memCache.getKeySet();
-        Set<K> matchingKeys = getKeyMatcher().getMatchingKeysFromArray(pattern, keyArray);
+        final Set<K> keyArray = memCache.getKeySet();
+        final Set<K> matchingKeys = getKeyMatcher().getMatchingKeysFromArray(pattern, keyArray);
 
         // call get multiple
         return getMultipleFromMemory(matchingKeys);
@@ -835,21 +835,21 @@
      *         data in cache for any matching keys
      * @throws IOException
      */
-    private Map<K, ICacheElement<K, V>> getMatchingFromAuxiliaryCaches(String pattern, boolean localOnly)
+    private Map<K, ICacheElement<K, V>> getMatchingFromAuxiliaryCaches(final String pattern, final boolean localOnly)
         throws IOException
     {
-        Map<K, ICacheElement<K, V>> elements = new HashMap<>();
+        final Map<K, ICacheElement<K, V>> elements = new HashMap<>();
 
         for (int i = auxCaches.length - 1; i >= 0; i--)
         {
-            AuxiliaryCache<K, V> aux = auxCaches[i];
+            final AuxiliaryCache<K, V> aux = auxCaches[i];
 
             if (aux != null)
             {
-                Map<K, ICacheElement<K, V>> elementsFromAuxiliary =
+                final Map<K, ICacheElement<K, V>> elementsFromAuxiliary =
                     new HashMap<>();
 
-                CacheType cacheType = aux.getCacheType();
+                final CacheType cacheType = aux.getCacheType();
 
                 if (!localOnly || cacheType == CacheType.DISK_CACHE)
                 {
@@ -860,7 +860,7 @@
                     {
                         elementsFromAuxiliary.putAll(aux.getMatching(pattern));
                     }
-                    catch (IOException e)
+                    catch (final IOException e)
                     {
                         log.error("Error getting from aux", e);
                     }
@@ -883,11 +883,11 @@
      * @param elementsFromAuxiliary
      * @throws IOException
      */
-    private void processRetrievedElements(AuxiliaryCache<K, V> aux, Map<K, ICacheElement<K, V>> elementsFromAuxiliary)
+    private void processRetrievedElements(final AuxiliaryCache<K, V> aux, final Map<K, ICacheElement<K, V>> elementsFromAuxiliary)
         throws IOException
     {
         elementsFromAuxiliary.entrySet().removeIf(entry -> {
-            ICacheElement<K, V> element = entry.getValue();
+            final ICacheElement<K, V> element = entry.getValue();
 
             // Item found in one of the auxiliary caches.
             if (element != null)
@@ -915,7 +915,7 @@
                     {
                         copyAuxiliaryRetrievedItemToMemory(element);
                     }
-                    catch (IOException e)
+                    catch (final IOException e)
                     {
                         log.error("{0} failed to copy element to memory {1}",
                                 cacheAttr.getCacheName(), element, e);
@@ -934,7 +934,7 @@
      * @param element
      * @throws IOException
      */
-    private void copyAuxiliaryRetrievedItemToMemory(ICacheElement<K, V> element)
+    private void copyAuxiliaryRetrievedItemToMemory(final ICacheElement<K, V> element)
         throws IOException
     {
         if (memCache.getCacheAttributes().getMaxObjects() > 0)
@@ -955,9 +955,9 @@
      * @return the original set of cache keys, minus any cache keys present in the map keys of the
      *         foundElements map
      */
-    private Set<K> pruneKeysFound(Set<K> keys, Map<K, ICacheElement<K, V>> foundElements)
+    private Set<K> pruneKeysFound(final Set<K> keys, final Map<K, ICacheElement<K, V>> foundElements)
     {
-        Set<K> remainingKeys = new HashSet<>(keys);
+        final Set<K> remainingKeys = new HashSet<>(keys);
         remainingKeys.removeAll(foundElements.keySet());
 
         return remainingKeys;
@@ -980,11 +980,11 @@
      *
      * @return A set of the key type
      */
-    public Set<K> getKeySet(boolean localOnly)
+    public Set<K> getKeySet(final boolean localOnly)
     {
-        HashSet<K> allKeys = new HashSet<>(memCache.getKeySet());
+        final HashSet<K> allKeys = new HashSet<>(memCache.getKeySet());
 
-        for (AuxiliaryCache<K, V> aux : auxCaches)
+        for (final AuxiliaryCache<K, V> aux : auxCaches)
         {
             if (aux != null)
             {
@@ -994,7 +994,7 @@
                     {
                         allKeys.addAll(aux.getKeySet());
                     }
-                    catch (IOException e)
+                    catch (final IOException e)
                     {
                         // ignore
                     }
@@ -1012,7 +1012,7 @@
      * @see org.apache.commons.jcs3.engine.behavior.ICache#remove(Object)
      */
     @Override
-    public boolean remove(K key)
+    public boolean remove(final K key)
     {
         return remove(key, false);
     }
@@ -1023,7 +1023,7 @@
      * @param key
      * @return true if the item was already in the cache.
      */
-    public boolean localRemove(K key)
+    public boolean localRemove(final K key)
     {
         return remove(key, true);
     }
@@ -1045,7 +1045,7 @@
      * @param localOnly
      * @return true if the item was in the cache, else false
      */
-    protected boolean remove(K key, boolean localOnly)
+    protected boolean remove(final K key, final boolean localOnly)
     {
         removeCount.incrementAndGet();
 
@@ -1055,20 +1055,20 @@
         {
             removed = memCache.remove(key);
         }
-        catch (IOException e)
+        catch (final IOException e)
         {
             log.error(e);
         }
 
         // Removes from all auxiliary caches.
-        for (ICache<K, V> aux : auxCaches)
+        for (final ICache<K, V> aux : auxCaches)
         {
             if (aux == null)
             {
                 continue;
             }
 
-            CacheType cacheType = aux.getCacheType();
+            final CacheType cacheType = aux.getCacheType();
 
             // for now let laterals call remote remove but not vice versa
             if (localOnly && (cacheType == CacheType.REMOTE_CACHE || cacheType == CacheType.LATERAL_CACHE))
@@ -1079,7 +1079,7 @@
             {
                 log.debug("Removing {0} from cacheType {1}", key, cacheType);
 
-                boolean b = aux.remove(key);
+                final boolean b = aux.remove(key);
 
                 // Don't take the remote removal into account.
                 if (!removed && cacheType != CacheType.REMOTE_CACHE)
@@ -1087,7 +1087,7 @@
                     removed = b;
                 }
             }
-            catch (IOException ex)
+            catch (final IOException ex)
             {
                 log.error("Failure removing from aux", ex);
             }
@@ -1127,7 +1127,7 @@
      *            looping.
      * @throws IOException
      */
-    protected void removeAll(boolean localOnly)
+    protected void removeAll(final boolean localOnly)
         throws IOException
     {
         try
@@ -1136,13 +1136,13 @@
 
             log.debug("Removed All keys from the memory cache.");
         }
-        catch (IOException ex)
+        catch (final IOException ex)
         {
             log.error("Trouble updating memory cache.", ex);
         }
 
         // Removes from all auxiliary disk caches.
-        for (ICache<K, V> aux : auxCaches)
+        for (final ICache<K, V> aux : auxCaches)
         {
             if (aux != null && (aux.getCacheType() == CacheType.DISK_CACHE || !localOnly))
             {
@@ -1153,7 +1153,7 @@
 
                     aux.removeAll();
                 }
-                catch (IOException ex)
+                catch (final IOException ex)
                 {
                     log.error("Failure removing all from aux", ex);
                 }
@@ -1177,7 +1177,7 @@
      * <p>
      * @param fromRemote
      */
-    public void dispose(boolean fromRemote)
+    public void dispose(final boolean fromRemote)
     {
          // If already disposed, return immediately
         if (alive.compareAndSet(true, false) == false)
@@ -1210,7 +1210,7 @@
 
         // Dispose of each auxiliary cache, Remote auxiliaries will be
         // skipped if 'fromRemote' is true.
-        for (ICache<K, V> aux : auxCaches)
+        for (final ICache<K, V> aux : auxCaches)
         {
             try
             {
@@ -1238,7 +1238,7 @@
                 // the disk cache is in a situation to not get items on a put.
                 if (aux.getCacheType() == CacheType.DISK_CACHE)
                 {
-                    int numToFree = memCache.getSize();
+                    final int numToFree = memCache.getSize();
                     memCache.freeElements(numToFree);
 
                     log.info("In DISPOSE, [{0}] put {1} into auxiliary [{2}]",
@@ -1249,7 +1249,7 @@
                 // Dispose of the auxiliary
                 aux.dispose();
             }
-            catch (IOException ex)
+            catch (final IOException ex)
             {
                 log.error("Failure disposing of aux.", ex);
             }
@@ -1261,7 +1261,7 @@
         {
             memCache.dispose();
         }
-        catch (IOException ex)
+        catch (final IOException ex)
         {
             log.error("Failure disposing of memCache", ex);
         }
@@ -1279,15 +1279,15 @@
             return;
         }
 
-        for (ICache<K, V> aux : auxCaches)
+        for (final ICache<K, V> aux : auxCaches)
         {
             try
             {
                 if (aux.getStatus() == CacheStatus.ALIVE)
                 {
-                    for (K key : memCache.getKeySet())
+                    for (final K key : memCache.getKeySet())
                     {
-                        ICacheElement<K, V> ce = memCache.get(key);
+                        final ICacheElement<K, V> ce = memCache.get(key);
 
                         if (ce != null)
                         {
@@ -1296,7 +1296,7 @@
                     }
                 }
             }
-            catch (IOException ex)
+            catch (final IOException ex)
             {
                 log.error("Failure saving aux caches.", ex);
             }
@@ -1357,11 +1357,11 @@
      */
     public ICacheStats getStatistics()
     {
-        ICacheStats stats = new CacheStats();
+        final ICacheStats stats = new CacheStats();
         stats.setRegionName(this.getCacheName());
 
         // store the composite cache stats first
-        ArrayList<IStatElement<?>> elems = new ArrayList<>();
+        final ArrayList<IStatElement<?>> elems = new ArrayList<>();
 
         elems.add(new StatElement<>("HitCountRam", Long.valueOf(getHitCountRam())));
         elems.add(new StatElement<>("HitCountAux", Long.valueOf(getHitCountAux())));
@@ -1369,12 +1369,12 @@
         stats.setStatElements(elems);
 
         // memory + aux, memory is not considered an auxiliary internally
-        int total = auxCaches.length + 1;
-        ArrayList<IStats> auxStats = new ArrayList<>(total);
+        final int total = auxCaches.length + 1;
+        final ArrayList<IStats> auxStats = new ArrayList<>(total);
 
         auxStats.add(getMemoryCache().getStatistics());
 
-        for (AuxiliaryCache<K, V> aux : auxCaches)
+        for (final AuxiliaryCache<K, V> aux : auxCaches)
         {
             auxStats.add(aux.getStatistics());
         }
@@ -1416,7 +1416,7 @@
      * <p>
      * @param attr
      */
-    public void setElementAttributes(IElementAttributes attr)
+    public void setElementAttributes(final IElementAttributes attr)
     {
         this.attr = attr;
     }
@@ -1436,7 +1436,7 @@
      * <p>
      * @param cattr The new ICompositeCacheAttributes value
      */
-    public void setCacheAttributes(ICompositeCacheAttributes cattr)
+    public void setCacheAttributes(final ICompositeCacheAttributes cattr)
     {
         this.cacheAttr = cattr;
         // need a better way to do this, what if it is in error
@@ -1451,10 +1451,10 @@
      * @throws CacheException
      * @throws IOException
      */
-    public IElementAttributes getElementAttributes(K key)
+    public IElementAttributes getElementAttributes(final K key)
         throws CacheException, IOException
     {
-        ICacheElement<K, V> ce = get(key);
+        final ICacheElement<K, V> ce = get(key);
         if (ce == null)
         {
             throw new ObjectNotFoundException("key " + key + " is not found");
@@ -1469,7 +1469,7 @@
      *
      * @return true if the element is expired
      */
-    public boolean isExpired(ICacheElement<K, V> element)
+    public boolean isExpired(final ICacheElement<K, V> element)
     {
         return isExpired(element, System.currentTimeMillis(),
                 ElementEventType.EXCEEDED_MAXLIFE_ONREQUEST,
@@ -1486,18 +1486,18 @@
      *
      * @return true if the element is expired
      */
-    public boolean isExpired(ICacheElement<K, V> element, long timestamp,
-            ElementEventType eventMaxlife, ElementEventType eventIdle)
+    public boolean isExpired(final ICacheElement<K, V> element, final long timestamp,
+            final ElementEventType eventMaxlife, final ElementEventType eventIdle)
     {
         try
         {
-            IElementAttributes attributes = element.getElementAttributes();
+            final IElementAttributes attributes = element.getElementAttributes();
 
             if (!attributes.getIsEternal())
             {
                 // Remove if maxLifeSeconds exceeded
-                long maxLifeSeconds = attributes.getMaxLife();
-                long createTime = attributes.getCreateTime();
+                final long maxLifeSeconds = attributes.getMaxLife();
+                final long createTime = attributes.getCreateTime();
 
                 final long timeFactorForMilliseconds = attributes.getTimeFactorForMilliseconds();
 
@@ -1508,8 +1508,8 @@
                     handleElementEvent(element, eventMaxlife);
                     return true;
                 }
-                long idleTime = attributes.getIdleTime();
-                long lastAccessTime = attributes.getLastAccessTime();
+                final long idleTime = attributes.getIdleTime();
+                final long lastAccessTime = attributes.getLastAccessTime();
 
                 // Remove if maxIdleTime exceeded
                 // If you have a 0 size memory cache, then the last access will
@@ -1524,7 +1524,7 @@
                 }
             }
         }
-        catch (Exception e)
+        catch (final Exception e)
         {
             log.error("Error determining expiration period, expiring", e);
             return true;
@@ -1542,9 +1542,9 @@
      * @param element the item
      * @param eventType the event type
      */
-    public void handleElementEvent(ICacheElement<K, V> element, ElementEventType eventType)
+    public void handleElementEvent(final ICacheElement<K, V> element, final ElementEventType eventType)
     {
-        ArrayList<IElementEventHandler> eventHandlers = element.getElementAttributes().getElementEventHandlers();
+        final ArrayList<IElementEventHandler> eventHandlers = element.getElementAttributes().getElementEventHandlers();
         if (eventHandlers != null)
         {
             log.debug("Element Handlers are registered.  Create event type {0}", eventType);
@@ -1553,14 +1553,14 @@
                 log.warn("No element event queue available for cache {0}", getCacheName());
                 return;
             }
-            IElementEvent<ICacheElement<K, V>> event = new ElementEvent<>(element, eventType);
-            for (IElementEventHandler hand : eventHandlers)
+            final IElementEvent<ICacheElement<K, V>> event = new ElementEvent<>(element, eventType);
+            for (final IElementEventHandler hand : eventHandlers)
             {
                 try
                 {
                    elementEventQ.addElementEvent(hand, event);
                 }
-                catch (IOException e)
+                catch (final IOException e)
                 {
                     log.error("Trouble adding element event to queue", e);
                 }
@@ -1575,19 +1575,20 @@
      * <p>
      * @param cattr
      */
-    private void createMemoryCache(ICompositeCacheAttributes cattr)
+    private void createMemoryCache(final ICompositeCacheAttributes cattr)
     {
         if (memCache == null)
         {
             try
             {
-                Class<?> c = Class.forName(cattr.getMemoryCacheName());
+                final Class<?> c = Class.forName(cattr.getMemoryCacheName());
                 @SuppressWarnings("unchecked") // Need cast
+                final
                 IMemoryCache<K, V> newInstance = (IMemoryCache<K, V>) c.newInstance();
                 memCache = newInstance;
                 memCache.initialize(this);
             }
-            catch (Exception e)
+            catch (final Exception e)
             {
                 log.warn("Failed to init mem cache, using: LRUMemoryCache", e);
 
@@ -1662,7 +1663,7 @@
      * @param keyMatcher
      */
     @Override
-    public void setKeyMatcher(IKeyMatcher<K> keyMatcher)
+    public void setKeyMatcher(final IKeyMatcher<K> keyMatcher)
     {
         if (keyMatcher != null)
         {
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/control/CompositeCacheConfigurator.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/control/CompositeCacheConfigurator.java
index 984149f..16c4584 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/control/CompositeCacheConfigurator.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/control/CompositeCacheConfigurator.java
@@ -95,14 +95,14 @@
      * @param props Configuration properties
      * @param ccm Cache hub
      */
-    protected void parseSystemRegions( Properties props, CompositeCacheManager ccm )
+    protected void parseSystemRegions( final Properties props, final CompositeCacheManager ccm )
     {
-        for (String key : props.stringPropertyNames() )
+        for (final String key : props.stringPropertyNames() )
         {
             if ( key.startsWith( SYSTEM_REGION_PREFIX ) && key.indexOf( "attributes" ) == -1 )
             {
-                String regionName = key.substring( SYSTEM_REGION_PREFIX.length() );
-                String auxiliaries = OptionConverter.findAndSubst( key, props );
+                final String regionName = key.substring( SYSTEM_REGION_PREFIX.length() );
+                final String auxiliaries = OptionConverter.findAndSubst( key, props );
                 ICache<?, ?> cache;
                 synchronized ( regionName )
                 {
@@ -119,17 +119,17 @@
      * @param props Configuration properties
      * @param ccm Cache hub
      */
-    protected void parseRegions( Properties props, CompositeCacheManager ccm )
+    protected void parseRegions( final Properties props, final CompositeCacheManager ccm )
     {
-        List<String> regionNames = new ArrayList<>();
+        final List<String> regionNames = new ArrayList<>();
 
-        for (String key : props.stringPropertyNames() )
+        for (final String key : props.stringPropertyNames() )
         {
             if ( key.startsWith( REGION_PREFIX ) && key.indexOf( "attributes" ) == -1 )
             {
-                String regionName = key.substring( REGION_PREFIX.length() );
+                final String regionName = key.substring( REGION_PREFIX.length() );
                 regionNames.add( regionName );
-                String auxiliaries = OptionConverter.findAndSubst( key, props );
+                final String auxiliaries = OptionConverter.findAndSubst( key, props );
                 ICache<?, ?> cache;
                 synchronized ( regionName )
                 {
@@ -153,7 +153,7 @@
      * @return CompositeCache
      */
     protected <K, V> CompositeCache<K, V> parseRegion(
-            Properties props, CompositeCacheManager ccm, String regName, String auxiliaries )
+            final Properties props, final CompositeCacheManager ccm, final String regName, final String auxiliaries )
     {
         return parseRegion( props, ccm, regName, auxiliaries, null, REGION_PREFIX );
     }
@@ -172,8 +172,8 @@
      * @return CompositeCache
      */
     protected <K, V> CompositeCache<K, V> parseRegion(
-            Properties props, CompositeCacheManager ccm, String regName, String auxiliaries,
-            ICompositeCacheAttributes cca )
+            final Properties props, final CompositeCacheManager ccm, final String regName, final String auxiliaries,
+            final ICompositeCacheAttributes cca )
     {
         return parseRegion( props, ccm, regName, auxiliaries, cca, REGION_PREFIX );
     }
@@ -191,18 +191,18 @@
      * @return CompositeCache
      */
     protected <K, V> CompositeCache<K, V> parseRegion(
-            Properties props, CompositeCacheManager ccm, String regName, String auxiliaries,
-            ICompositeCacheAttributes cca, String regionPrefix )
+            final Properties props, final CompositeCacheManager ccm, final String regName, final String auxiliaries,
+            final ICompositeCacheAttributes cca, final String regionPrefix )
     {
         // First, create or get the cache and element attributes, and create
         // the cache.
-        IElementAttributes ea = parseElementAttributes( props, regName,
+        final IElementAttributes ea = parseElementAttributes( props, regName,
                 ccm.getDefaultElementAttributes(), regionPrefix );
 
-        ICompositeCacheAttributes instantiationCca = cca == null
+        final ICompositeCacheAttributes instantiationCca = cca == null
                 ? parseCompositeCacheAttributes(props, regName, ccm.getDefaultCacheAttributes(), regionPrefix)
                 : cca;
-        CompositeCache<K, V> cache = newCache(instantiationCca, ea);
+        final CompositeCache<K, V> cache = newCache(instantiationCca, ea);
 
         // Inject cache manager
         cache.setCompositeCacheManager(ccm);
@@ -222,12 +222,12 @@
         if (auxiliaries != null)
         {
             // Next, create the auxiliaries for the new cache
-            List<AuxiliaryCache<K, V>> auxList = new ArrayList<>();
+            final List<AuxiliaryCache<K, V>> auxList = new ArrayList<>();
 
             log.debug( "Parsing region name \"{0}\", value \"{1}\"", regName, auxiliaries );
 
             // We must skip over ',' but not white space
-            StringTokenizer st = new StringTokenizer( auxiliaries, "," );
+            final StringTokenizer st = new StringTokenizer( auxiliaries, "," );
 
             // If value is not in the form ", appender.." or "", then we should set
             // the priority of the category.
@@ -268,6 +268,7 @@
 
             // Associate the auxiliaries with the cache
             @SuppressWarnings("unchecked") // No generic arrays in java
+            final
             AuxiliaryCache<K, V>[] auxArray = auxList.toArray( new AuxiliaryCache[0] );
             cache.setAuxCaches( auxArray );
         }
@@ -277,7 +278,7 @@
     }
 
     protected <K, V> CompositeCache<K, V> newCache(
-            ICompositeCacheAttributes cca, IElementAttributes ea)
+            final ICompositeCacheAttributes cca, final IElementAttributes ea)
     {
         return new CompositeCache<>( cca, ea );
     }
@@ -291,8 +292,8 @@
      *
      * @return ICompositeCacheAttributes
      */
-    protected ICompositeCacheAttributes parseCompositeCacheAttributes( Properties props,
-            String regName, ICompositeCacheAttributes defaultCCAttr )
+    protected ICompositeCacheAttributes parseCompositeCacheAttributes( final Properties props,
+            final String regName, final ICompositeCacheAttributes defaultCCAttr )
     {
         return parseCompositeCacheAttributes( props, regName, defaultCCAttr, REGION_PREFIX );
     }
@@ -307,12 +308,12 @@
      *
      * @return ICompositeCacheAttributes
      */
-    protected ICompositeCacheAttributes parseCompositeCacheAttributes( Properties props,
-            String regName, ICompositeCacheAttributes defaultCCAttr, String regionPrefix )
+    protected ICompositeCacheAttributes parseCompositeCacheAttributes( final Properties props,
+            final String regName, final ICompositeCacheAttributes defaultCCAttr, final String regionPrefix )
     {
         ICompositeCacheAttributes ccAttr;
 
-        String attrName = regionPrefix + regName + CACHE_ATTRIBUTE_PREFIX;
+        final String attrName = regionPrefix + regName + CACHE_ATTRIBUTE_PREFIX;
 
         // auxFactory was not previously initialized.
         // String prefix = regionPrefix + regName + ATTRIBUTE_PREFIX;
@@ -348,12 +349,12 @@
      *
      * @return IElementAttributes
      */
-    protected IElementAttributes parseElementAttributes( Properties props, String regName,
-            IElementAttributes defaultEAttr, String regionPrefix )
+    protected IElementAttributes parseElementAttributes( final Properties props, final String regName,
+            final IElementAttributes defaultEAttr, final String regionPrefix )
     {
         IElementAttributes eAttr;
 
-        String attrName = regionPrefix + regName + CompositeCacheConfigurator.ELEMENT_ATTRIBUTE_PREFIX;
+        final String attrName = regionPrefix + regName + CompositeCacheConfigurator.ELEMENT_ATTRIBUTE_PREFIX;
 
         // auxFactory was not previously initialized.
         // String prefix = regionPrefix + regName + ATTRIBUTE_PREFIX;
@@ -387,8 +388,8 @@
      * @param regName the name of the region.
      * @return AuxiliaryCache
      */
-    protected <K, V> AuxiliaryCache<K, V> parseAuxiliary( Properties props, CompositeCacheManager ccm,
-            String auxName, String regName )
+    protected <K, V> AuxiliaryCache<K, V> parseAuxiliary( final Properties props, final CompositeCacheManager ccm,
+            final String auxName, final String regName )
     {
         log.debug( "parseAuxiliary {0}", auxName );
 
@@ -403,7 +404,7 @@
             if ( auxFac == null )
             {
                 // auxFactory was not previously initialized.
-                String prefix = AUXILIARY_PREFIX + auxName;
+                final String prefix = AUXILIARY_PREFIX + auxName;
                 auxFac = OptionConverter.instantiateByKey( props, prefix, null );
                 if ( auxFac == null )
                 {
@@ -424,11 +425,11 @@
 
             // GET ATTRIBUTES
             AuxiliaryCacheAttributes auxAttr = ccm.registryAttrGet( auxName );
-            String attrName = AUXILIARY_PREFIX + auxName + ATTRIBUTE_PREFIX;
+            final String attrName = AUXILIARY_PREFIX + auxName + ATTRIBUTE_PREFIX;
             if ( auxAttr == null )
             {
                 // auxFactory was not previously initialized.
-                String prefix = AUXILIARY_PREFIX + auxName + ATTRIBUTE_PREFIX;
+                final String prefix = AUXILIARY_PREFIX + auxName + ATTRIBUTE_PREFIX;
                 auxAttr = OptionConverter.instantiateByKey( props, prefix, null );
                 if ( auxAttr == null )
                 {
@@ -451,14 +452,14 @@
             // GET CACHE FROM FACTORY WITH ATTRIBUTES
             auxAttr.setCacheName( regName );
 
-            String auxPrefix = AUXILIARY_PREFIX + auxName;
+            final String auxPrefix = AUXILIARY_PREFIX + auxName;
 
             // CONFIGURE THE EVENT LOGGER
-            ICacheEventLogger cacheEventLogger =
+            final ICacheEventLogger cacheEventLogger =
                     AuxiliaryCacheConfigurator.parseCacheEventLogger( props, auxPrefix );
 
             // CONFIGURE THE ELEMENT SERIALIZER
-            IElementSerializer elementSerializer =
+            final IElementSerializer elementSerializer =
                     AuxiliaryCacheConfigurator.parseElementSerializer( props, auxPrefix );
 
             // CONFIGURE THE KEYMATCHER
@@ -473,7 +474,7 @@
             {
                 auxCache = auxFac.createCache( auxAttr, ccm, cacheEventLogger, elementSerializer );
             }
-            catch (Exception e)
+            catch (final Exception e)
             {
                 log.error( "Could not instantiate auxiliary cache named \"{0}\"", regName, e );
                 return null;
@@ -490,11 +491,11 @@
      * <p>
      * @param props
      */
-    protected static void overrideWithSystemProperties( Properties props )
+    protected static void overrideWithSystemProperties( final Properties props )
     {
         // override any setting with values from the system properties.
-        Properties sysProps = System.getProperties();
-        for (String key : sysProps.stringPropertyNames())
+        final Properties sysProps = System.getProperties();
+        for (final String key : sysProps.stringPropertyNames())
         {
             if ( key.startsWith( SYSTEM_PROPERTY_KEY_PREFIX ) )
             {
@@ -512,15 +513,15 @@
      * @param auxPrefix - ex. AUXILIARY_PREFIX + auxName
      * @return IKeyMatcher
      */
-    protected <K> IKeyMatcher<K> parseKeyMatcher( Properties props, String auxPrefix )
+    protected <K> IKeyMatcher<K> parseKeyMatcher( final Properties props, final String auxPrefix )
     {
 
         // auxFactory was not previously initialized.
-        String keyMatcherClassName = auxPrefix + KEY_MATCHER_PREFIX;
+        final String keyMatcherClassName = auxPrefix + KEY_MATCHER_PREFIX;
         IKeyMatcher<K> keyMatcher = OptionConverter.instantiateByKey( props, keyMatcherClassName, null );
         if ( keyMatcher != null )
         {
-            String attributePrefix = auxPrefix + KEY_MATCHER_PREFIX + ATTRIBUTE_PREFIX;
+            final String attributePrefix = auxPrefix + KEY_MATCHER_PREFIX + ATTRIBUTE_PREFIX;
             PropertySetter.setProperties( keyMatcher, props, attributePrefix + "." );
             log.info( "Using custom key matcher [{0}] for auxiliary [{1}]", keyMatcher, auxPrefix );
         }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/control/CompositeCacheManager.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/control/CompositeCacheManager.java
index 60bed12..67b6dea 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/control/CompositeCacheManager.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/control/CompositeCacheManager.java
@@ -169,7 +169,7 @@
      * @return CompositeCacheManager configured from the give propsFileName
      * @throws CacheException if the configuration cannot be loaded
      */
-    public static synchronized CompositeCacheManager getInstance( String propsFilename ) throws CacheException
+    public static synchronized CompositeCacheManager getInstance( final String propsFilename ) throws CacheException
     {
         if ( instance == null )
         {
@@ -251,7 +251,7 @@
             {
                 Runtime.getRuntime().addShutdownHook( shutdownHook );
             }
-            catch ( AccessControlException e )
+            catch ( final AccessControlException e )
             {
                 log.error( "Could not register shutdown hook.", e );
             }
@@ -262,15 +262,15 @@
             // Register JMX bean
             if (!isJMXRegistered && jmxName != null)
             {
-                MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
-                JCSAdminBean adminBean = new JCSAdminBean(this);
+                final MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
+                final JCSAdminBean adminBean = new JCSAdminBean(this);
                 try
                 {
-                    ObjectName jmxObjectName = new ObjectName(jmxName);
+                    final ObjectName jmxObjectName = new ObjectName(jmxName);
                     mbs.registerMBean(adminBean, jmxObjectName);
                     isJMXRegistered = true;
                 }
-                catch (Exception e)
+                catch (final Exception e)
                 {
                     log.warn( "Could not register JMX bean.", e );
                 }
@@ -316,18 +316,18 @@
      * @param propFile Path <u>within classpath </u> to load configuration from
      * @throws CacheException if the configuration cannot be loaded
      */
-    public void configure( String propFile ) throws CacheException
+    public void configure( final String propFile ) throws CacheException
     {
         log.info( "Creating cache manager from config file: {0}", propFile );
 
-        Properties props = new Properties();
+        final Properties props = new Properties();
 
         try (InputStream is = getClass().getResourceAsStream( propFile ))
         {
             props.load( is );
             log.debug( "File [{0}] contained {1} properties", () -> propFile, () -> props.size());
         }
-        catch ( IOException ex )
+        catch ( final IOException ex )
         {
             throw new CacheException("Failed to load properties for name [" + propFile + "]", ex);
         }
@@ -341,7 +341,7 @@
      * This method will call configure, instructing it to use system properties as a default.
      * @param props
      */
-    public void configure( Properties props )
+    public void configure( final Properties props )
     {
         configure( props, DEFAULT_USE_SYSTEM_PROPERTIES );
     }
@@ -359,7 +359,7 @@
      * @param useSystemProperties -- if true, values starting with jcs will be put into the props
      *            file prior to configuring the cache.
      */
-    public void configure( Properties props, boolean useSystemProperties )
+    public void configure( final Properties props, final boolean useSystemProperties )
     {
         configure( props, useSystemProperties, DEFAULT_FORCE_RECONFIGURATION );
     }
@@ -379,7 +379,7 @@
      * @param forceReconfiguration - if the manager is already configured, we will try again. This
      *            may not work properly.
      */
-    public synchronized void configure( Properties props, boolean useSystemProperties, boolean forceReconfiguration )
+    public synchronized void configure( final Properties props, final boolean useSystemProperties, final boolean forceReconfiguration )
     {
         if ( props == null )
         {
@@ -413,23 +413,23 @@
      * <p>
      * @param properties assumed not null
      */
-    private void doConfigure( Properties properties )
+    private void doConfigure( final Properties properties )
     {
         // We will expose this for managers that need raw properties.
         this.configurationProperties = properties;
 
         // set the props value and then configure the ThreadPoolManager
         ThreadPoolManager.setProps( properties );
-        ThreadPoolManager poolMgr = ThreadPoolManager.getInstance();
+        final ThreadPoolManager poolMgr = ThreadPoolManager.getInstance();
         log.debug( "ThreadPoolManager = {0}", poolMgr);
 
         // Create event queue
         this.elementEventQueue = new ElementEventQueue();
 
         // configure the cache
-        CompositeCacheConfigurator configurator = newConfigurator();
+        final CompositeCacheConfigurator configurator = newConfigurator();
 
-        ElapsedTimer timer = new ElapsedTimer();
+        final ElapsedTimer timer = new ElapsedTimer();
 
         // set default value list
         this.defaultAuxValues = OptionConverter.findAndSubst( CompositeCacheManager.DEFAULT_REGION,
@@ -488,7 +488,7 @@
      * @return CompositeCache -- the cache region controller
      */
     @Override
-    public <K, V> CompositeCache<K, V> getCache( String cacheName )
+    public <K, V> CompositeCache<K, V> getCache( final String cacheName )
     {
         return getCache( cacheName, getDefaultCacheAttributes() );
     }
@@ -500,7 +500,7 @@
      * @param cattr
      * @return CompositeCache
      */
-    public <K, V> CompositeCache<K, V> getCache( String cacheName, ICompositeCacheAttributes cattr )
+    public <K, V> CompositeCache<K, V> getCache( final String cacheName, final ICompositeCacheAttributes cattr )
     {
         cattr.setCacheName( cacheName );
         return getCache( cattr, getDefaultElementAttributes() );
@@ -514,7 +514,7 @@
      * @param attr
      * @return CompositeCache
      */
-    public <K, V> CompositeCache<K, V>  getCache( String cacheName, ICompositeCacheAttributes cattr, IElementAttributes attr )
+    public <K, V> CompositeCache<K, V>  getCache( final String cacheName, final ICompositeCacheAttributes cattr, final IElementAttributes attr )
     {
         cattr.setCacheName( cacheName );
         return getCache( cattr, attr );
@@ -526,7 +526,7 @@
      * @param cattr
      * @return CompositeCache
      */
-    public <K, V> CompositeCache<K, V>  getCache( ICompositeCacheAttributes cattr )
+    public <K, V> CompositeCache<K, V>  getCache( final ICompositeCacheAttributes cattr )
     {
         return getCache( cattr, getDefaultElementAttributes() );
     }
@@ -545,13 +545,13 @@
      * @return CompositeCache
      */
     @SuppressWarnings("unchecked") // Need to cast because of common map for all caches
-    public <K, V> CompositeCache<K, V>  getCache( ICompositeCacheAttributes cattr, IElementAttributes attr )
+    public <K, V> CompositeCache<K, V>  getCache( final ICompositeCacheAttributes cattr, final IElementAttributes attr )
     {
         log.debug( "attr = {0}", attr );
 
-        CompositeCache<K, V> cache = (CompositeCache<K, V>) caches.computeIfAbsent(cattr.getCacheName(),
+        final CompositeCache<K, V> cache = (CompositeCache<K, V>) caches.computeIfAbsent(cattr.getCacheName(),
                 cacheName -> {
-            CompositeCacheConfigurator configurator = newConfigurator();
+            final CompositeCacheConfigurator configurator = newConfigurator();
             return configurator.parseRegion( this.getConfigurationProperties(), this, cacheName,
                                               this.defaultAuxValues, cattr );
         });
@@ -566,7 +566,7 @@
     /**
      * @param name
      */
-    public void freeCache( String name )
+    public void freeCache( final String name )
     {
         freeCache( name, false );
     }
@@ -575,9 +575,9 @@
      * @param name
      * @param fromRemote
      */
-    public void freeCache( String name, boolean fromRemote )
+    public void freeCache( final String name, final boolean fromRemote )
     {
-        CompositeCache<?, ?> cache = (CompositeCache<?, ?>) caches.remove( name );
+        final CompositeCache<?, ?> cache = (CompositeCache<?, ?>) caches.remove( name );
 
         if ( cache != null )
         {
@@ -614,13 +614,13 @@
             // Unregister JMX bean
             if (isJMXRegistered)
             {
-                MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
+                final MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
                 try
                 {
-                    ObjectName jmxObjectName = new ObjectName(jmxName);
+                    final ObjectName jmxObjectName = new ObjectName(jmxName);
                     mbs.unregisterMBean(jmxObjectName);
                 }
-                catch (Exception e)
+                catch (final Exception e)
                 {
                     log.warn( "Could not unregister JMX bean.", e );
                 }
@@ -632,13 +632,13 @@
             getCacheNames().forEach(this::freeCache);
 
             // shut down auxiliaries
-            for (String key : auxiliaryCaches.keySet())
+            for (final String key : auxiliaryCaches.keySet())
             {
                 try
                 {
                     freeAuxiliaryCache(key);
                 }
-                catch (IOException e)
+                catch (final IOException e)
                 {
                     log.warn("Auxiliary cache {0} failed to shut down", key, e);
                 }
@@ -656,7 +656,7 @@
                 {
                     Runtime.getRuntime().removeShutdownHook(shutdownHook);
                 }
-                catch (IllegalStateException e)
+                catch (final IllegalStateException e)
                 {
                     // May fail if the JVM is already shutting down
                 }
@@ -678,7 +678,7 @@
     /**
      * @param fromRemote
      */
-    private void release( boolean fromRemote )
+    private void release( final boolean fromRemote )
     {
         synchronized ( CompositeCacheManager.class )
         {
@@ -720,7 +720,7 @@
     /**
      * @param auxFac
      */
-    public void registryFacPut( AuxiliaryCacheFactory auxFac )
+    public void registryFacPut( final AuxiliaryCacheFactory auxFac )
     {
         auxiliaryFactoryRegistry.put( auxFac.getName(), auxFac );
     }
@@ -729,7 +729,7 @@
      * @param name
      * @return AuxiliaryCacheFactory
      */
-    public AuxiliaryCacheFactory registryFacGet( String name )
+    public AuxiliaryCacheFactory registryFacGet( final String name )
     {
         return auxiliaryFactoryRegistry.get( name );
     }
@@ -737,7 +737,7 @@
     /**
      * @param auxAttr
      */
-    public void registryAttrPut( AuxiliaryCacheAttributes auxAttr )
+    public void registryAttrPut( final AuxiliaryCacheAttributes auxAttr )
     {
         auxiliaryAttributeRegistry.put( auxAttr.getName(), auxAttr );
     }
@@ -746,7 +746,7 @@
      * @param name
      * @return AuxiliaryCacheAttributes
      */
-    public AuxiliaryCacheAttributes registryAttrGet( String name )
+    public AuxiliaryCacheAttributes registryAttrGet( final String name )
     {
         return auxiliaryAttributeRegistry.get( name );
     }
@@ -757,7 +757,7 @@
      * @param cacheName the region name
      * @param cache the cache instance
      */
-    public void addCache(String cacheName, ICache<?, ?> cache)
+    public void addCache(final String cacheName, final ICache<?, ?> cache)
     {
         caches.put(cacheName, cache);
     }
@@ -769,9 +769,9 @@
      * @param cacheName the region name
      * @param cache the cache instance
      */
-    public void addAuxiliaryCache(String auxName, String cacheName, AuxiliaryCache<?, ?> cache)
+    public void addAuxiliaryCache(final String auxName, final String cacheName, final AuxiliaryCache<?, ?> cache)
     {
-        String key = String.format("aux.%s.region.%s", auxName, cacheName);
+        final String key = String.format("aux.%s.region.%s", auxName, cacheName);
         auxiliaryCaches.put(key, cache);
     }
 
@@ -785,9 +785,9 @@
      */
     @Override
     @SuppressWarnings("unchecked") // because of common map for all auxiliary caches
-    public <K, V> AuxiliaryCache<K, V> getAuxiliaryCache(String auxName, String cacheName)
+    public <K, V> AuxiliaryCache<K, V> getAuxiliaryCache(final String auxName, final String cacheName)
     {
-        String key = String.format("aux.%s.region.%s", auxName, cacheName);
+        final String key = String.format("aux.%s.region.%s", auxName, cacheName);
         return (AuxiliaryCache<K, V>) auxiliaryCaches.get(key);
     }
 
@@ -798,9 +798,9 @@
      * @param cacheName the region name
      * @throws IOException if disposing of the cache fails
      */
-    public void freeAuxiliaryCache(String auxName, String cacheName) throws IOException
+    public void freeAuxiliaryCache(final String auxName, final String cacheName) throws IOException
     {
-        String key = String.format("aux.%s.region.%s", auxName, cacheName);
+        final String key = String.format("aux.%s.region.%s", auxName, cacheName);
         freeAuxiliaryCache(key);
     }
 
@@ -810,9 +810,9 @@
      * @param key the key into the map of auxiliaries
      * @throws IOException if disposing of the cache fails
      */
-    public void freeAuxiliaryCache(String key) throws IOException
+    public void freeAuxiliaryCache(final String key) throws IOException
     {
-        AuxiliaryCache<?, ?> aux = auxiliaryCaches.remove( key );
+        final AuxiliaryCache<?, ?> aux = auxiliaryCaches.remove( key );
 
         if ( aux != null )
         {
@@ -829,14 +829,14 @@
     @Override
     public String getStats()
     {
-        ICacheStats[] stats = getStatistics();
+        final ICacheStats[] stats = getStatistics();
         if ( stats == null )
         {
             return "NONE";
         }
 
         // force the array elements into a string.
-        StringBuilder buf = new StringBuilder();
+        final StringBuilder buf = new StringBuilder();
         Arrays.stream(stats).forEach(stat -> {
             buf.append( "\n---------------------------\n" );
             buf.append( stat );
@@ -851,7 +851,7 @@
      */
     public ICacheStats[] getStatistics()
     {
-        List<ICacheStats> cacheStats = caches.values().stream()
+        final List<ICacheStats> cacheStats = caches.values().stream()
             .filter(cache -> cache != null)
             .map(cache -> ((CompositeCache<?, ?>)cache).getStatistics() )
             .collect(Collectors.toList());
@@ -868,7 +868,7 @@
      * @param observer
      */
     @Override
-    public void registerShutdownObserver( IShutdownObserver observer )
+    public void registerShutdownObserver( final IShutdownObserver observer )
     {
     	if (!shutdownObservers.contains(observer))
     	{
@@ -884,7 +884,7 @@
      * @param observer
      */
     @Override
-    public void deregisterShutdownObserver( IShutdownObserver observer )
+    public void deregisterShutdownObserver( final IShutdownObserver observer )
     {
         shutdownObservers.remove( observer );
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/control/event/ElementEvent.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/control/event/ElementEvent.java
index a53d985..32c8b75 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/control/event/ElementEvent.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/control/event/ElementEvent.java
@@ -44,7 +44,7 @@
      * @param source The Cache Element
      * @param elementEvent The event id defined in the enum class.
      */
-    public ElementEvent( T source, ElementEventType elementEvent )
+    public ElementEvent( final T source, final ElementEventType elementEvent )
     {
         super( source );
         this.elementEvent = elementEvent;
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/control/event/ElementEventQueue.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/control/event/ElementEventQueue.java
index fdf2fa5..4b6a2b4 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/control/event/ElementEventQueue.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/control/event/ElementEventQueue.java
@@ -85,7 +85,7 @@
      * @throws IOException
      */
     @Override
-    public <T> void addElementEvent( IElementEventHandler hand, IElementEvent<T> event )
+    public <T> void addElementEvent( final IElementEventHandler hand, final IElementEvent<T> event )
         throws IOException
     {
 
@@ -97,7 +97,7 @@
         }
         else
         {
-            ElementEventRunner runner = new ElementEventRunner( hand, event );
+            final ElementEventRunner runner = new ElementEventRunner( hand, event );
 
             log.debug( "runner = {0}", runner );
 
@@ -125,7 +125,7 @@
                 doRun();
                 // happy and done.
             }
-            catch ( IOException e )
+            catch ( final IOException e )
             {
                 // Too bad. The handler has problems.
                 log.warn( "Giving up element event handling {0}", ElementEventQueue.this, e );
@@ -161,7 +161,7 @@
          * @throws IOException
          */
         @SuppressWarnings("synthetic-access")
-        ElementEventRunner( IElementEventHandler hand, IElementEvent<?> event )
+        ElementEventRunner( final IElementEventHandler hand, final IElementEvent<?> event )
             throws IOException
         {
             log.debug( "Constructing {0}", this );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/control/group/GroupAttrName.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/control/group/GroupAttrName.java
index 9b69faf..fc194fe 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/control/group/GroupAttrName.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/control/group/GroupAttrName.java
@@ -44,7 +44,7 @@
      * @param groupId
      * @param attrName
      */
-    public GroupAttrName( GroupId groupId, T attrName )
+    public GroupAttrName( final GroupId groupId, final T attrName )
     {
         this.groupId = groupId;
         this.attrName = attrName;
@@ -61,13 +61,13 @@
      * @return Whether equal.
      */
     @Override
-    public boolean equals( Object obj )
+    public boolean equals( final Object obj )
     {
         if ( obj == null || !( obj instanceof GroupAttrName ) )
         {
             return false;
         }
-        GroupAttrName<?> to = (GroupAttrName<?>) obj;
+        final GroupAttrName<?> to = (GroupAttrName<?>) obj;
 
         if (groupId.equals( to.groupId ))
         {
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/control/group/GroupId.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/control/group/GroupId.java
index 7decea7..86f90b6 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/control/group/GroupId.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/control/group/GroupId.java
@@ -46,7 +46,7 @@
      * @param cacheName
      * @param groupName
      */
-    public GroupId( String cacheName, String groupName )
+    public GroupId( final String cacheName, final String groupName )
     {
         this.cacheName = cacheName;
         this.groupName = groupName;
@@ -66,13 +66,13 @@
      * @return cacheName.equals( g.cacheName ) &amp;&amp;groupName.equals( g.groupName );
      */
     @Override
-    public boolean equals( Object obj )
+    public boolean equals( final Object obj )
     {
         if ( obj == null || !( obj instanceof GroupId ) )
         {
             return false;
         }
-        GroupId g = (GroupId) obj;
+        final GroupId g = (GroupId) obj;
         return cacheName.equals( g.cacheName ) && groupName.equals( g.groupName );
     }
 
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/logging/CacheEvent.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/logging/CacheEvent.java
index 16d011a..7ec98e8 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/logging/CacheEvent.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/logging/CacheEvent.java
@@ -52,7 +52,7 @@
      * @param source the source to set
      */
     @Override
-	public void setSource( String source )
+	public void setSource( final String source )
     {
         this.source = source;
     }
@@ -70,7 +70,7 @@
      * @param region the region to set
      */
     @Override
-	public void setRegion( String region )
+	public void setRegion( final String region )
     {
         this.region = region;
     }
@@ -88,7 +88,7 @@
      * @param eventName the eventName to set
      */
     @Override
-	public void setEventName( String eventName )
+	public void setEventName( final String eventName )
     {
         this.eventName = eventName;
     }
@@ -106,7 +106,7 @@
      * @param optionalDetails the optionalDetails to set
      */
     @Override
-	public void setOptionalDetails( String optionalDetails )
+	public void setOptionalDetails( final String optionalDetails )
     {
         this.optionalDetails = optionalDetails;
     }
@@ -124,7 +124,7 @@
      * @param key the key to set
      */
     @Override
-	public void setKey( K key )
+	public void setKey( final K key )
     {
         this.key = key;
     }
@@ -154,7 +154,7 @@
     @Override
     public String toString()
     {
-    	StringBuilder sb = new StringBuilder();
+    	final StringBuilder sb = new StringBuilder();
     	sb.append("CacheEvent: ").append(eventName).append(" Created: ").append(new Date(createTime));
     	if (source != null)
     	{
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/logging/CacheEventLoggerDebugLogger.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/logging/CacheEventLoggerDebugLogger.java
index bae2694..5dcffa2 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/logging/CacheEventLoggerDebugLogger.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/logging/CacheEventLoggerDebugLogger.java
@@ -46,10 +46,10 @@
      * @return ICacheEvent
      */
     @Override
-    public <T> ICacheEvent<T> createICacheEvent( String source, String region, String eventName,
-            String optionalDetails, T key )
+    public <T> ICacheEvent<T> createICacheEvent( final String source, final String region, final String eventName,
+            final String optionalDetails, final T key )
     {
-        ICacheEvent<T> event = new CacheEvent<>();
+        final ICacheEvent<T> event = new CacheEvent<>();
         event.setSource( source );
         event.setRegion( region );
         event.setEventName( eventName );
@@ -65,7 +65,7 @@
      * @param optionalDetails
      */
     @Override
-    public void logApplicationEvent( String source, String eventName, String optionalDetails )
+    public void logApplicationEvent( final String source, final String eventName, final String optionalDetails )
     {
         log.debug( "{0} | {1} | {2}", source, eventName, optionalDetails );
     }
@@ -76,7 +76,7 @@
      * @param errorMessage
      */
     @Override
-    public void logError( String source, String eventName, String errorMessage )
+    public void logError( final String source, final String eventName, final String errorMessage )
     {
         log.debug( "{0} | {1} | {2}", source, eventName, errorMessage );
     }
@@ -85,7 +85,7 @@
      * @param event
      */
     @Override
-    public <T> void logICacheEvent( ICacheEvent<T> event )
+    public <T> void logICacheEvent( final ICacheEvent<T> event )
     {
         log.debug( event );
     }
@@ -93,7 +93,7 @@
     /**
      * @param logCategoryName
      */
-    public synchronized void setLogCategoryName( String logCategoryName )
+    public synchronized void setLogCategoryName( final String logCategoryName )
     {
         if ( logCategoryName != null && !logCategoryName.equals( this.logCategoryName ) )
         {
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/match/KeyMatcherPatternImpl.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/match/KeyMatcherPatternImpl.java
index 33bdb16..d46bb61 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/match/KeyMatcherPatternImpl.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/match/KeyMatcherPatternImpl.java
@@ -40,9 +40,9 @@
      * @return Set of the matching keys
      */
     @Override
-    public Set<K> getMatchingKeysFromArray( String pattern, Set<K> keyArray )
+    public Set<K> getMatchingKeysFromArray( final String pattern, final Set<K> keyArray )
     {
-        Pattern compiledPattern = Pattern.compile( pattern );
+        final Pattern compiledPattern = Pattern.compile( pattern );
 
         return keyArray.stream()
                 .filter(key -> compiledPattern.matcher(key.toString()).matches())
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/AbstractDoubleLinkedListMemoryCache.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/AbstractDoubleLinkedListMemoryCache.java
index 85a846c..422530d 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/AbstractDoubleLinkedListMemoryCache.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/AbstractDoubleLinkedListMemoryCache.java
@@ -58,7 +58,7 @@
      * @param hub
      */
     @Override
-    public void initialize(CompositeCache<K, V> hub)
+    public void initialize(final CompositeCache<K, V> hub)
     {
         super.initialize(hub);
         list = new DoubleLinkedList<>();
@@ -91,18 +91,18 @@
      * @throws IOException
      */
     @Override
-    public final void update(ICacheElement<K, V> ce) throws IOException
+    public final void update(final ICacheElement<K, V> ce) throws IOException
     {
         putCnt.incrementAndGet();
 
         lock.lock();
         try
         {
-            MemoryElementDescriptor<K, V> newNode = adjustListForUpdate(ce);
+            final MemoryElementDescriptor<K, V> newNode = adjustListForUpdate(ce);
 
             // this should be synchronized if we were not using a ConcurrentHashMap
             final K key = newNode.getCacheElement().getKey();
-            MemoryElementDescriptor<K, V> oldNode = map.put(key, newNode);
+            final MemoryElementDescriptor<K, V> oldNode = map.put(key, newNode);
 
             // If the node was the same as an existing node, remove it.
             if (oldNode != null && key.equals(oldNode.getCacheElement().getKey()))
@@ -137,7 +137,7 @@
      */
     private void spoolIfNeeded() throws Error
     {
-        int size = map.size();
+        final int size = map.size();
         // If the element limit is reached, we need to spool
 
         if (size <= this.getCacheAttributes().getMaxObjects())
@@ -148,7 +148,7 @@
         log.debug("In memory limit reached, spooling");
 
         // Write the last 'chunkSize' items to disk.
-        int chunkSizeCorrected = Math.min(size, chunkSize);
+        final int chunkSizeCorrected = Math.min(size, chunkSize);
 
         log.debug("About to spool to disk cache, map size: {0}, max objects: {1}, "
                 + "maximum items to spool: {2}", () -> size,
@@ -164,7 +164,7 @@
         {
             for (int i = 0; i < chunkSizeCorrected; i++)
             {
-                ICacheElement<K, V> lastElement = spoolLastElement();
+                final ICacheElement<K, V> lastElement = spoolLastElement();
                 if (lastElement == null)
                 {
                     break;
@@ -200,7 +200,7 @@
      * @throws IOException
      */
     @Override
-    public int freeElements(int numberToFree) throws IOException
+    public int freeElements(final int numberToFree) throws IOException
     {
         int freed = 0;
 
@@ -210,7 +210,7 @@
         {
             for (; freed < numberToFree; freed++)
             {
-                ICacheElement<K, V> element = spoolLastElement();
+                final ICacheElement<K, V> element = spoolLastElement();
                 if (element == null)
                 {
                     break;
@@ -268,9 +268,9 @@
      * @see org.apache.commons.jcs3.engine.memory.AbstractMemoryCache#get(java.lang.Object)
      */
     @Override
-    public ICacheElement<K, V> get(K key) throws IOException
+    public ICacheElement<K, V> get(final K key) throws IOException
     {
-        ICacheElement<K, V> ce = super.get(key);
+        final ICacheElement<K, V> ce = super.get(key);
 
         if (log.isTraceEnabled())
         {
@@ -295,7 +295,7 @@
      * @param me the memory element descriptor
      */
     @Override
-    protected void lockedGetElement(MemoryElementDescriptor<K, V> me)
+    protected void lockedGetElement(final MemoryElementDescriptor<K, V> me)
     {
         adjustListForGet(me);
     }
@@ -307,7 +307,7 @@
      * @param me the memory element descriptor
      */
     @Override
-    protected void lockedRemoveElement(MemoryElementDescriptor<K, V> me)
+    protected void lockedRemoveElement(final MemoryElementDescriptor<K, V> me)
     {
         list.remove(me);
     }
@@ -331,12 +331,12 @@
      *            The feature to be added to the First
      * @return MemoryElementDescriptor
      */
-    protected MemoryElementDescriptor<K, V> addFirst(ICacheElement<K, V> ce)
+    protected MemoryElementDescriptor<K, V> addFirst(final ICacheElement<K, V> ce)
     {
         lock.lock();
         try
         {
-            MemoryElementDescriptor<K, V> me = new MemoryElementDescriptor<>(ce);
+            final MemoryElementDescriptor<K, V> me = new MemoryElementDescriptor<>(ce);
             list.addFirst(me);
             if ( log.isTraceEnabled() )
             {
@@ -358,12 +358,12 @@
      *            The feature to be added to the First
      * @return MemoryElementDescriptor
      */
-    protected MemoryElementDescriptor<K, V> addLast(ICacheElement<K, V> ce)
+    protected MemoryElementDescriptor<K, V> addLast(final ICacheElement<K, V> ce)
     {
         lock.lock();
         try
         {
-            MemoryElementDescriptor<K, V> me = new MemoryElementDescriptor<>(ce);
+            final MemoryElementDescriptor<K, V> me = new MemoryElementDescriptor<>(ce);
             list.addLast(me);
             if ( log.isTraceEnabled() )
             {
@@ -409,7 +409,7 @@
         log.trace("verifycache: checking linked list by key ");
         for (MemoryElementDescriptor<K, V> li = list.getFirst(); li != null; li = (MemoryElementDescriptor<K, V>) li.next)
         {
-            K key = li.getCacheElement().getKey();
+            final K key = li.getCacheElement().getKey();
             if (!map.containsKey(key))
             {
                 log.error("verifycache[{0}]: map does not contain key : {1}",
@@ -419,7 +419,7 @@
                 log.error("key toString={0}", key.toString());
                 if (key instanceof GroupAttrName)
                 {
-                    GroupAttrName<?> name = (GroupAttrName<?>) key;
+                    final GroupAttrName<?> name = (GroupAttrName<?>) key;
                     log.error("GroupID hashcode={0}", name.groupId.hashCode());
                     log.error("GroupID.class={0}", name.groupId.getClass());
                     log.error("AttrName hashcode={0}", name.attrName.hashCode());
@@ -446,7 +446,7 @@
         }
 
         log.trace("verifycache: checking via keysets!");
-        for (Object val : map.keySet())
+        for (final Object val : map.keySet())
         {
             found = false;
 
@@ -483,7 +483,7 @@
      */
     @SuppressWarnings("unchecked")
     // No generics for public fields
-    private void verifyCache(K key)
+    private void verifyCache(final K key)
     {
         boolean found = false;
 
@@ -514,10 +514,10 @@
     @Override
     public IStats getStatistics()
     {
-        IStats stats = super.getStatistics();
+        final IStats stats = super.getStatistics();
         stats.setTypeName( /* add algorithm name */"Memory Cache");
 
-        List<IStatElement<?>> elems = stats.getStatElements();
+        final List<IStatElement<?>> elems = stats.getStatElements();
 
         elems.add(new StatElement<>("List Size", Integer.valueOf(list.size())));
 
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/AbstractMemoryCache.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/AbstractMemoryCache.java
index c9f1d59..7609fd1 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/AbstractMemoryCache.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/AbstractMemoryCache.java
@@ -83,7 +83,7 @@
      * @param hub
      */
     @Override
-    public void initialize( CompositeCache<K, V> hub )
+    public void initialize( final CompositeCache<K, V> hub )
     {
         hitCnt = new AtomicLong(0);
         missCnt = new AtomicLong(0);
@@ -113,7 +113,7 @@
      * @throws IOException
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMultiple(Set<K> keys)
+    public Map<K, ICacheElement<K, V>> getMultiple(final Set<K> keys)
         throws IOException
     {
         if (keys != null)
@@ -124,7 +124,7 @@
                     {
                         return get(key);
                     }
-                    catch (IOException e)
+                    catch (final IOException e)
                     {
                         return null;
                     }
@@ -147,12 +147,12 @@
      * @throws IOException
      */
     @Override
-    public ICacheElement<K, V> getQuiet( K key )
+    public ICacheElement<K, V> getQuiet( final K key )
         throws IOException
     {
         ICacheElement<K, V> ce = null;
 
-        MemoryElementDescriptor<K, V> me = map.get( key );
+        final MemoryElementDescriptor<K, V> me = map.get( key );
         if ( me != null )
         {
             log.debug( "{0}: MemoryCache quiet hit for {1}",
@@ -227,10 +227,10 @@
     @Override
     public IStats getStatistics()
     {
-        IStats stats = new Stats();
+        final IStats stats = new Stats();
         stats.setTypeName( "Abstract Memory Cache" );
 
-        ArrayList<IStatElement<?>> elems = new ArrayList<>();
+        final ArrayList<IStatElement<?>> elems = new ArrayList<>();
         stats.setStatElements(elems);
 
         elems.add(new StatElement<>("Put Count", putCnt));
@@ -259,7 +259,7 @@
      */
     public String getCacheName()
     {
-        String attributeCacheName = this.cacheAttributes.getCacheName();
+        final String attributeCacheName = this.cacheAttributes.getCacheName();
         if(attributeCacheName != null)
         {
             return attributeCacheName;
@@ -273,7 +273,7 @@
      * @param ce the item
      */
     @Override
-    public void waterfal( ICacheElement<K, V> ce )
+    public void waterfal( final ICacheElement<K, V> ce )
     {
         this.cache.spoolToDisk( ce );
     }
@@ -310,7 +310,7 @@
      * @param cattr The new CacheAttributes value
      */
     @Override
-    public void setCacheAttributes( ICompositeCacheAttributes cattr )
+    public void setCacheAttributes( final ICompositeCacheAttributes cattr )
     {
         this.cacheAttributes = cattr;
     }
@@ -331,13 +331,13 @@
      * @param key the key
      * @return true if something has been removed
      */
-    protected boolean removeByGroup(K key)
+    protected boolean removeByGroup(final K key)
     {
-        GroupId groupId = ((GroupAttrName<?>) key).groupId;
+        final GroupId groupId = ((GroupAttrName<?>) key).groupId;
 
         // remove all keys of the same group hierarchy.
         return map.entrySet().removeIf(entry -> {
-            K k = entry.getKey();
+            final K k = entry.getKey();
 
             if (k instanceof GroupAttrName && ((GroupAttrName<?>) k).groupId.equals(groupId))
             {
@@ -363,13 +363,13 @@
      * @param key the key
      * @return true if something has been removed
      */
-    protected boolean removeByHierarchy(K key)
+    protected boolean removeByHierarchy(final K key)
     {
-        String keyString = key.toString();
+        final String keyString = key.toString();
 
         // remove all keys of the same name hierarchy.
         return map.entrySet().removeIf(entry -> {
-            K k = entry.getKey();
+            final K k = entry.getKey();
 
             if (k instanceof String && ((String) k).startsWith(keyString))
             {
@@ -408,7 +408,7 @@
      * @throws IOException
      */
     @Override
-    public boolean remove(K key) throws IOException
+    public boolean remove(final K key) throws IOException
     {
         log.debug("removing item for key: {0}", key);
 
@@ -429,7 +429,7 @@
             lock.lock();
             try
             {
-                MemoryElementDescriptor<K, V> me = map.remove(key);
+                final MemoryElementDescriptor<K, V> me = map.remove(key);
                 if (me != null)
                 {
                     lockedRemoveElement(me);
@@ -465,14 +465,14 @@
      * @throws IOException
      */
     @Override
-    public ICacheElement<K, V> get(K key) throws IOException
+    public ICacheElement<K, V> get(final K key) throws IOException
     {
         ICacheElement<K, V> ce = null;
 
         log.debug("{0}: getting item for key {1}", () -> getCacheName(),
                 () -> key);
 
-        MemoryElementDescriptor<K, V> me = map.get(key);
+        final MemoryElementDescriptor<K, V> me = map.get(key);
 
         if (me != null)
         {
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/fifo/FIFOMemoryCache.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/fifo/FIFOMemoryCache.java
index 33621c4..4a97978 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/fifo/FIFOMemoryCache.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/fifo/FIFOMemoryCache.java
@@ -40,7 +40,7 @@
      * @throws IOException
      */
     @Override
-    protected MemoryElementDescriptor<K, V> adjustListForUpdate( ICacheElement<K, V> ce )
+    protected MemoryElementDescriptor<K, V> adjustListForUpdate( final ICacheElement<K, V> ce )
         throws IOException
     {
         return addFirst( ce );
@@ -52,7 +52,7 @@
      * @param me
      */
     @Override
-    protected void adjustListForGet( MemoryElementDescriptor<K, V> me )
+    protected void adjustListForGet( final MemoryElementDescriptor<K, V> me )
     {
         // DO NOTHING
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/lru/LHMLRUMemoryCache.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/lru/LHMLRUMemoryCache.java
index cfccb25..df9ed8c 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/lru/LHMLRUMemoryCache.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/lru/LHMLRUMemoryCache.java
@@ -46,7 +46,7 @@
      * @param hub
      */
     @Override
-    public void initialize( CompositeCache<K, V> hub )
+    public void initialize( final CompositeCache<K, V> hub )
     {
         super.initialize( hub );
         log.info( "initialized LHMLRUMemoryCache for {0}", this::getCacheName );
@@ -70,7 +70,7 @@
      * @throws IOException
      */
     @Override
-    public void update( ICacheElement<K, V> ce )
+    public void update( final ICacheElement<K, V> ce )
         throws IOException
     {
         putCnt.incrementAndGet();
@@ -84,7 +84,7 @@
      * @param me the memory element descriptor
      */
     @Override
-    protected void lockedGetElement(MemoryElementDescriptor<K, V> me)
+    protected void lockedGetElement(final MemoryElementDescriptor<K, V> me)
     {
         // empty
     }
@@ -96,7 +96,7 @@
      * @param me the memory element descriptor
      */
     @Override
-    protected void lockedRemoveElement(MemoryElementDescriptor<K, V> me)
+    protected void lockedRemoveElement(final MemoryElementDescriptor<K, V> me)
     {
         // empty
     }
@@ -120,7 +120,7 @@
     @Override
     public IStats getStatistics()
     {
-        IStats stats = super.getStatistics();
+        final IStats stats = super.getStatistics();
         stats.setTypeName( "LHMLRU Memory Cache" );
 
         return stats;
@@ -144,7 +144,7 @@
      * @throws IOException
      */
     @Override
-    public int freeElements( int numberToFree )
+    public int freeElements( final int numberToFree )
         throws IOException
     {
         // can't be implemented using the LHM
@@ -179,9 +179,9 @@
          */
         @SuppressWarnings("synthetic-access")
         @Override
-        protected boolean removeEldestEntry( Map.Entry<K, MemoryElementDescriptor<K, V>> eldest )
+        protected boolean removeEldestEntry( final Map.Entry<K, MemoryElementDescriptor<K, V>> eldest )
         {
-            ICacheElement<K, V> element = eldest.getValue().getCacheElement();
+            final ICacheElement<K, V> element = eldest.getValue().getCacheElement();
 
             if ( size() <= getCacheAttributes().getMaxObjects() )
             {
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/lru/LRUMemoryCache.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/lru/LRUMemoryCache.java
index ac40202..2fca624 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/lru/LRUMemoryCache.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/lru/LRUMemoryCache.java
@@ -48,7 +48,7 @@
      * @throws IOException
      */
     @Override
-    protected MemoryElementDescriptor<K, V> adjustListForUpdate( ICacheElement<K, V> ce )
+    protected MemoryElementDescriptor<K, V> adjustListForUpdate( final ICacheElement<K, V> ce )
         throws IOException
     {
         return addFirst( ce );
@@ -60,7 +60,7 @@
      * @param me
      */
     @Override
-    protected void adjustListForGet( MemoryElementDescriptor<K, V> me )
+    protected void adjustListForGet( final MemoryElementDescriptor<K, V> me )
     {
         list.makeFirst( me );
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/mru/MRUMemoryCache.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/mru/MRUMemoryCache.java
index 2cf7fcb..28b4314 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/mru/MRUMemoryCache.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/mru/MRUMemoryCache.java
@@ -43,7 +43,7 @@
      * @throws IOException
      */
     @Override
-    protected MemoryElementDescriptor<K, V> adjustListForUpdate( ICacheElement<K, V> ce )
+    protected MemoryElementDescriptor<K, V> adjustListForUpdate( final ICacheElement<K, V> ce )
         throws IOException
     {
         return addFirst( ce );
@@ -55,7 +55,7 @@
      * @param me
      */
     @Override
-    protected void adjustListForGet( MemoryElementDescriptor<K, V> me )
+    protected void adjustListForGet( final MemoryElementDescriptor<K, V> me )
     {
         list.makeLast( me );
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/shrinking/ShrinkerThread.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/shrinking/ShrinkerThread.java
index 9c1321a..55272eb 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/shrinking/ShrinkerThread.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/shrinking/ShrinkerThread.java
@@ -57,11 +57,11 @@
      * <p>
      * @param cache The MemoryCache which the new shrinker should watch.
      */
-    public ShrinkerThread( CompositeCache<K, V> cache )
+    public ShrinkerThread( final CompositeCache<K, V> cache )
     {
         this.cache = cache;
 
-        long maxMemoryIdleTimeSeconds = cache.getCacheAttributes().getMaxMemoryIdleTimeSeconds();
+        final long maxMemoryIdleTimeSeconds = cache.getCacheAttributes().getMaxMemoryIdleTimeSeconds();
 
         if ( maxMemoryIdleTimeSeconds < 0 )
         {
@@ -108,17 +108,17 @@
     {
         log.debug( "Shrinking memory cache for: {0}", () -> this.cache.getCacheName() );
 
-        IMemoryCache<K, V> memCache = cache.getMemoryCache();
+        final IMemoryCache<K, V> memCache = cache.getMemoryCache();
 
         try
         {
-            Set<K> keys = memCache.getKeySet();
-            int size = keys.size();
+            final Set<K> keys = memCache.getKeySet();
+            final int size = keys.size();
             log.debug( "Keys size: {0}", size );
 
             int spoolCount = 0;
 
-            for (K key : keys)
+            for (final K key : keys)
             {
                 final ICacheElement<K, V> cacheElement = memCache.getQuiet( key );
 
@@ -127,11 +127,11 @@
                     continue;
                 }
 
-                IElementAttributes attributes = cacheElement.getElementAttributes();
+                final IElementAttributes attributes = cacheElement.getElementAttributes();
 
                 boolean remove = false;
 
-                long now = System.currentTimeMillis();
+                final long now = System.currentTimeMillis();
 
                 // If the element is not eternal, check if it should be
                 // removed and remove it if so.
@@ -186,7 +186,7 @@
                 }
             }
         }
-        catch ( Throwable t )
+        catch ( final Throwable t )
         {
             log.info( "Unexpected trouble in shrink cycle", t );
 
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/soft/SoftReferenceMemoryCache.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/soft/SoftReferenceMemoryCache.java
index d89537b..4579e09 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/soft/SoftReferenceMemoryCache.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/soft/SoftReferenceMemoryCache.java
@@ -71,7 +71,7 @@
      * @param hub
      */
     @Override
-    public synchronized void initialize( CompositeCache<K, V> hub )
+    public synchronized void initialize( final CompositeCache<K, V> hub )
     {
         super.initialize( hub );
         strongReferences = new LinkedBlockingQueue<>();
@@ -94,10 +94,10 @@
     @Override
     public Set<K> getKeySet()
     {
-        Set<K> keys = new HashSet<>();
-        for (Map.Entry<K, MemoryElementDescriptor<K, V>> e : map.entrySet())
+        final Set<K> keys = new HashSet<>();
+        for (final Map.Entry<K, MemoryElementDescriptor<K, V>> e : map.entrySet())
         {
-            SoftReferenceElementDescriptor<K, V> sred = (SoftReferenceElementDescriptor<K, V>) e.getValue();
+            final SoftReferenceElementDescriptor<K, V> sred = (SoftReferenceElementDescriptor<K, V>) e.getValue();
             if (sred.getCacheElement() != null)
             {
                 keys.add(e.getKey());
@@ -116,9 +116,9 @@
     public int getSize()
     {
         int size = 0;
-        for (MemoryElementDescriptor<K, V> me : map.values())
+        for (final MemoryElementDescriptor<K, V> me : map.values())
         {
-            SoftReferenceElementDescriptor<K, V> sred = (SoftReferenceElementDescriptor<K, V>) me;
+            final SoftReferenceElementDescriptor<K, V> sred = (SoftReferenceElementDescriptor<K, V>) me;
             if (sred.getCacheElement() != null)
             {
                 size++;
@@ -133,11 +133,11 @@
     @Override
     public IStats getStatistics()
     {
-        IStats stats = super.getStatistics();
+        final IStats stats = super.getStatistics();
         stats.setTypeName("Soft Reference Memory Cache");
 
-        List<IStatElement<?>> elems = stats.getStatElements();
-        int emptyrefs = map.size() - getSize();
+        final List<IStatElement<?>> elems = stats.getStatElements();
+        final int emptyrefs = map.size() - getSize();
         elems.add(new StatElement<>("Empty References", Integer.valueOf(emptyrefs)));
         elems.add(new StatElement<>("Strong References", Integer.valueOf(strongReferences.size())));
 
@@ -151,9 +151,9 @@
      * @param me the memory element descriptor
      */
     @Override
-    protected void lockedGetElement(MemoryElementDescriptor<K, V> me)
+    protected void lockedGetElement(final MemoryElementDescriptor<K, V> me)
     {
-        ICacheElement<K, V> val = me.getCacheElement();
+        final ICacheElement<K, V> val = me.getCacheElement();
         val.getElementAttributes().setLastAccessTimeNow();
 
         // update the ordering of the strong references
@@ -168,7 +168,7 @@
      * @param me the memory element descriptor
      */
     @Override
-    protected void lockedRemoveElement(MemoryElementDescriptor<K, V> me)
+    protected void lockedRemoveElement(final MemoryElementDescriptor<K, V> me)
     {
         strongReferences.remove(me.getCacheElement());
     }
@@ -190,7 +190,7 @@
      * @throws IOException Description of the Exception
      */
     @Override
-    public void update(ICacheElement<K, V> ce) throws IOException
+    public void update(final ICacheElement<K, V> ce) throws IOException
     {
         putCnt.incrementAndGet();
         ce.getElementAttributes().setLastAccessTimeNow();
@@ -215,12 +215,12 @@
      */
     private void trimStrongReferences()
     {
-        int max = getCacheAttributes().getMaxObjects();
-        int startsize = strongReferences.size();
+        final int max = getCacheAttributes().getMaxObjects();
+        final int startsize = strongReferences.size();
 
         for (int cursize = startsize; cursize > max; cursize--)
         {
-            ICacheElement<K, V> ce = strongReferences.poll();
+            final ICacheElement<K, V> ce = strongReferences.poll();
             waterfal(ce);
         }
     }
@@ -233,7 +233,7 @@
      * @throws IOException
      */
     @Override
-    public int freeElements(int numberToFree) throws IOException
+    public int freeElements(final int numberToFree) throws IOException
     {
         return 0;
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/util/MemoryElementDescriptor.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/util/MemoryElementDescriptor.java
index 7577016..cc1f5fc 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/util/MemoryElementDescriptor.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/util/MemoryElementDescriptor.java
@@ -36,7 +36,7 @@
      * <p>
      * @param ce
      */
-    public MemoryElementDescriptor( ICacheElement<K, V> ce )
+    public MemoryElementDescriptor( final ICacheElement<K, V> ce )
     {
         super( ce );
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/util/SoftReferenceElementDescriptor.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/util/SoftReferenceElementDescriptor.java
index 4b001ec..7a4ca6e 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/util/SoftReferenceElementDescriptor.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/memory/util/SoftReferenceElementDescriptor.java
@@ -40,7 +40,7 @@
      * <p>
      * @param ce
      */
-    public SoftReferenceElementDescriptor( ICacheElement<K, V> ce )
+    public SoftReferenceElementDescriptor( final ICacheElement<K, V> ce )
     {
         super( null );
         this.srce = new SoftReference<>(ce);
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/stats/CacheStats.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/stats/CacheStats.java
index 6f6c9d5..64a8df7 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/stats/CacheStats.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/stats/CacheStats.java
@@ -59,7 +59,7 @@
      * @param name - The region name
      */
     @Override
-    public void setRegionName( String name )
+    public void setRegionName( final String name )
     {
         regionName = name;
     }
@@ -77,7 +77,7 @@
      * @param stats
      */
     @Override
-    public void setAuxiliaryCacheStats( List<IStats> stats )
+    public void setAuxiliaryCacheStats( final List<IStats> stats )
     {
         auxStats = stats;
     }
@@ -88,13 +88,13 @@
     @Override
     public String toString()
     {
-        StringBuilder buf = new StringBuilder();
+        final StringBuilder buf = new StringBuilder();
 
         buf.append( "Region Name = " + regionName );
 
         if ( getStatElements() != null )
         {
-            for ( Object stat : getStatElements() )
+            for ( final Object stat : getStatElements() )
             {
                 buf.append( "\n" );
                 buf.append( stat );
@@ -103,7 +103,7 @@
 
         if ( auxStats != null )
         {
-            for ( Object auxStat : auxStats )
+            for ( final Object auxStat : auxStats )
             {
                 buf.append( "\n" );
                 buf.append( "---------------------------" );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/stats/StatElement.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/stats/StatElement.java
index 0a29795..b4169f2 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/stats/StatElement.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/stats/StatElement.java
@@ -42,7 +42,7 @@
      * @param name
      * @param data
      */
-    public StatElement(String name, V data)
+    public StatElement(final String name, final V data)
     {
         this.name = name;
         this.data = data;
@@ -63,7 +63,7 @@
      * @param name
      */
     @Override
-    public void setName( String name )
+    public void setName( final String name )
     {
         this.name = name;
     }
@@ -85,7 +85,7 @@
      * @param data
      */
     @Override
-    public void setData( V data )
+    public void setData( final V data )
     {
         this.data = data;
     }
@@ -96,7 +96,7 @@
     @Override
     public String toString()
     {
-        StringBuilder buf = new StringBuilder();
+        final StringBuilder buf = new StringBuilder();
         buf.append( name ).append(" = ").append( data );
         return buf.toString();
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/stats/Stats.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/stats/Stats.java
index db420a8..4e86ed7 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/stats/Stats.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/stats/Stats.java
@@ -52,7 +52,7 @@
      * @param stats
      */
     @Override
-    public void setStatElements( List<IStatElement<?>> stats )
+    public void setStatElements( final List<IStatElement<?>> stats )
     {
         this.stats = stats;
     }
@@ -70,7 +70,7 @@
      * @param name
      */
     @Override
-    public void setTypeName( String name )
+    public void setTypeName( final String name )
     {
         typeName = name;
     }
@@ -81,13 +81,13 @@
     @Override
     public String toString()
     {
-        StringBuilder buf = new StringBuilder();
+        final StringBuilder buf = new StringBuilder();
 
         buf.append( typeName );
 
         if ( stats != null )
         {
-            for (Object stat : stats)
+            for (final Object stat : stats)
             {
                 buf.append( "\n" );
                 buf.append( stat );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/io/ObjectInputStreamClassLoaderAware.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/io/ObjectInputStreamClassLoaderAware.java
index d1d0802..d00b170 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/io/ObjectInputStreamClassLoaderAware.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/io/ObjectInputStreamClassLoaderAware.java
@@ -46,7 +46,7 @@
 
         try {
             return Proxy.getProxyClass(classLoader, cinterfaces);
-        } catch (IllegalArgumentException e) {
+        } catch (final IllegalArgumentException e) {
             throw new ClassNotFoundException(null, e);
         }
     }
@@ -81,7 +81,7 @@
             return property == null ? null : property.split(" *, *");
         }
 
-        private static boolean contains(final String[] list, String name) {
+        private static boolean contains(final String[] list, final String name) {
             if (list != null) {
                 for (final String white : list) {
                     if (name.startsWith(white)) {
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/log/JulLogAdapter.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/log/JulLogAdapter.java
index 4b5eefe..8e7a181 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/log/JulLogAdapter.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/log/JulLogAdapter.java
@@ -46,12 +46,12 @@
      *
      * @param logger the JUL Logger
      */
-    public JulLogAdapter(Logger logger)
+    public JulLogAdapter(final Logger logger)
     {
         this.logger = logger;
     }
 
-    private void log(Level level, String message)
+    private void log(final Level level, final String message)
     {
         if (logger.isLoggable(level))
         {
@@ -59,7 +59,7 @@
         }
     }
 
-    private void log(Level level, Object message)
+    private void log(final Level level, final Object message)
     {
         if (logger.isLoggable(level))
         {
@@ -75,7 +75,7 @@
         }
     }
 
-    private void log(Level level, String message, Throwable t)
+    private void log(final Level level, final String message, final Throwable t)
     {
         if (logger.isLoggable(level))
         {
@@ -83,11 +83,11 @@
         }
     }
 
-    private void log(Level level, String message, Object... params)
+    private void log(final Level level, final String message, final Object... params)
     {
         if (logger.isLoggable(level))
         {
-            MessageFormatter formatter = new MessageFormatter(message, params);
+            final MessageFormatter formatter = new MessageFormatter(message, params);
             if (formatter.hasThrowable())
             {
                 logger.logp(level, logger.getName(), "",
@@ -101,11 +101,11 @@
         }
     }
 
-    private void log(Level level, String message, Supplier<?>... paramSuppliers)
+    private void log(final Level level, final String message, final Supplier<?>... paramSuppliers)
     {
         if (logger.isLoggable(level))
         {
-            MessageFormatter formatter = new MessageFormatter(message, paramSuppliers);
+            final MessageFormatter formatter = new MessageFormatter(message, paramSuppliers);
             if (formatter.hasThrowable())
             {
                 logger.logp(level, logger.getName(), "",
@@ -125,7 +125,7 @@
      * @param message the message string to log.
      */
     @Override
-    public void debug(String message)
+    public void debug(final String message)
     {
         log(Level.FINE, message);
     }
@@ -136,7 +136,7 @@
      * @param message the message object to log.
      */
     @Override
-    public void debug(Object message)
+    public void debug(final Object message)
     {
         log(Level.FINE, message);
     }
@@ -149,7 +149,7 @@
      * @see #getMessageFactory()
      */
     @Override
-    public void debug(String message, Object... params)
+    public void debug(final String message, final Object... params)
     {
         log(Level.FINE, message, params);
     }
@@ -163,7 +163,7 @@
      *        produce the desired log message parameters.
      */
     @Override
-    public void debug(String message, Supplier<?>... paramSuppliers)
+    public void debug(final String message, final Supplier<?>... paramSuppliers)
     {
         log(Level.FINE, message, paramSuppliers);
     }
@@ -176,7 +176,7 @@
      * @param t the exception to log, including its stack trace.
      */
     @Override
-    public void debug(String message, Throwable t)
+    public void debug(final String message, final Throwable t)
     {
         log(Level.FINE, message, t);
     }
@@ -187,7 +187,7 @@
      * @param message the message string to log.
      */
     @Override
-    public void error(String message)
+    public void error(final String message)
     {
         log(Level.SEVERE, message);
     }
@@ -198,7 +198,7 @@
      * @param message the message object to log.
      */
     @Override
-    public void error(Object message)
+    public void error(final Object message)
     {
         log(Level.SEVERE, message);
     }
@@ -210,7 +210,7 @@
      * @param params parameters to the message.
      */
     @Override
-    public void error(String message, Object... params)
+    public void error(final String message, final Object... params)
     {
         log(Level.SEVERE, message, params);
     }
@@ -225,7 +225,7 @@
      * @since 2.4
      */
     @Override
-    public void error(String message, Supplier<?>... paramSuppliers)
+    public void error(final String message, final Supplier<?>... paramSuppliers)
     {
         log(Level.SEVERE, message, paramSuppliers);
     }
@@ -238,7 +238,7 @@
      * @param t the exception to log, including its stack trace.
      */
     @Override
-    public void error(String message, Throwable t)
+    public void error(final String message, final Throwable t)
     {
         log(Level.SEVERE, message, t);
     }
@@ -249,7 +249,7 @@
      * @param message the message string to log.
      */
     @Override
-    public void fatal(String message)
+    public void fatal(final String message)
     {
         log(Level.SEVERE, message);
     }
@@ -260,7 +260,7 @@
      * @param message the message object to log.
      */
     @Override
-    public void fatal(Object message)
+    public void fatal(final Object message)
     {
         log(Level.SEVERE, message);
     }
@@ -272,7 +272,7 @@
      * @param params parameters to the message.
      */
     @Override
-    public void fatal(String message, Object... params)
+    public void fatal(final String message, final Object... params)
     {
         log(Level.SEVERE, message, params);
     }
@@ -286,7 +286,7 @@
      *        desired log message parameters.
      */
     @Override
-    public void fatal(String message, Supplier<?>... paramSuppliers)
+    public void fatal(final String message, final Supplier<?>... paramSuppliers)
     {
         log(Level.SEVERE, message, paramSuppliers);
     }
@@ -299,7 +299,7 @@
      * @param t the exception to log, including its stack trace.
      */
     @Override
-    public void fatal(String message, Throwable t)
+    public void fatal(final String message, final Throwable t)
     {
         log(Level.SEVERE, message, t);
     }
@@ -321,7 +321,7 @@
      * @param message the message string to log.
      */
     @Override
-    public void info(String message)
+    public void info(final String message)
     {
         log(Level.INFO, message);
     }
@@ -332,7 +332,7 @@
      * @param message the message object to log.
      */
     @Override
-    public void info(Object message)
+    public void info(final Object message)
     {
         log(Level.INFO, message);
     }
@@ -344,7 +344,7 @@
      * @param params parameters to the message.
      */
     @Override
-    public void info(String message, Object... params)
+    public void info(final String message, final Object... params)
     {
         log(Level.INFO, message, params);
     }
@@ -358,7 +358,7 @@
      *        the desired log message parameters.
      */
     @Override
-    public void info(String message, Supplier<?>... paramSuppliers)
+    public void info(final String message, final Supplier<?>... paramSuppliers)
     {
         log(Level.INFO, message, paramSuppliers);
     }
@@ -371,7 +371,7 @@
      * @param t the exception to log, including its stack trace.
      */
     @Override
-    public void info(String message, Throwable t)
+    public void info(final String message, final Throwable t)
     {
         log(Level.INFO, message, t);
     }
@@ -454,7 +454,7 @@
      * @param message the message string to log.
      */
     @Override
-    public void trace(String message)
+    public void trace(final String message)
     {
         log(Level.FINER, message);
     }
@@ -465,7 +465,7 @@
      * @param message the message object to log.
      */
     @Override
-    public void trace(Object message)
+    public void trace(final Object message)
     {
         log(Level.FINER, message);
     }
@@ -477,7 +477,7 @@
      * @param params parameters to the message.
      */
     @Override
-    public void trace(String message, Object... params)
+    public void trace(final String message, final Object... params)
     {
         log(Level.FINER, message, params);
     }
@@ -491,7 +491,7 @@
      *        the desired log message parameters.
      */
     @Override
-    public void trace(String message, Supplier<?>... paramSuppliers)
+    public void trace(final String message, final Supplier<?>... paramSuppliers)
     {
         log(Level.FINER, message, paramSuppliers);
     }
@@ -505,7 +505,7 @@
      * @see #debug(String)
      */
     @Override
-    public void trace(String message, Throwable t)
+    public void trace(final String message, final Throwable t)
     {
         log(Level.FINER, message, t);
     }
@@ -516,7 +516,7 @@
      * @param message the message string to log.
      */
     @Override
-    public void warn(String message)
+    public void warn(final String message)
     {
         log(Level.WARNING, message);
     }
@@ -527,7 +527,7 @@
      * @param message the message object to log.
      */
     @Override
-    public void warn(Object message)
+    public void warn(final Object message)
     {
         log(Level.WARNING, message);
     }
@@ -539,7 +539,7 @@
      * @param params parameters to the message.
      */
     @Override
-    public void warn(String message, Object... params)
+    public void warn(final String message, final Object... params)
     {
         log(Level.WARNING, message, params);
     }
@@ -553,7 +553,7 @@
      *        the desired log message parameters.
      */
     @Override
-    public void warn(String message, Supplier<?>... paramSuppliers)
+    public void warn(final String message, final Supplier<?>... paramSuppliers)
     {
         log(Level.WARNING, message, paramSuppliers);
     }
@@ -566,7 +566,7 @@
      * @param t the exception to log, including its stack trace.
      */
     @Override
-    public void warn(String message, Throwable t)
+    public void warn(final String message, final Throwable t)
     {
         log(Level.WARNING, message, t);
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/log/JulLogFactory.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/log/JulLogFactory.java
index 2edfb1c..b9c1e6c 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/log/JulLogFactory.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/log/JulLogFactory.java
@@ -56,7 +56,7 @@
     @Override
     public Log getLog(final Class<?> clazz)
     {
-        Logger logger = Logger.getLogger(clazz.getName());
+        final Logger logger = Logger.getLogger(clazz.getName());
         return new JulLogAdapter(logger);
     }
 
@@ -70,7 +70,7 @@
     @Override
     public Log getLog(final String name)
     {
-        Logger logger = Logger.getLogger(name);
+        final Logger logger = Logger.getLogger(name);
         return new JulLogAdapter(logger);
     }
 }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/log/Log4j2Factory.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/log/Log4j2Factory.java
index ef6fdbc..4cb41e4 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/log/Log4j2Factory.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/log/Log4j2Factory.java
@@ -64,7 +64,7 @@
     @Override
     public Log getLog(final Class<?> clazz)
     {
-        Logger logger = org.apache.logging.log4j.LogManager.getLogger(clazz, messageFactory);
+        final Logger logger = org.apache.logging.log4j.LogManager.getLogger(clazz, messageFactory);
         return new Log4j2LogAdapter(logger);
     }
 
@@ -82,7 +82,7 @@
     @Override
     public Log getLog(final String name)
     {
-        Logger logger = org.apache.logging.log4j.LogManager.getLogger(name, messageFactory);
+        final Logger logger = org.apache.logging.log4j.LogManager.getLogger(name, messageFactory);
         return new Log4j2LogAdapter(logger);
     }
 }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/log/Log4j2LogAdapter.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/log/Log4j2LogAdapter.java
index bf2ed79..fbb89f9 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/log/Log4j2LogAdapter.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/log/Log4j2LogAdapter.java
@@ -35,12 +35,12 @@
      *
      * @param logger the log4j Logger
      */
-    public Log4j2LogAdapter(Logger logger)
+    public Log4j2LogAdapter(final Logger logger)
     {
         this.logger = logger;
     }
 
-    private void log(Level level, String message, Supplier<?>... paramSuppliers)
+    private void log(final Level level, final String message, final Supplier<?>... paramSuppliers)
     {
         if (logger.isEnabled(level))
         {
@@ -84,7 +84,7 @@
      * @param message the message string to log.
      */
     @Override
-    public void debug(String message)
+    public void debug(final String message)
     {
         logger.debug(message);
     }
@@ -95,7 +95,7 @@
      * @param message the message object to log.
      */
     @Override
-    public void debug(Object message)
+    public void debug(final Object message)
     {
         logger.debug(message);
     }
@@ -107,7 +107,7 @@
      * @param params parameters to the message.
      */
     @Override
-    public void debug(String message, Object... params)
+    public void debug(final String message, final Object... params)
     {
         logger.debug(message, params);
     }
@@ -121,7 +121,7 @@
      *        the desired log message parameters.
      */
     @Override
-    public void debug(String message, Supplier<?>... paramSuppliers)
+    public void debug(final String message, final Supplier<?>... paramSuppliers)
     {
         log(Level.DEBUG, message, paramSuppliers);
     }
@@ -134,7 +134,7 @@
      * @param t the exception to log, including its stack trace.
      */
     @Override
-    public void debug(String message, Throwable t)
+    public void debug(final String message, final Throwable t)
     {
         logger.debug(message, t);
     }
@@ -145,7 +145,7 @@
      * @param message the message string to log.
      */
     @Override
-    public void error(String message)
+    public void error(final String message)
     {
         logger.error(message);
     }
@@ -156,7 +156,7 @@
      * @param message the message object to log.
      */
     @Override
-    public void error(Object message)
+    public void error(final Object message)
     {
         logger.error(message);
     }
@@ -168,7 +168,7 @@
      * @param params parameters to the message.
      */
     @Override
-    public void error(String message, Object... params)
+    public void error(final String message, final Object... params)
     {
         logger.error(message, params);
     }
@@ -182,7 +182,7 @@
      *        the desired log message parameters.
      */
     @Override
-    public void error(String message, Supplier<?>... paramSuppliers)
+    public void error(final String message, final Supplier<?>... paramSuppliers)
     {
         log(Level.ERROR, message, paramSuppliers);
     }
@@ -195,7 +195,7 @@
      * @param t the exception to log, including its stack trace.
      */
     @Override
-    public void error(String message, Throwable t)
+    public void error(final String message, final Throwable t)
     {
         logger.error(message, t);
     }
@@ -206,7 +206,7 @@
      * @param message the message string to log.
      */
     @Override
-    public void fatal(String message)
+    public void fatal(final String message)
     {
         logger.fatal(message);
     }
@@ -217,7 +217,7 @@
      * @param message the message object to log.
      */
     @Override
-    public void fatal(Object message)
+    public void fatal(final Object message)
     {
         logger.fatal(message);
     }
@@ -229,7 +229,7 @@
      * @param params parameters to the message.
      */
     @Override
-    public void fatal(String message, Object... params)
+    public void fatal(final String message, final Object... params)
     {
         logger.fatal(message, params);
     }
@@ -243,7 +243,7 @@
      *        the desired log message parameters.
      */
     @Override
-    public void fatal(String message, Supplier<?>... paramSuppliers)
+    public void fatal(final String message, final Supplier<?>... paramSuppliers)
     {
         log(Level.FATAL, message, paramSuppliers);
     }
@@ -256,7 +256,7 @@
      * @param t the exception to log, including its stack trace.
      */
     @Override
-    public void fatal(String message, Throwable t)
+    public void fatal(final String message, final Throwable t)
     {
         logger.fatal(message, t);
     }
@@ -278,7 +278,7 @@
      * @param message the message string to log.
      */
     @Override
-    public void info(String message)
+    public void info(final String message)
     {
         logger.info(message);
     }
@@ -289,7 +289,7 @@
      * @param message the message object to log.
      */
     @Override
-    public void info(Object message)
+    public void info(final Object message)
     {
         logger.info(message);
     }
@@ -301,7 +301,7 @@
      * @param params parameters to the message.
      */
     @Override
-    public void info(String message, Object... params)
+    public void info(final String message, final Object... params)
     {
         logger.info(message, params);
     }
@@ -315,7 +315,7 @@
      *        the desired log message parameters.
      */
     @Override
-    public void info(String message, Supplier<?>... paramSuppliers)
+    public void info(final String message, final Supplier<?>... paramSuppliers)
     {
         log(Level.INFO, message, paramSuppliers);
     }
@@ -328,7 +328,7 @@
      * @param t the exception to log, including its stack trace.
      */
     @Override
-    public void info(String message, Throwable t)
+    public void info(final String message, final Throwable t)
     {
         logger.info(message, t);
     }
@@ -411,7 +411,7 @@
      * @param message the message string to log.
      */
     @Override
-    public void trace(String message)
+    public void trace(final String message)
     {
         logger.trace(message);
     }
@@ -422,7 +422,7 @@
      * @param message the message object to log.
      */
     @Override
-    public void trace(Object message)
+    public void trace(final Object message)
     {
         logger.trace(message);
     }
@@ -434,7 +434,7 @@
      * @param params parameters to the message.
      */
     @Override
-    public void trace(String message, Object... params)
+    public void trace(final String message, final Object... params)
     {
         logger.trace(message, params);
     }
@@ -448,7 +448,7 @@
      *        the desired log message parameters.
      */
     @Override
-    public void trace(String message, Supplier<?>... paramSuppliers)
+    public void trace(final String message, final Supplier<?>... paramSuppliers)
     {
         log(Level.TRACE, message, paramSuppliers);
     }
@@ -462,7 +462,7 @@
      * @see #debug(String)
      */
     @Override
-    public void trace(String message, Throwable t)
+    public void trace(final String message, final Throwable t)
     {
         logger.trace(message, t);
     }
@@ -473,7 +473,7 @@
      * @param message the message string to log.
      */
     @Override
-    public void warn(String message)
+    public void warn(final String message)
     {
         logger.warn(message);
     }
@@ -484,7 +484,7 @@
      * @param message the message object to log.
      */
     @Override
-    public void warn(Object message)
+    public void warn(final Object message)
     {
         logger.warn(message);
     }
@@ -496,7 +496,7 @@
      * @param params parameters to the message.
      */
     @Override
-    public void warn(String message, Object... params)
+    public void warn(final String message, final Object... params)
     {
         logger.warn(message, params);
     }
@@ -510,7 +510,7 @@
      *        the desired log message parameters.
      */
     @Override
-    public void warn(String message, Supplier<?>... paramSuppliers)
+    public void warn(final String message, final Supplier<?>... paramSuppliers)
     {
         log(Level.WARN, message, paramSuppliers);
     }
@@ -523,7 +523,7 @@
      * @param t the exception to log, including its stack trace.
      */
     @Override
-    public void warn(String message, Throwable t)
+    public void warn(final String message, final Throwable t)
     {
         logger.warn(message, t);
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/log/LogManager.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/log/LogManager.java
index 9ca9dfb..3cb8964 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/log/LogManager.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/log/LogManager.java
@@ -51,14 +51,14 @@
          */
         private static LogFactory createLogFactory()
         {
-            ServiceLoader<LogFactory> factories = ServiceLoader.load(LogFactory.class);
+            final ServiceLoader<LogFactory> factories = ServiceLoader.load(LogFactory.class);
             if (LogManager.logSystem == null)
             {
                 LogManager.logSystem = System.getProperty("jcs.logSystem",
                         LOGSYSTEM_JAVA_UTIL_LOGGING);
             }
 
-            for (LogFactory factory : factories)
+            for (final LogFactory factory : factories)
             {
                 if (logSystem.equalsIgnoreCase(factory.getName()))
                 {
@@ -75,7 +75,7 @@
      *
      * @param logSystem the logSystem to set
      */
-    public static void setLogSystem(String logSystem)
+    public static void setLogSystem(final String logSystem)
     {
         LogManager.logSystem = logSystem;
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/access/AbstractJCSWorkerHelper.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/access/AbstractJCSWorkerHelper.java
index 7b20762..fa56bc6 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/access/AbstractJCSWorkerHelper.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/access/AbstractJCSWorkerHelper.java
@@ -52,7 +52,7 @@
      * @param isFinished
      */
     @Override
-    public void setFinished( boolean isFinished )
+    public void setFinished( final boolean isFinished )
     {
         finished.set(isFinished);
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/access/JCSWorker.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/access/JCSWorker.java
index f0caba8..e3545c8 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/access/JCSWorker.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/access/JCSWorker.java
@@ -125,7 +125,7 @@
             cache = JCS.getInstance( aRegion );
             groupCache = JCS.getGroupCacheInstance( aRegion );
         }
-        catch ( CacheException e )
+        catch ( final CacheException e )
         {
             throw new RuntimeException( e.getMessage() );
         }
@@ -157,7 +157,7 @@
      *             Throws an exception if anything goes wrong while doing the
      *             work.
      */
-    public V getResult( K aKey, JCSWorkerHelper<V> aWorker )
+    public V getResult( final K aKey, final JCSWorkerHelper<V> aWorker )
         throws Exception
     {
         return run( aKey, null, aWorker );
@@ -182,7 +182,7 @@
      *             Throws an exception if anything goes wrong while doing the
      *             work.
      */
-    public V getResult( K aKey, String aGroup, JCSWorkerHelper<V> aWorker )
+    public V getResult( final K aKey, final String aGroup, final JCSWorkerHelper<V> aWorker )
         throws Exception
     {
         return run( aKey, aGroup, aWorker );
@@ -202,13 +202,13 @@
      *             If something goes wrong while doing the work, throw an
      *             exception.
      */
-    private V run( K aKey, String aGroup, JCSWorkerHelper<V> aHelper )
+    private V run( final K aKey, final String aGroup, final JCSWorkerHelper<V> aHelper )
         throws Exception
     {
         V result = null;
         // long start = 0;
         // long dbTime = 0;
-        JCSWorkerHelper<V> helper = map.putIfAbsent(getRegion() + aKey, aHelper);
+        final JCSWorkerHelper<V> helper = map.putIfAbsent(getRegion() + aKey, aHelper);
 
         if ( helper != null )
         {
@@ -222,7 +222,7 @@
                     {
                         helper.wait();
                     }
-                    catch (InterruptedException e)
+                    catch (final InterruptedException e)
                     {
                         // expected
                     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/config/OptionConverter.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/config/OptionConverter.java
index a463722..dfe03bc 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/config/OptionConverter.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/config/OptionConverter.java
@@ -57,10 +57,10 @@
      * @param r
      * @return String[]
      */
-    public static String[] concatanateArrays( String[] l, String[] r )
+    public static String[] concatanateArrays( final String[] l, final String[] r )
     {
-        int len = l.length + r.length;
-        String[] a = new String[len];
+        final int len = l.length + r.length;
+        final String[] a = new String[len];
 
         System.arraycopy( l, 0, a, 0, l.length );
         System.arraycopy( r, 0, a, l.length, r.length );
@@ -74,11 +74,11 @@
      * @param s
      * @return String
      */
-    public static String convertSpecialChars( String s )
+    public static String convertSpecialChars( final String s )
     {
         char c;
-        int len = s.length();
-        StringBuilder sb = new StringBuilder( len );
+        final int len = s.length();
+        final StringBuilder sb = new StringBuilder( len );
 
         int i = 0;
         while ( i < len )
@@ -135,13 +135,13 @@
      * @since 1.1
      */
 
-    public static String getSystemProperty( String key, String def )
+    public static String getSystemProperty( final String key, final String def )
     {
         try
         {
             return System.getProperty( key, def );
         }
-        catch ( Throwable e )
+        catch ( final Throwable e )
         {
             // MS-Java throws com.ms.security.SecurityExceptionEx
             log.debug( "Was not allowed to read system property \"{0}\".", key );
@@ -157,11 +157,11 @@
      * @param defaultValue
      * @return Object that was created
      */
-    public static <T> T instantiateByKey( Properties props, String key, T defaultValue )
+    public static <T> T instantiateByKey( final Properties props, final String key, final T defaultValue )
     {
 
         // Get the value of the property in string form
-        String className = findAndSubst( key, props );
+        final String className = findAndSubst( key, props );
         if ( className == null )
         {
             log.trace( "Could not find value for key {0}", key );
@@ -180,13 +180,13 @@
      * @param defaultValue
      * @return Object
      */
-    public static boolean toBoolean( String value, boolean defaultValue )
+    public static boolean toBoolean( final String value, final boolean defaultValue )
     {
         if ( value == null )
         {
             return defaultValue;
         }
-        String trimmedVal = value.trim();
+        final String trimmedVal = value.trim();
         if ( "true".equalsIgnoreCase( trimmedVal ) )
         {
             return true;
@@ -205,16 +205,16 @@
      * @param defaultValue
      * @return int
      */
-    public static int toInt( String value, int defaultValue )
+    public static int toInt( final String value, final int defaultValue )
     {
         if ( value != null )
         {
-            String s = value.trim();
+            final String s = value.trim();
             try
             {
                 return Integer.parseInt(s);
             }
-            catch ( NumberFormatException e )
+            catch ( final NumberFormatException e )
             {
                 log.error( "[{0}] is not in proper int form.", s, e );
             }
@@ -227,7 +227,7 @@
      * @param defaultValue
      * @return long
      */
-    public static long toFileSize( String value, long defaultValue )
+    public static long toFileSize( final String value, final long defaultValue )
     {
         if ( value == null )
         {
@@ -259,7 +259,7 @@
             {
                 return Long.parseLong(s) * multiplier;
             }
-            catch ( NumberFormatException e )
+            catch ( final NumberFormatException e )
             {
                 log.error( "[{0}] is not in proper int form.", s);
                 log.error( "[{0}] not in expected format", value, e );
@@ -277,9 +277,9 @@
      * @return substituted string
      */
 
-    public static String findAndSubst( String key, Properties props )
+    public static String findAndSubst( final String key, final Properties props )
     {
-        String value = props.getProperty( key );
+        final String value = props.getProperty( key );
         if ( value == null )
         {
             return null;
@@ -289,7 +289,7 @@
         {
             return substVars( value, props );
         }
-        catch ( IllegalArgumentException e )
+        catch ( final IllegalArgumentException e )
         {
             log.error( "Bad option value [{0}]", value, e );
             return value;
@@ -306,22 +306,23 @@
      * @return instantiated object
      */
 
-    public static <T> T instantiateByClassName( String className, T defaultValue )
+    public static <T> T instantiateByClassName( final String className, final T defaultValue )
     {
         if ( className != null )
         {
             try
             {
-                Class<?> classObj = Class.forName( className );
-                Object o = classObj.newInstance();
+                final Class<?> classObj = Class.forName( className );
+                final Object o = classObj.newInstance();
 
                 try
                 {
                     @SuppressWarnings("unchecked") // CCE catched
+                    final
                     T t = (T) o;
                     return t;
                 }
-                catch (ClassCastException e)
+                catch (final ClassCastException e)
                 {
                     log.error( "A \"{0}\" object is not assignable to the "
                             + "generic variable.", className );
@@ -374,10 +375,10 @@
      * @throws IllegalArgumentException if <code>val</code> is malformed.
      */
 
-    public static String substVars( String val, Properties props )
+    public static String substVars( final String val, final Properties props )
         throws IllegalArgumentException
     {
-        StringBuilder sbuf = new StringBuilder();
+        final StringBuilder sbuf = new StringBuilder();
 
         int i = 0;
         int j;
@@ -403,7 +404,7 @@
                     + j + '.' );
             }
             j += DELIM_START_LEN;
-            String key = val.substring( j, k );
+            final String key = val.substring( j, k );
             // first try in System properties
             String replacement = getSystemProperty( key, null );
             // then try props parameter
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/config/PropertySetter.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/config/PropertySetter.java
index e91ec93..5549460 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/config/PropertySetter.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/config/PropertySetter.java
@@ -68,7 +68,7 @@
      * {@link #setProperty}one or more times.
      * @param obj the object for which to set properties
      */
-    public PropertySetter( Object obj )
+    public PropertySetter( final Object obj )
     {
         this.obj = obj;
     }
@@ -80,10 +80,10 @@
     {
         try
         {
-            BeanInfo bi = Introspector.getBeanInfo( obj.getClass() );
+            final BeanInfo bi = Introspector.getBeanInfo( obj.getClass() );
             props = bi.getPropertyDescriptors();
         }
-        catch ( IntrospectionException ex )
+        catch ( final IntrospectionException ex )
         {
             log.error( "Failed to introspect {0}", obj, ex );
             props = new PropertyDescriptor[0];
@@ -98,7 +98,7 @@
      * @param properties A java.util.Properties containing keys and values.
      * @param prefix Only keys having the specified prefix will be set.
      */
-    public static void setProperties( Object obj, Properties properties, String prefix )
+    public static void setProperties( final Object obj, final Properties properties, final String prefix )
     {
         new PropertySetter( obj ).setProperties( properties, prefix );
     }
@@ -109,11 +109,11 @@
      * @param properties The new properties value
      * @param prefix The new properties value
      */
-    public void setProperties( Properties properties, String prefix )
+    public void setProperties( final Properties properties, final String prefix )
     {
-        int len = prefix.length();
+        final int len = prefix.length();
 
-        for ( Enumeration<?> e = properties.propertyNames(); e.hasMoreElements(); )
+        for ( final Enumeration<?> e = properties.propertyNames(); e.hasMoreElements(); )
         {
             String key = (String) e.nextElement();
 
@@ -129,7 +129,7 @@
                     continue;
                 }
 
-                String value = OptionConverter.findAndSubst( key, properties );
+                final String value = OptionConverter.findAndSubst( key, properties );
                 key = key.substring( len );
 
                 setProperty( key, value );
@@ -151,7 +151,7 @@
      * @param value String value of the property
      */
 
-    public void setProperty( String name, String value )
+    public void setProperty( String name, final String value )
     {
         if ( value == null )
         {
@@ -159,7 +159,7 @@
         }
 
         name = Introspector.decapitalize( name );
-        PropertyDescriptor prop = getPropertyDescriptor( name );
+        final PropertyDescriptor prop = getPropertyDescriptor( name );
 
         //log.debug("---------Key: "+name+", type="+prop.getPropertyType());
 
@@ -173,7 +173,7 @@
             {
                 setProperty( prop, name, value );
             }
-            catch ( PropertySetterException ex )
+            catch ( final PropertySetterException ex )
             {
                 log.warn( "Failed to set property {0} to value \"{1}\".", name, value, ex );
             }
@@ -188,15 +188,15 @@
      * @throws PropertySetterException
      */
 
-    public void setProperty( PropertyDescriptor prop, String name, String value )
+    public void setProperty( final PropertyDescriptor prop, final String name, final String value )
         throws PropertySetterException
     {
-        Method setter = prop.getWriteMethod();
+        final Method setter = prop.getWriteMethod();
         if ( setter == null )
         {
             throw new PropertySetterException( "No setter for property" );
         }
-        Class<?>[] paramTypes = setter.getParameterTypes();
+        final Class<?>[] paramTypes = setter.getParameterTypes();
         if ( paramTypes.length != 1 )
         {
             throw new PropertySetterException( "#params for setter != 1" );
@@ -207,7 +207,7 @@
         {
             arg = convertArg( value, paramTypes[0] );
         }
-        catch ( Throwable t )
+        catch ( final Throwable t )
         {
             throw new PropertySetterException( "Conversion to type [" + paramTypes[0] + "] failed. Reason: " + t );
         }
@@ -220,7 +220,7 @@
         {
             setter.invoke( obj, new Object[] { arg } );
         }
-        catch ( Exception ex )
+        catch ( final Exception ex )
         {
             throw new PropertySetterException( ex );
         }
@@ -232,14 +232,14 @@
      * @param type
      * @return Object
      */
-    protected Object convertArg( String val, Class<?> type )
+    protected Object convertArg( final String val, final Class<?> type )
     {
         if ( val == null )
         {
             return null;
         }
 
-        String v = val.trim();
+        final String v = val.trim();
         if ( String.class.isAssignableFrom( type ) )
         {
             return val;
@@ -265,7 +265,7 @@
         }
         else if( type.isEnum() )
         {
-            Enum<?> en = Enum.valueOf(type.asSubclass(Enum.class), v );
+            final Enum<?> en = Enum.valueOf(type.asSubclass(Enum.class), v );
             return en;
         }
         else if ( File.class.isAssignableFrom( type ) )
@@ -280,7 +280,7 @@
      * @param name
      * @return The propertyDescriptor value
      */
-    protected PropertyDescriptor getPropertyDescriptor( String name )
+    protected PropertyDescriptor getPropertyDescriptor( final String name )
     {
         if ( props == null )
         {
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/config/PropertySetterException.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/config/PropertySetterException.java
index c276b60..2707064 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/config/PropertySetterException.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/config/PropertySetterException.java
@@ -40,7 +40,7 @@
      * <p>
      * @param msg
      */
-    public PropertySetterException( String msg )
+    public PropertySetterException( final String msg )
     {
         super( msg );
         this.rootCause = null;
@@ -51,7 +51,7 @@
      * <p>
      * @param rootCause
      */
-    public PropertySetterException( Throwable rootCause )
+    public PropertySetterException( final Throwable rootCause )
     {
         this.rootCause = rootCause;
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/DiscoveredService.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/DiscoveredService.java
index 50f26a0..a64a179 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/DiscoveredService.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/DiscoveredService.java
@@ -50,7 +50,7 @@
     /**
      * @param cacheNames the cacheNames to set
      */
-    public void setCacheNames( ArrayList<String> cacheNames )
+    public void setCacheNames( final ArrayList<String> cacheNames )
     {
         this.cacheNames = cacheNames;
     }
@@ -66,7 +66,7 @@
     /**
      * @param serviceAddress The serviceAddress to set.
      */
-    public void setServiceAddress( String serviceAddress )
+    public void setServiceAddress( final String serviceAddress )
     {
         this.serviceAddress = serviceAddress;
     }
@@ -82,7 +82,7 @@
     /**
      * @param servicePort The servicePort to set.
      */
-    public void setServicePort( int servicePort )
+    public void setServicePort( final int servicePort )
     {
         this.servicePort = servicePort;
     }
@@ -98,7 +98,7 @@
     /**
      * @param lastHearFromTime The lastHearFromTime to set.
      */
-    public void setLastHearFromTime( long lastHearFromTime )
+    public void setLastHearFromTime( final long lastHearFromTime )
     {
         this.lastHearFromTime = lastHearFromTime;
     }
@@ -129,7 +129,7 @@
      * @return equality based on the address/port
      */
 	@Override
-	public boolean equals(Object otherArg)
+	public boolean equals(final Object otherArg)
 	{
 		if (this == otherArg)
 		{
@@ -143,7 +143,7 @@
 		{
 			return false;
 		}
-		DiscoveredService other = (DiscoveredService) otherArg;
+		final DiscoveredService other = (DiscoveredService) otherArg;
 		if (!Objects.equals(serviceAddress, other.serviceAddress))
 		{
 			return false;
@@ -162,7 +162,7 @@
     @Override
     public String toString()
     {
-        StringBuilder buf = new StringBuilder();
+        final StringBuilder buf = new StringBuilder();
         buf.append( "\n DiscoveredService" );
         buf.append( "\n CacheNames = [" + getCacheNames() + "]" );
         buf.append( "\n ServiceAddress = [" + getServiceAddress() + "]" );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPCleanupRunner.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPCleanupRunner.java
index f07b822..e94f5ac 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPCleanupRunner.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPCleanupRunner.java
@@ -50,7 +50,7 @@
     /**
      * @param service UDPDiscoveryService
      */
-    public UDPCleanupRunner( UDPDiscoveryService service )
+    public UDPCleanupRunner( final UDPDiscoveryService service )
     {
         this.discoveryService = service;
     }
@@ -64,15 +64,15 @@
     @Override
     public void run()
     {
-        long now = System.currentTimeMillis();
+        final long now = System.currentTimeMillis();
 
         // iterate through the set
         // it is thread safe
         // TODO this should get a copy.  you can't simply remove from this.
         // the listeners need to be notified.
-        Set<DiscoveredService> toRemove = new HashSet<>();
+        final Set<DiscoveredService> toRemove = new HashSet<>();
         // can't remove via the iterator. must remove directly
-        for (DiscoveredService service : discoveryService.getDiscoveredServices())
+        for (final DiscoveredService service : discoveryService.getDiscoveredServices())
         {
             if ( ( now - service.getLastHearFromTime() ) > ( maxIdleTimeSeconds * 1000 ) )
             {
@@ -83,7 +83,7 @@
         }
 
         // remove the bad ones
-        for (DiscoveredService service : toRemove)
+        for (final DiscoveredService service : toRemove)
         {
             // call this so the listeners get notified
             discoveryService.removeDiscoveredService( service );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryAttributes.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryAttributes.java
index d0d8c04..e832152 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryAttributes.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryAttributes.java
@@ -76,7 +76,7 @@
     /**
      * @param serviceName The serviceName to set.
      */
-    public void setServiceName( String serviceName )
+    public void setServiceName( final String serviceName )
     {
         this.serviceName = serviceName;
     }
@@ -92,7 +92,7 @@
     /**
      * @param serviceAddress The serviceAddress to set.
      */
-    public void setServiceAddress( String serviceAddress )
+    public void setServiceAddress( final String serviceAddress )
     {
         this.serviceAddress = serviceAddress;
     }
@@ -108,7 +108,7 @@
     /**
      * @param servicePort The servicePort to set.
      */
-    public void setServicePort( int servicePort )
+    public void setServicePort( final int servicePort )
     {
         this.servicePort = servicePort;
     }
@@ -124,7 +124,7 @@
     /**
      * @param udpDiscoveryAddr The udpDiscoveryAddr to set.
      */
-    public void setUdpDiscoveryAddr( String udpDiscoveryAddr )
+    public void setUdpDiscoveryAddr( final String udpDiscoveryAddr )
     {
         this.udpDiscoveryAddr = udpDiscoveryAddr;
     }
@@ -140,7 +140,7 @@
     /**
      * @param udpDiscoveryInterface The udpDiscoveryInterface to set.
      */
-    public void setUdpDiscoveryInterface( String udpDiscoveryInterface )
+    public void setUdpDiscoveryInterface( final String udpDiscoveryInterface )
     {
         this.udpDiscoveryInterface = udpDiscoveryInterface;
     }
@@ -156,7 +156,7 @@
     /**
      * @param udpDiscoveryPort The udpDiscoveryPort to set.
      */
-    public void setUdpDiscoveryPort( int udpDiscoveryPort )
+    public void setUdpDiscoveryPort( final int udpDiscoveryPort )
     {
         this.udpDiscoveryPort = udpDiscoveryPort;
     }
@@ -172,7 +172,7 @@
     /**
      * @param udpTTL The udpTTL to set.
      */
-    public void setUdpTTL( int udpTTL )
+    public void setUdpTTL( final int udpTTL )
     {
         this.udpTTL = udpTTL;
     }
@@ -188,7 +188,7 @@
     /**
      * @param sendDelaySec The sendDelaySec to set.
      */
-    public void setSendDelaySec( int sendDelaySec )
+    public void setSendDelaySec( final int sendDelaySec )
     {
         this.sendDelaySec = sendDelaySec;
     }
@@ -204,7 +204,7 @@
     /**
      * @param maxIdleTimeSec The maxIdleTimeSec to set.
      */
-    public void setMaxIdleTimeSec( int maxIdleTimeSec )
+    public void setMaxIdleTimeSec( final int maxIdleTimeSec )
     {
         this.maxIdleTimeSec = maxIdleTimeSec;
     }
@@ -228,7 +228,7 @@
     /**
      * @param isDark The isDark to set.
      */
-    public void setDark( boolean isDark )
+    public void setDark( final boolean isDark )
     {
         this.isDark = isDark;
     }
@@ -237,7 +237,7 @@
     @Override
     public UDPDiscoveryAttributes clone()
     {
-        UDPDiscoveryAttributes attributes = new UDPDiscoveryAttributes();
+        final UDPDiscoveryAttributes attributes = new UDPDiscoveryAttributes();
         attributes.setSendDelaySec( this.getSendDelaySec() );
         attributes.setMaxIdleTimeSec( this.getMaxIdleTimeSec() );
         attributes.setServiceName( this.getServiceName() );
@@ -254,7 +254,7 @@
     @Override
     public String toString()
     {
-        StringBuilder buf = new StringBuilder();
+        final StringBuilder buf = new StringBuilder();
         buf.append( "\n UDPDiscoveryAttributes" );
         buf.append( "\n ServiceName = [" + getServiceName() + "]" );
         buf.append( "\n ServiceAddress = [" + getServiceAddress() + "]" );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryManager.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryManager.java
index 40f7a44..5bd9c28 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryManager.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryManager.java
@@ -72,20 +72,20 @@
      * @param cacheMgr
      * @return UDPDiscoveryService
      */
-    public UDPDiscoveryService getService( String discoveryAddress, int discoveryPort, int servicePort,
-                                                        ICompositeCacheManager cacheMgr )
+    public UDPDiscoveryService getService( final String discoveryAddress, final int discoveryPort, final int servicePort,
+                                                        final ICompositeCacheManager cacheMgr )
     {
-        String key = discoveryAddress + ":" + discoveryPort + ":" + servicePort;
+        final String key = discoveryAddress + ":" + discoveryPort + ":" + servicePort;
 
-        UDPDiscoveryService service = services.computeIfAbsent(key, k -> {
+        final UDPDiscoveryService service = services.computeIfAbsent(key, k -> {
             log.info( "Creating service for address:port:servicePort [{0}]", key );
 
-            UDPDiscoveryAttributes attributes = new UDPDiscoveryAttributes();
+            final UDPDiscoveryAttributes attributes = new UDPDiscoveryAttributes();
             attributes.setUdpDiscoveryAddr( discoveryAddress );
             attributes.setUdpDiscoveryPort( discoveryPort );
             attributes.setServicePort( servicePort );
 
-            UDPDiscoveryService newService = new UDPDiscoveryService( attributes );
+            final UDPDiscoveryService newService = new UDPDiscoveryService( attributes );
 
             // register for shutdown notification
             cacheMgr.registerShutdownObserver( newService );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryMessage.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryMessage.java
index 70eeb1e..d697d53 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryMessage.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryMessage.java
@@ -68,7 +68,7 @@
     /**
      * @param port The port to set.
      */
-    public void setPort( int port )
+    public void setPort( final int port )
     {
         this.port = port;
     }
@@ -84,7 +84,7 @@
     /**
      * @param host The host to set.
      */
-    public void setHost( String host )
+    public void setHost( final String host )
     {
         this.host = host;
     }
@@ -100,7 +100,7 @@
     /**
      * @param requesterId The requesterId to set.
      */
-    public void setRequesterId( long requesterId )
+    public void setRequesterId( final long requesterId )
     {
         this.requesterId = requesterId;
     }
@@ -116,7 +116,7 @@
     /**
      * @param messageType The messageType to set.
      */
-    public void setMessageType( BroadcastType messageType )
+    public void setMessageType( final BroadcastType messageType )
     {
         this.messageType = messageType;
     }
@@ -132,7 +132,7 @@
     /**
      * @param cacheNames The cacheNames to set.
      */
-    public void setCacheNames( ArrayList<String> cacheNames )
+    public void setCacheNames( final ArrayList<String> cacheNames )
     {
         this.cacheNames = cacheNames;
     }
@@ -151,13 +151,13 @@
     @Override
     public String toString()
     {
-        StringBuilder buf = new StringBuilder();
+        final StringBuilder buf = new StringBuilder();
         buf.append( "\n host = [" + host + "]" );
         buf.append( "\n port = [" + port + "]" );
         buf.append( "\n requesterId = [" + requesterId + "]" );
         buf.append( "\n messageType = [" + messageType + "]" );
         buf.append( "\n Cache Names" );
-        for (String name : cacheNames)
+        for (final String name : cacheNames)
         {
             buf.append( " cacheName = [" + name + "]" );
         }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryReceiver.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryReceiver.java
index 0684d8c..95e3e9b 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryReceiver.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryReceiver.java
@@ -85,8 +85,8 @@
      * @param multicastPort
      * @throws IOException
      */
-    public UDPDiscoveryReceiver( UDPDiscoveryService service, String multicastInterfaceString,
-            String multicastAddressString, int multicastPort )
+    public UDPDiscoveryReceiver( final UDPDiscoveryService service, final String multicastInterfaceString,
+            final String multicastAddressString, final int multicastPort )
         throws IOException
     {
         this.service = service;
@@ -111,8 +111,8 @@
      * @param multicastPort
      * @throws IOException
      */
-    private void createSocket( String multicastInterfaceString, InetAddress multicastAddress,
-            int multicastPort )
+    private void createSocket( final String multicastInterfaceString, final InetAddress multicastAddress,
+            final int multicastPort )
         throws IOException
     {
         try
@@ -141,7 +141,7 @@
 
             mSocket.joinGroup( multicastAddress );
         }
-        catch ( IOException e )
+        catch ( final IOException e )
         {
             log.error( "Could not bind to multicast address [{0}:{1}]", multicastAddress,
                     multicastPort, e );
@@ -181,14 +181,14 @@
             	// Ensure that the address we're supposed to send to is, indeed, the address
             	// of the machine on the other end of this connection.  This guards against
             	// instances where we don't exactly get the right local host address
-            	UDPDiscoveryMessage msg = (UDPDiscoveryMessage) obj;
+            	final UDPDiscoveryMessage msg = (UDPDiscoveryMessage) obj;
             	msg.setHost(packet.getAddress().getHostAddress());
 
                 log.debug( "Read object from address [{0}], object=[{1}]",
                         packet.getSocketAddress(), obj );
             }
         }
-        catch ( Exception e )
+        catch ( final Exception e )
         {
             log.error( "Error receiving multicast packet", e );
         }
@@ -204,7 +204,7 @@
         {
             while ( !shutdown )
             {
-                Object obj = waitForMessage();
+                final Object obj = waitForMessage();
 
                 cnt.incrementAndGet();
 
@@ -218,7 +218,7 @@
                     // check for null
                     if ( message != null )
                     {
-                        MessageHandler handler = new MessageHandler( message );
+                        final MessageHandler handler = new MessageHandler( message );
 
                         pooledExecutor.execute( handler );
 
@@ -229,13 +229,13 @@
                         log.warn( "message is null" );
                     }
                 }
-                catch ( ClassCastException cce )
+                catch ( final ClassCastException cce )
                 {
                     log.warn( "Received unknown message type", cce.getMessage() );
                 }
             } // end while
         }
-        catch ( IOException e )
+        catch ( final IOException e )
         {
             log.error( "Unexpected exception in UDP receiver.", e );
             try
@@ -244,7 +244,7 @@
                 // TODO consider some failure count so we don't do this
                 // forever.
             }
-            catch ( InterruptedException e2 )
+            catch ( final InterruptedException e2 )
             {
                 log.error( "Problem sleeping", e2 );
             }
@@ -254,7 +254,7 @@
     /**
      * @param cnt The cnt to set.
      */
-    public void setCnt( int cnt )
+    public void setCnt( final int cnt )
     {
         this.cnt.set(cnt);
     }
@@ -279,7 +279,7 @@
         /**
          * @param message
          */
-        public MessageHandler( UDPDiscoveryMessage message )
+        public MessageHandler( final UDPDiscoveryMessage message )
         {
             this.message = message;
         }
@@ -318,7 +318,7 @@
         @SuppressWarnings("synthetic-access")
         private void processMessage()
         {
-            DiscoveredService discoveredService = new DiscoveredService();
+            final DiscoveredService discoveredService = new DiscoveredService();
             discoveredService.setServiceAddress( message.getHost() );
             discoveredService.setCacheNames( message.getCacheNames() );
             discoveredService.setServicePort( message.getPort() );
@@ -357,7 +357,7 @@
                 mSocket.close();
                 pooledExecutor.shutdownNow();
             }
-            catch ( IOException e )
+            catch ( final IOException e )
             {
                 log.error( "Problem closing socket" );
             }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoverySender.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoverySender.java
index 0710bdc..1f431ce 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoverySender.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoverySender.java
@@ -66,7 +66,7 @@
      * @param udpTTL the Datagram packet time-to-live
      * @throws IOException
      */
-    public UDPDiscoverySender( String host, int port, int udpTTL )
+    public UDPDiscoverySender( final String host, final int port, final int udpTTL )
         throws IOException
     {
         try
@@ -82,7 +82,7 @@
             // Remote address.
             multicastAddress = InetAddress.getByName( host );
         }
-        catch ( IOException e )
+        catch ( final IOException e )
         {
             log.error( "Could not bind to multicast address [{0}]", host, e );
             throw e;
@@ -109,7 +109,7 @@
      * @param message
      * @throws IOException
      */
-    public void send( UDPDiscoveryMessage message )
+    public void send( final UDPDiscoveryMessage message )
         throws IOException
     {
         if ( this.localSocket == null )
@@ -137,7 +137,7 @@
 
             localSocket.send( packet );
         }
-        catch ( IOException e )
+        catch ( final IOException e )
         {
             log.error( "Error sending message", e );
             throw e;
@@ -155,7 +155,7 @@
     {
         log.debug( "sending requestBroadcast" );
 
-        UDPDiscoveryMessage message = new UDPDiscoveryMessage();
+        final UDPDiscoveryMessage message = new UDPDiscoveryMessage();
         message.setRequesterId( CacheInfo.listenerId );
         message.setMessageType( BroadcastType.REQUEST );
         send( message );
@@ -170,7 +170,7 @@
      * @param cacheNames
      * @throws IOException
      */
-    public void passiveBroadcast( String host, int port, ArrayList<String> cacheNames )
+    public void passiveBroadcast( final String host, final int port, final ArrayList<String> cacheNames )
         throws IOException
     {
         passiveBroadcast( host, port, cacheNames, CacheInfo.listenerId );
@@ -185,12 +185,12 @@
      * @param listenerId
      * @throws IOException
      */
-    protected void passiveBroadcast( String host, int port, ArrayList<String> cacheNames, long listenerId )
+    protected void passiveBroadcast( final String host, final int port, final ArrayList<String> cacheNames, final long listenerId )
         throws IOException
     {
         log.debug( "sending passiveBroadcast" );
 
-        UDPDiscoveryMessage message = new UDPDiscoveryMessage();
+        final UDPDiscoveryMessage message = new UDPDiscoveryMessage();
         message.setHost( host );
         message.setPort( port );
         message.setCacheNames( cacheNames );
@@ -209,7 +209,7 @@
      * @param cacheNames names of the cache regions
      * @throws IOException on error
      */
-    public void removeBroadcast( String host, int port, ArrayList<String> cacheNames )
+    public void removeBroadcast( final String host, final int port, final ArrayList<String> cacheNames )
         throws IOException
     {
         removeBroadcast( host, port, cacheNames, CacheInfo.listenerId );
@@ -224,12 +224,12 @@
      * @param listenerId listener ID
      * @throws IOException on error
      */
-    protected void removeBroadcast( String host, int port, ArrayList<String> cacheNames, long listenerId )
+    protected void removeBroadcast( final String host, final int port, final ArrayList<String> cacheNames, final long listenerId )
         throws IOException
     {
         log.debug( "sending removeBroadcast" );
 
-        UDPDiscoveryMessage message = new UDPDiscoveryMessage();
+        final UDPDiscoveryMessage message = new UDPDiscoveryMessage();
         message.setHost( host );
         message.setPort( port );
         message.setCacheNames( cacheNames );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoverySenderThread.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoverySenderThread.java
index 21ba9fc..c7ec781 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoverySenderThread.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoverySenderThread.java
@@ -45,7 +45,7 @@
     /**
      * @param cacheNames The cacheNames to set.
      */
-    protected void setCacheNames( ArrayList<String> cacheNames )
+    protected void setCacheNames( final ArrayList<String> cacheNames )
     {
         log.info( "Resetting cacheNames = [{0}]", cacheNames );
         this.cacheNames = cacheNames;
@@ -66,7 +66,7 @@
      * @param attributes host, port, etc.
      * @param cacheNames List of strings of the names of the region participating.
      */
-    public UDPDiscoverySenderThread( UDPDiscoveryAttributes attributes, ArrayList<String> cacheNames )
+    public UDPDiscoverySenderThread( final UDPDiscoveryAttributes attributes, final ArrayList<String> cacheNames )
     {
         this.attributes = attributes;
 
@@ -89,7 +89,7 @@
 
             log.debug( "Sent a request broadcast to the group" );
         }
-        catch ( IOException e )
+        catch ( final IOException e )
         {
             log.error( "Problem sending a Request Broadcast", e );
         }
@@ -115,7 +115,7 @@
 
             log.debug( "Called sender to issue a passive broadcast" );
         }
-        catch ( IOException e )
+        catch ( final IOException e )
         {
             log.error( "Problem calling the UDP Discovery Sender [{0}:{1}]",
                     attributes.getUdpDiscoveryAddr(),
@@ -139,7 +139,7 @@
 
             log.debug( "Called sender to issue a remove broadcast in shudown." );
         }
-        catch ( IOException e )
+        catch ( final IOException e )
         {
             log.error( "Problem calling the UDP Discovery Sender", e );
         }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryService.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryService.java
index ddda523..ad530d2 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryService.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryService.java
@@ -77,7 +77,7 @@
     /**
      * @param attributes
      */
-    public UDPDiscoveryService( UDPDiscoveryAttributes attributes)
+    public UDPDiscoveryService( final UDPDiscoveryAttributes attributes)
     {
         udpDiscoveryAttributes = attributes.clone();
 
@@ -86,7 +86,7 @@
             // todo, you should be able to set this
             udpDiscoveryAttributes.setServiceAddress( HostNameUtil.getLocalHostAddress() );
         }
-        catch ( UnknownHostException e )
+        catch ( final UnknownHostException e )
         {
             log.error( "Couldn't get localhost address", e );
         }
@@ -99,7 +99,7 @@
                     getUdpDiscoveryAttributes().getUdpDiscoveryAddr(),
                     getUdpDiscoveryAttributes().getUdpDiscoveryPort() );
         }
-        catch ( IOException e )
+        catch ( final IOException e )
         {
             log.error( "Problem creating UDPDiscoveryReceiver, address [{0}] "
                     + "port [{1}] we won't be able to find any other caches",
@@ -115,7 +115,7 @@
      * @see org.apache.commons.jcs3.engine.behavior.IRequireScheduler#setScheduledExecutorService(java.util.concurrent.ScheduledExecutorService)
      */
     @Override
-    public void setScheduledExecutorService(ScheduledExecutorService scheduledExecutor)
+    public void setScheduledExecutorService(final ScheduledExecutorService scheduledExecutor)
     {
         if (sender != null)
         {
@@ -123,7 +123,7 @@
         }
 
         /** removes things that have been idle for too long */
-        UDPCleanupRunner cleanup = new UDPCleanupRunner( this );
+        final UDPCleanupRunner cleanup = new UDPCleanupRunner( this );
         // I'm going to use this as both, but it could happen
         // that something could hang around twice the time using this as the
         // delay and the idle time.
@@ -153,7 +153,7 @@
 
             log.debug( "Called sender to issue a passive broadcast" );
         }
-        catch ( IOException e )
+        catch ( final IOException e )
         {
             log.error( "Problem calling the UDP Discovery Sender, address [{0}] "
                     + "port [{1}]",
@@ -167,7 +167,7 @@
      * <p>
      * @param cacheName
      */
-    public void addParticipatingCacheName( String cacheName )
+    public void addParticipatingCacheName( final String cacheName )
     {
         cacheNames.add( cacheName );
         sender.setCacheNames( getCacheNames() );
@@ -178,16 +178,16 @@
      * <p>
      * @param service
      */
-    public void removeDiscoveredService( DiscoveredService service )
+    public void removeDiscoveredService( final DiscoveredService service )
     {
-        boolean contained = getDiscoveredServices().remove( service );
+        final boolean contained = getDiscoveredServices().remove( service );
 
         if ( contained )
         {
             log.info( "Removing {0}", service );
         }
 
-        for (IDiscoveryListener listener : getDiscoveryListeners())
+        for (final IDiscoveryListener listener : getDiscoveryListeners())
         {
             listener.removeDiscoveredService( service );
         }
@@ -198,9 +198,9 @@
      * <p>
      * @param discoveredService discovered service
      */
-    protected void addOrUpdateService( DiscoveredService discoveredService )
+    protected void addOrUpdateService( final DiscoveredService discoveredService )
     {
-        Set<DiscoveredService> discoveredServices = getDiscoveredServices();
+        final Set<DiscoveredService> discoveredServices = getDiscoveredServices();
         // Since this is a set we can add it over an over.
         // We want to replace the old one, since we may add info that is not part of the equals.
         // The equals method on the object being added is intentionally restricted.
@@ -218,7 +218,7 @@
             // Update the list of cache names if it has changed.
             DiscoveredService theOldServiceInformation = null;
             // need to update the time this sucks. add has no effect convert to a map
-            for (DiscoveredService service1 : discoveredServices)
+            for (final DiscoveredService service1 : discoveredServices)
             {
                 if ( discoveredService.equals( service1 ) )
                 {
@@ -245,7 +245,7 @@
         // If we don't do this, then if a region using the default config is initialized after notification,
         // it will never get the service in it's no wait list.
         // Leave it to the listeners to decide what to do.
-        for (IDiscoveryListener listener : getDiscoveryListeners())
+        for (final IDiscoveryListener listener : getDiscoveryListeners())
         {
             listener.addDiscoveredService( discoveredService );
         }
@@ -258,14 +258,14 @@
      */
     protected ArrayList<String> getCacheNames()
     {
-        ArrayList<String> names = new ArrayList<>(cacheNames);
+        final ArrayList<String> names = new ArrayList<>(cacheNames);
         return names;
     }
 
     /**
      * @param attr The UDPDiscoveryAttributes to set.
      */
-    public void setUdpDiscoveryAttributes( UDPDiscoveryAttributes attr )
+    public void setUdpDiscoveryAttributes( final UDPDiscoveryAttributes attr )
     {
         this.udpDiscoveryAttributes = attr;
     }
@@ -351,7 +351,7 @@
      * @param listener
      * @return true if it wasn't already in the set
      */
-    public boolean addDiscoveryListener( IDiscoveryListener listener )
+    public boolean addDiscoveryListener( final IDiscoveryListener listener )
     {
         return getDiscoveryListeners().add( listener );
     }
@@ -362,7 +362,7 @@
      * @param listener
      * @return true if it was in the set
      */
-    public boolean removeDiscoveryListener( IDiscoveryListener listener )
+    public boolean removeDiscoveryListener( final IDiscoveryListener listener )
     {
         return getDiscoveryListeners().remove( listener );
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/net/HostNameUtil.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/net/HostNameUtil.java
index b6f2b1f..3a7e9c7 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/net/HostNameUtil.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/net/HostNameUtil.java
@@ -65,11 +65,11 @@
     {
         try
         {
-            String hostAddress = getLocalHostLANAddress().getHostAddress();
+            final String hostAddress = getLocalHostLANAddress().getHostAddress();
             log.debug( "hostAddress = [{0}]", hostAddress );
             return hostAddress;
         }
-        catch ( UnknownHostException e1 )
+        catch ( final UnknownHostException e1 )
         {
             log.error( "Couldn't get localhost address", e1 );
             throw e1;
@@ -111,16 +111,16 @@
         {
             InetAddress candidateAddress = null;
             // Iterate all NICs (network interface cards)...
-            Enumeration<NetworkInterface> ifaces = NetworkInterface.getNetworkInterfaces();
+            final Enumeration<NetworkInterface> ifaces = NetworkInterface.getNetworkInterfaces();
             if ( ifaces != null ) 
             {
                 while ( ifaces.hasMoreElements() )
                 {
-                    NetworkInterface iface = ifaces.nextElement();
+                    final NetworkInterface iface = ifaces.nextElement();
                     // Iterate all IP addresses assigned to each card...
-                    for ( Enumeration<InetAddress> inetAddrs = iface.getInetAddresses(); inetAddrs.hasMoreElements(); )
+                    for ( final Enumeration<InetAddress> inetAddrs = iface.getInetAddresses(); inetAddrs.hasMoreElements(); )
                     {
-                        InetAddress inetAddr = inetAddrs.nextElement();
+                        final InetAddress inetAddr = inetAddrs.nextElement();
                         if ( !inetAddr.isLoopbackAddress() )
                         {
                             if ( inetAddr.isSiteLocalAddress() )
@@ -150,16 +150,16 @@
             }
             // At this point, we did not find a non-loopback address.
             // Fall back to returning whatever InetAddress.getLocalHost() returns...
-            InetAddress jdkSuppliedAddress = InetAddress.getLocalHost();
+            final InetAddress jdkSuppliedAddress = InetAddress.getLocalHost();
             if ( jdkSuppliedAddress == null )
             {
                 throw new UnknownHostException( "The JDK InetAddress.getLocalHost() method unexpectedly returned null." );
             }
             return jdkSuppliedAddress;
         }
-        catch ( SocketException e )
+        catch ( final SocketException e )
         {
-            UnknownHostException unknownHostException = new UnknownHostException( "Failed to determine LAN address: "
+            final UnknownHostException unknownHostException = new UnknownHostException( "Failed to determine LAN address: "
                 + e );
             unknownHostException.initCause( e );
             throw unknownHostException;
@@ -175,15 +175,15 @@
      */
     public static NetworkInterface getMulticastNetworkInterface() throws SocketException
     {
-        Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();
+        final Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();
         if (networkInterfaces != null) {
             while (networkInterfaces.hasMoreElements())
             {
-                NetworkInterface networkInterface = networkInterfaces.nextElement();
-                Enumeration<InetAddress> addressesFromNetworkInterface = networkInterface.getInetAddresses();
+                final NetworkInterface networkInterface = networkInterfaces.nextElement();
+                final Enumeration<InetAddress> addressesFromNetworkInterface = networkInterface.getInetAddresses();
                 while (addressesFromNetworkInterface.hasMoreElements())
                 {
-                    InetAddress inetAddress = addressesFromNetworkInterface.nextElement();
+                    final InetAddress inetAddress = addressesFromNetworkInterface.nextElement();
                     if (inetAddress.isSiteLocalAddress()
                             && !inetAddress.isAnyLocalAddress()
                             && !inetAddress.isLinkLocalAddress()
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/serialization/CompressingSerializer.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/serialization/CompressingSerializer.java
index 85ec7e5..9043822 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/serialization/CompressingSerializer.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/serialization/CompressingSerializer.java
@@ -36,11 +36,11 @@
      * @throws IOException on i/o problem
      */
     @Override
-    public <T> byte[] serialize( T obj )
+    public <T> byte[] serialize( final T obj )
         throws IOException
     {
-        byte[] uncompressed = super.serialize(obj);
-        byte[] compressed = CompressionUtil.compressByteArray( uncompressed );
+        final byte[] uncompressed = super.serialize(obj);
+        final byte[] compressed = CompressionUtil.compressByteArray( uncompressed );
         return compressed;
     }
 
@@ -55,7 +55,7 @@
      * @throws ClassNotFoundException if class is not found during deserialization
      */
     @Override
-    public <T> T deSerialize( byte[] data, ClassLoader loader )
+    public <T> T deSerialize( final byte[] data, final ClassLoader loader )
         throws IOException, ClassNotFoundException
     {
         if ( data == null )
@@ -63,7 +63,7 @@
             return null;
         }
 
-        byte[] decompressedByteArray = CompressionUtil.decompressByteArray( data );
+        final byte[] decompressedByteArray = CompressionUtil.decompressByteArray( data );
         return super.deSerialize(decompressedByteArray, loader);
     }
 }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/serialization/SerializationConversionUtil.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/serialization/SerializationConversionUtil.java
index f6a1ca4..018829d 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/serialization/SerializationConversionUtil.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/serialization/SerializationConversionUtil.java
@@ -49,8 +49,8 @@
      * @return null for null;
      * @throws IOException
      */
-    public static <K, V> ICacheElementSerialized<K, V> getSerializedCacheElement( ICacheElement<K, V> element,
-                                                                    IElementSerializer elementSerializer )
+    public static <K, V> ICacheElementSerialized<K, V> getSerializedCacheElement( final ICacheElement<K, V> element,
+                                                                    final IElementSerializer elementSerializer )
         throws IOException
     {
         if ( element == null )
@@ -76,7 +76,7 @@
                     // update size in bytes
                     element.getElementAttributes().setSize(serializedValue.length);
                 }
-                catch ( IOException e )
+                catch ( final IOException e )
                 {
                     log.error( "Problem serializing object.", e );
                     throw e;
@@ -88,7 +88,7 @@
                 throw new IOException( "Could not serialize object. The ElementSerializer is null." );
             }
         }
-        ICacheElementSerialized<K, V> serialized = new CacheElementSerialized<>(
+        final ICacheElementSerialized<K, V> serialized = new CacheElementSerialized<>(
                 element.getCacheName(), element.getKey(), serializedValue, element.getElementAttributes() );
 
         return serialized;
@@ -105,8 +105,8 @@
      * @throws IOException
      * @throws ClassNotFoundException
      */
-    public static <K, V> ICacheElement<K, V> getDeSerializedCacheElement( ICacheElementSerialized<K, V> serialized,
-                                                            IElementSerializer elementSerializer )
+    public static <K, V> ICacheElement<K, V> getDeSerializedCacheElement( final ICacheElementSerialized<K, V> serialized,
+                                                            final IElementSerializer elementSerializer )
         throws IOException, ClassNotFoundException
     {
         if ( serialized == null )
@@ -124,13 +124,13 @@
                 {
                     deSerializedValue = elementSerializer.deSerialize( serialized.getSerializedValue(), null );
                 }
-                catch ( ClassNotFoundException e )
+                catch ( final ClassNotFoundException e )
                 {
                     log.error( "Problem de-serializing object.", e );
                     throw e;
                 }
             }
-            catch ( IOException e )
+            catch ( final IOException e )
             {
                 log.error( "Problem de-serializing object.", e );
                 throw e;
@@ -141,7 +141,7 @@
             // we could just use the default.
             throw new IOException( "Could not de-serialize object. The ElementSerializer is null." );
        }
-        ICacheElement<K, V> deSerialized = new CacheElement<>( serialized.getCacheName(), serialized.getKey(), deSerializedValue );
+        final ICacheElement<K, V> deSerialized = new CacheElement<>( serialized.getCacheName(), serialized.getKey(), deSerializedValue );
         deSerialized.setElementAttributes( serialized.getElementAttributes() );
 
         return deSerialized;
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/serialization/StandardSerializer.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/serialization/StandardSerializer.java
index 633a2c3..7209e1f 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/serialization/StandardSerializer.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/serialization/StandardSerializer.java
@@ -44,10 +44,10 @@
      * @throws IOException
      */
     @Override
-    public <T> byte[] serialize(T obj)
+    public <T> byte[] serialize(final T obj)
         throws IOException
     {
-        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        final ByteArrayOutputStream baos = new ByteArrayOutputStream();
 
         try (ObjectOutputStream oos = new ObjectOutputStream(baos))
         {
@@ -68,13 +68,14 @@
      * @throws ClassNotFoundException
      */
     @Override
-    public <T> T deSerialize(byte[] data, ClassLoader loader)
+    public <T> T deSerialize(final byte[] data, final ClassLoader loader)
         throws IOException, ClassNotFoundException
     {
         try (ByteArrayInputStream bais = new ByteArrayInputStream(data);
              ObjectInputStream ois = new ObjectInputStreamClassLoaderAware(bais, loader))
         {
             @SuppressWarnings("unchecked") // Need to cast from Object
+            final
             T readObject = (T) ois.readObject();
             return readObject;
         }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/servlet/JCSServletContextListener.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/servlet/JCSServletContextListener.java
index 1b9c7f8..0ab9496 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/servlet/JCSServletContextListener.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/servlet/JCSServletContextListener.java
@@ -53,7 +53,7 @@
      * @see javax.servlet.ServletContextListener#contextInitialized(javax.servlet.ServletContextEvent)
      */
     @Override
-    public void contextInitialized( ServletContextEvent arg0 )
+    public void contextInitialized( final ServletContextEvent arg0 )
     {
         log.debug( "contextInitialized" );
     }
@@ -64,7 +64,7 @@
      * @see javax.servlet.ServletContextListener#contextDestroyed(javax.servlet.ServletContextEvent)
      */
     @Override
-    public void contextDestroyed( ServletContextEvent arg0 )
+    public void contextDestroyed( final ServletContextEvent arg0 )
     {
         log.debug( "contextDestroyed, shutting down JCS." );
 
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/struct/AbstractLRUMap.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/struct/AbstractLRUMap.java
index 82a1c7f..6efa127 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/struct/AbstractLRUMap.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/struct/AbstractLRUMap.java
@@ -137,7 +137,7 @@
      * @see java.util.Map#containsKey(java.lang.Object)
      */
     @Override
-    public boolean containsKey( Object key )
+    public boolean containsKey( final Object key )
     {
         return map.containsKey( key );
     }
@@ -148,7 +148,7 @@
      * @see java.util.Map#containsValue(java.lang.Object)
      */
     @Override
-    public boolean containsValue( Object value )
+    public boolean containsValue( final Object value )
     {
         return map.containsValue( value );
     }
@@ -168,7 +168,7 @@
      * @param source
      */
     @Override
-    public void putAll( Map<? extends K, ? extends V> source )
+    public void putAll( final Map<? extends K, ? extends V> source )
     {
         if ( source != null )
         {
@@ -182,13 +182,13 @@
      * @return Object
      */
     @Override
-    public V get( Object key )
+    public V get( final Object key )
     {
         V retVal;
 
         log.debug( "getting item  for key {0}", key );
 
-        LRUElementDescriptor<K, V> me = map.get( key );
+        final LRUElementDescriptor<K, V> me = map.get( key );
 
         if ( me == null )
         {
@@ -223,10 +223,10 @@
      * @param key
      * @return Object
      */
-    public V getQuiet( Object key )
+    public V getQuiet( final Object key )
     {
         V ce = null;
-        LRUElementDescriptor<K, V> me = map.get( key );
+        final LRUElementDescriptor<K, V> me = map.get( key );
 
         if ( me != null )
         {
@@ -250,7 +250,7 @@
      * @return Object removed
      */
     @Override
-    public V remove( Object key )
+    public V remove( final Object key )
     {
         log.debug( "removing item for key: {0}", key );
 
@@ -258,7 +258,7 @@
         lock.lock();
         try
         {
-            LRUElementDescriptor<K, V> me = map.remove(key);
+            final LRUElementDescriptor<K, V> me = map.remove(key);
 
             if (me != null)
             {
@@ -280,12 +280,12 @@
      * @return Object
      */
     @Override
-    public V put(K key, V value)
+    public V put(final K key, final V value)
     {
         putCnt++;
 
         LRUElementDescriptor<K, V> old = null;
-        LRUElementDescriptor<K, V> me = new LRUElementDescriptor<>(key, value);
+        final LRUElementDescriptor<K, V> me = new LRUElementDescriptor<>(key, value);
 
         lock.lock();
         try
@@ -317,7 +317,7 @@
                 lock.lock();
                 try
                 {
-                    LRUElementDescriptor<K, V> last = list.getLast();
+                    final LRUElementDescriptor<K, V> last = list.getLast();
                     if (last != null)
                     {
                         processRemovedLRU(last.getKey(), last.getPayload());
@@ -405,7 +405,7 @@
         log.trace( "verifycache: checking linked list by key" );
         for (LRUElementDescriptor<K, V> li = list.getFirst(); li != null; li = (LRUElementDescriptor<K, V>) li.next )
         {
-            K key = li.getKey();
+            final K key = li.getKey();
             if ( !map.containsKey( key ) )
             {
                 log.error( "verifycache: map does not contain key : {0}", li.getKey() );
@@ -415,7 +415,7 @@
                 log.error( "key toString={0}", key.toString() );
                 if ( key instanceof GroupAttrName )
                 {
-                    GroupAttrName<?> name = (GroupAttrName<?>) key;
+                    final GroupAttrName<?> name = (GroupAttrName<?>) key;
                     log.error( "GroupID hashcode={0}", name.groupId.hashCode() );
                     log.error( "GroupID.class={0}", name.groupId.getClass() );
                     log.error( "AttrName hashcode={0}", name.attrName.hashCode() );
@@ -475,7 +475,7 @@
      * @param key
      * @param value
      */
-    protected void processRemovedLRU(K key, V value )
+    protected void processRemovedLRU(final K key, final V value )
     {
         log.debug( "Removing key: [{0}] from LRUMap store, value = [{1}]", key, value );
         log.debug( "LRUMap store size: \"{0}\".", this.size() );
@@ -486,10 +486,10 @@
      */
     public IStats getStatistics()
     {
-        IStats stats = new Stats();
+        final IStats stats = new Stats();
         stats.setTypeName( "LRUMap" );
 
-        ArrayList<IStatElement<?>> elems = new ArrayList<>();
+        final ArrayList<IStatElement<?>> elems = new ArrayList<>();
 
         elems.add(new StatElement<>( "List Size", Integer.valueOf(list.size()) ) );
         elems.add(new StatElement<>( "Map Size", Integer.valueOf(map.size()) ) );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/struct/DoubleLinkedList.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/struct/DoubleLinkedList.java
index 8445f5d..c209034 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/struct/DoubleLinkedList.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/struct/DoubleLinkedList.java
@@ -53,7 +53,7 @@
      * <p>
      * @param me The feature to be added to the Last
      */
-    public synchronized void addLast(T me)
+    public synchronized void addLast(final T me)
     {
         if ( first == null )
         {
@@ -74,7 +74,7 @@
      * <p>
      * @param me The feature to be added to the First
      */
-    public synchronized void addFirst(T me)
+    public synchronized void addFirst(final T me)
     {
         if ( last == null )
         {
@@ -117,7 +117,7 @@
      * <p>
      * @param ln The node to set as the head.
      */
-    public synchronized void makeFirst(T ln)
+    public synchronized void makeFirst(final T ln)
     {
         if ( ln.prev == null )
         {
@@ -149,7 +149,7 @@
      * <p>
      * @param ln The node to set as the head.
      */
-    public synchronized void makeLast(T ln)
+    public synchronized void makeLast(final T ln)
     {
         if ( ln.next == null )
         {
@@ -187,7 +187,7 @@
             {
                 me.prev = null;
             }
-            T next = (T) me.next;
+            final T next = (T) me.next;
             me = next;
         }
         first = last = null;
@@ -201,7 +201,7 @@
      * @param me Description of the Parameter
      * @return true if an element was removed.
      */
-    public synchronized boolean remove(T me)
+    public synchronized boolean remove(final T me)
     {
         log.debug( "removing node" );
 
@@ -254,7 +254,7 @@
     public synchronized T removeLast()
     {
         log.debug( "removing last node" );
-        T temp = last;
+        final T temp = last;
         if ( last != null )
         {
             remove( last );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/struct/DoubleLinkedListNode.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/struct/DoubleLinkedListNode.java
index 3f55041..dcbe1b4 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/struct/DoubleLinkedListNode.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/struct/DoubleLinkedListNode.java
@@ -47,7 +47,7 @@
     /**
      * @param payloadP
      */
-    public DoubleLinkedListNode(T payloadP)
+    public DoubleLinkedListNode(final T payloadP)
     {
         payload = payloadP;
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/struct/LRUElementDescriptor.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/struct/LRUElementDescriptor.java
index 4a23554..96d691c 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/struct/LRUElementDescriptor.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/struct/LRUElementDescriptor.java
@@ -36,7 +36,7 @@
      * @param key
      * @param payloadP
      */
-    public LRUElementDescriptor(K key, V payloadP)
+    public LRUElementDescriptor(final K key, final V payloadP)
     {
         super(payloadP);
         this.setKey(key);
@@ -45,7 +45,7 @@
     /**
      * @param key The key to set.
      */
-    public void setKey(K key)
+    public void setKey(final K key)
     {
         this.key = key;
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/struct/LRUMap.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/struct/LRUMap.java
index 864d26b..36152c1 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/struct/LRUMap.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/struct/LRUMap.java
@@ -42,7 +42,7 @@
      * @param maxObjects
      *            maximum number to keep in the map
      */
-    public LRUMap(int maxObjects)
+    public LRUMap(final int maxObjects)
     {
         this();
         this.maxObjects = maxObjects;
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/threadpool/DaemonThreadFactory.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/threadpool/DaemonThreadFactory.java
index dcb0fac..a89dab8 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/threadpool/DaemonThreadFactory.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/threadpool/DaemonThreadFactory.java
@@ -38,7 +38,7 @@
      *
      * @param prefix thread name prefix
      */
-    public DaemonThreadFactory(String prefix)
+    public DaemonThreadFactory(final String prefix)
     {
         this(prefix, Thread.NORM_PRIORITY);
     }
@@ -49,7 +49,7 @@
      * @param prefix thread name prefix
      * @param threadPriority set thread priority
      */
-    public DaemonThreadFactory(String prefix, int threadPriority)
+    public DaemonThreadFactory(final String prefix, final int threadPriority)
     {
         this.prefix = prefix;
         this.threadPriority = threadPriority;
@@ -62,10 +62,10 @@
      * @return a daemon thread
      */
     @Override
-    public Thread newThread( Runnable runner )
+    public Thread newThread( final Runnable runner )
     {
-        Thread t = new Thread( runner );
-        String oldName = t.getName();
+        final Thread t = new Thread( runner );
+        final String oldName = t.getName();
         t.setName( prefix + oldName );
         t.setDaemon(THREAD_IS_DAEMON);
         t.setPriority(threadPriority);
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/threadpool/PoolConfiguration.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/threadpool/PoolConfiguration.java
index c779dc3..ad18ac2 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/threadpool/PoolConfiguration.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/threadpool/PoolConfiguration.java
@@ -94,7 +94,7 @@
     /**
      * @param useBoundary The useBoundary to set.
      */
-    public void setUseBoundary( boolean useBoundary )
+    public void setUseBoundary( final boolean useBoundary )
     {
         this.useBoundary = useBoundary;
     }
@@ -128,8 +128,8 @@
      * @param whenBlockedPolicy
      * @param startUpSize
      */
-    public PoolConfiguration( boolean useBoundary, int boundarySize, int maximumPoolSize, int minimumPoolSize,
-                              int keepAliveTime, WhenBlockedPolicy whenBlockedPolicy, int startUpSize )
+    public PoolConfiguration( final boolean useBoundary, final int boundarySize, final int maximumPoolSize, final int minimumPoolSize,
+                              final int keepAliveTime, final WhenBlockedPolicy whenBlockedPolicy, final int startUpSize )
     {
         setUseBoundary( useBoundary );
         setBoundarySize( boundarySize );
@@ -143,7 +143,7 @@
     /**
      * @param boundarySize The boundarySize to set.
      */
-    public void setBoundarySize( int boundarySize )
+    public void setBoundarySize( final int boundarySize )
     {
         this.boundarySize = boundarySize;
     }
@@ -159,7 +159,7 @@
     /**
      * @param maximumPoolSize The maximumPoolSize to set.
      */
-    public void setMaximumPoolSize( int maximumPoolSize )
+    public void setMaximumPoolSize( final int maximumPoolSize )
     {
         this.maximumPoolSize = maximumPoolSize;
     }
@@ -175,7 +175,7 @@
     /**
      * @param minimumPoolSize The minimumPoolSize to set.
      */
-    public void setMinimumPoolSize( int minimumPoolSize )
+    public void setMinimumPoolSize( final int minimumPoolSize )
     {
         this.minimumPoolSize = minimumPoolSize;
     }
@@ -191,7 +191,7 @@
     /**
      * @param keepAliveTime The keepAliveTime to set.
      */
-    public void setKeepAliveTime( int keepAliveTime )
+    public void setKeepAliveTime( final int keepAliveTime )
     {
         this.keepAliveTime = keepAliveTime;
     }
@@ -207,11 +207,11 @@
     /**
      * @param whenBlockedPolicy The whenBlockedPolicy to set.
      */
-    public void setWhenBlockedPolicy( String whenBlockedPolicy )
+    public void setWhenBlockedPolicy( final String whenBlockedPolicy )
     {
         if ( whenBlockedPolicy != null )
         {
-            WhenBlockedPolicy policy = WhenBlockedPolicy.valueOf(whenBlockedPolicy.trim().toUpperCase());
+            final WhenBlockedPolicy policy = WhenBlockedPolicy.valueOf(whenBlockedPolicy.trim().toUpperCase());
             setWhenBlockedPolicy(policy);
         }
         else
@@ -224,7 +224,7 @@
     /**
      * @param whenBlockedPolicy The whenBlockedPolicy to set.
      */
-    public void setWhenBlockedPolicy( WhenBlockedPolicy whenBlockedPolicy )
+    public void setWhenBlockedPolicy( final WhenBlockedPolicy whenBlockedPolicy )
     {
         if ( whenBlockedPolicy != null )
         {
@@ -248,7 +248,7 @@
     /**
      * @param startUpSize The startUpSize to set.
      */
-    public void setStartUpSize( int startUpSize )
+    public void setStartUpSize( final int startUpSize )
     {
         this.startUpSize = startUpSize;
     }
@@ -268,7 +268,7 @@
     @Override
     public String toString()
     {
-        StringBuilder buf = new StringBuilder();
+        final StringBuilder buf = new StringBuilder();
         buf.append( "useBoundary = [" + isUseBoundary() + "] " );
         buf.append( "boundarySize = [" + boundarySize + "] " );
         buf.append( "maximumPoolSize = [" + maximumPoolSize + "] " );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/threadpool/ThreadPoolManager.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/threadpool/ThreadPoolManager.java
index 4552f9a..d454e99 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/threadpool/ThreadPoolManager.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/threadpool/ThreadPoolManager.java
@@ -113,7 +113,7 @@
      * @param threadNamePrefix prefix for the thread names of the pool
      * @return A ThreadPool wrapper
      */
-    public ExecutorService createPool( PoolConfiguration config, String threadNamePrefix)
+    public ExecutorService createPool( final PoolConfiguration config, final String threadNamePrefix)
     {
     	return createPool(config, threadNamePrefix, Thread.NORM_PRIORITY);
     }
@@ -126,7 +126,7 @@
      * @param threadPriority the priority of the created threads
      * @return A ThreadPool wrapper
      */
-    public ExecutorService createPool( PoolConfiguration config, String threadNamePrefix, int threadPriority )
+    public ExecutorService createPool( final PoolConfiguration config, final String threadNamePrefix, final int threadPriority )
     {
         BlockingQueue<Runnable> queue = null;
         if ( config.isUseBoundary() )
@@ -140,7 +140,7 @@
             queue = new LinkedBlockingQueue<>();
         }
 
-        ThreadPoolExecutor pool = new ThreadPoolExecutor(
+        final ThreadPoolExecutor pool = new ThreadPoolExecutor(
             config.getStartUpSize(),
             config.getMaximumPoolSize(),
             config.getKeepAliveTime(),
@@ -183,9 +183,9 @@
      * @param threadPriority the priority of the created threads
      * @return A ScheduledExecutorService
      */
-    public ScheduledExecutorService createSchedulerPool( PoolConfiguration config, String threadNamePrefix, int threadPriority )
+    public ScheduledExecutorService createSchedulerPool( final PoolConfiguration config, final String threadNamePrefix, final int threadPriority )
     {
-    	ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(
+    	final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(
     			config.getMaximumPoolSize(),
     			new DaemonThreadFactory(threadNamePrefix, threadPriority));
 
@@ -208,30 +208,30 @@
      */
     public static void dispose()
     {
-        for ( Iterator<Map.Entry<String, ExecutorService>> i =
+        for ( final Iterator<Map.Entry<String, ExecutorService>> i =
                 getInstance().pools.entrySet().iterator(); i.hasNext(); )
         {
-            Map.Entry<String, ExecutorService> entry = i.next();
+            final Map.Entry<String, ExecutorService> entry = i.next();
             try
             {
                 entry.getValue().shutdownNow();
             }
-            catch (Throwable t)
+            catch (final Throwable t)
             {
                 log.warn("Failed to close pool {0}", entry.getKey(), t);
             }
             i.remove();
         }
 
-        for ( Iterator<Map.Entry<String, ScheduledExecutorService>> i =
+        for ( final Iterator<Map.Entry<String, ScheduledExecutorService>> i =
                 getInstance().schedulerPools.entrySet().iterator(); i.hasNext(); )
         {
-            Map.Entry<String, ScheduledExecutorService> entry = i.next();
+            final Map.Entry<String, ScheduledExecutorService> entry = i.next();
             try
             {
                 entry.getValue().shutdownNow();
             }
-            catch (Throwable t)
+            catch (final Throwable t)
             {
                 log.warn("Failed to close pool {0}", entry.getKey(), t);
             }
@@ -248,11 +248,11 @@
      * @param name
      * @return The executor service configured for the name.
      */
-    public ExecutorService getExecutorService( String name )
+    public ExecutorService getExecutorService( final String name )
     {
-    	ExecutorService pool = pools.computeIfAbsent(name, key -> {
+    	final ExecutorService pool = pools.computeIfAbsent(name, key -> {
             log.debug( "Creating pool for name [{0}]", key );
-            PoolConfiguration config = loadConfig( PROP_NAME_ROOT + "." + key, defaultConfig );
+            final PoolConfiguration config = loadConfig( PROP_NAME_ROOT + "." + key, defaultConfig );
             return createPool( config, "JCS-ThreadPoolManager-" + key + "-" );
     	});
 
@@ -268,11 +268,11 @@
      * @param name
      * @return The scheduler pool configured for the name.
      */
-    public ScheduledExecutorService getSchedulerPool( String name )
+    public ScheduledExecutorService getSchedulerPool( final String name )
     {
-    	ScheduledExecutorService pool = schedulerPools.computeIfAbsent(name, key -> {
+    	final ScheduledExecutorService pool = schedulerPools.computeIfAbsent(name, key -> {
             log.debug( "Creating scheduler pool for name [{0}]", key );
-            PoolConfiguration config = loadConfig( PROP_NAME_SCHEDULER_ROOT + "." + key,
+            final PoolConfiguration config = loadConfig( PROP_NAME_SCHEDULER_ROOT + "." + key,
                     defaultSchedulerConfig );
             return createSchedulerPool( config, "JCS-ThreadPoolManager-" + key + "-", Thread.NORM_PRIORITY );
     	});
@@ -296,7 +296,7 @@
      * <p>
      * @param props The props to set.
      */
-    public static void setProps( Properties props )
+    public static void setProps( final Properties props )
     {
         ThreadPoolManager.props = props;
     }
@@ -326,9 +326,9 @@
      * @param defaultPoolConfiguration the default configuration
      * @return PoolConfiguration
      */
-    private PoolConfiguration loadConfig( String root, PoolConfiguration defaultPoolConfiguration )
+    private PoolConfiguration loadConfig( final String root, final PoolConfiguration defaultPoolConfiguration )
     {
-        PoolConfiguration config = defaultPoolConfiguration.clone();
+        final PoolConfiguration config = defaultPoolConfiguration.clone();
         PropertySetter.setProperties( config, props, root + "." );
 
         log.debug( "{0} PoolConfiguration = {1}", root, config );
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/timing/ElapsedTimer.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/timing/ElapsedTimer.java
index f9b7fc8..b184f86 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/timing/ElapsedTimer.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/timing/ElapsedTimer.java
@@ -40,8 +40,8 @@
      */
     public long getElapsedTime()
     {
-        long now = System.currentTimeMillis();
-        long elapsed = now - timeStamp;
+        final long now = System.currentTimeMillis();
+        final long elapsed = now - timeStamp;
         timeStamp = now;
         return elapsed;
     }
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/zip/CompressionUtil.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/zip/CompressionUtil.java
index 9b67c32..a46e423 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/zip/CompressionUtil.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/utils/zip/CompressionUtil.java
@@ -84,11 +84,11 @@
         {
             while ( !decompressor.finished() )
             {
-                int count = decompressor.inflate( buf );
+                final int count = decompressor.inflate( buf );
                 baos.write( buf, 0, count );
             }
         }
-        catch ( DataFormatException ex )
+        catch ( final DataFormatException ex )
         {
             log.error( "Problem decompressing.", ex );
         }
@@ -99,7 +99,7 @@
         {
             baos.close();
         }
-        catch ( IOException ex )
+        catch ( final IOException ex )
         {
             log.error( "Problem closing stream.", ex );
         }
@@ -114,7 +114,7 @@
      * @return compressed byte array
      * @throws IOException thrown if we can't close the output stream
      */
-    public static byte[] compressByteArray( byte[] input )
+    public static byte[] compressByteArray( final byte[] input )
         throws IOException
     {
         return compressByteArray( input, 1024 );
@@ -128,11 +128,11 @@
      * @return compressed byte array
      * @throws IOException thrown if we can't close the output stream
      */
-    public static byte[] compressByteArray( byte[] input, int bufferLength )
+    public static byte[] compressByteArray( final byte[] input, final int bufferLength )
         throws IOException
     {
         // Compressor with highest level of compression
-        Deflater compressor = new Deflater();
+        final Deflater compressor = new Deflater();
         compressor.setLevel( Deflater.BEST_COMPRESSION );
 
         // Give the compressor the data to compress
@@ -142,13 +142,13 @@
         // Create an expandable byte array to hold the compressed data.
         // It is not necessary that the compressed data will be smaller than
         // the uncompressed data.
-        ByteArrayOutputStream bos = new ByteArrayOutputStream( input.length );
+        final ByteArrayOutputStream bos = new ByteArrayOutputStream( input.length );
 
         // Compress the data
-        byte[] buf = new byte[bufferLength];
+        final byte[] buf = new byte[bufferLength];
         while ( !compressor.finished() )
         {
-            int count = compressor.deflate( buf );
+            final int count = compressor.deflate( buf );
             bos.write( buf, 0, count );
         }
 
@@ -168,7 +168,7 @@
      * @return decompressed byte array
      * @throws IOException thrown if there was a failure to construct the GzipInputStream
      */
-    public static byte[] decompressGzipByteArray( byte[] compressedByteArray )
+    public static byte[] decompressGzipByteArray( final byte[] compressedByteArray )
         throws IOException
     {
         return decompressGzipByteArray( compressedByteArray, 1024 );
@@ -182,14 +182,14 @@
      * @return decompressed byte array
      * @throws IOException thrown if there was a failure to construct the GzipInputStream
      */
-    public static byte[] decompressGzipByteArray( byte[] compressedByteArray, int bufferlength )
+    public static byte[] decompressGzipByteArray( final byte[] compressedByteArray, final int bufferlength )
         throws IOException
     {
-        ByteArrayOutputStream uncompressedStream = new ByteArrayOutputStream();
+        final ByteArrayOutputStream uncompressedStream = new ByteArrayOutputStream();
 
-        GZIPInputStream compressedStream = new GZIPInputStream( new ByteArrayInputStream( compressedByteArray ) );
+        final GZIPInputStream compressedStream = new GZIPInputStream( new ByteArrayInputStream( compressedByteArray ) );
 
-        byte[] buffer = new byte[bufferlength];
+        final byte[] buffer = new byte[bufferlength];
 
         int index = -1;
 
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/ConcurrentRemovalLoadTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/ConcurrentRemovalLoadTest.java
index a5f421a..f9acd0b 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/ConcurrentRemovalLoadTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/ConcurrentRemovalLoadTest.java
@@ -38,7 +38,7 @@
      */
     public static Test suite()
     {
-        ActiveTestSuite suite = new ActiveTestSuite();
+        final ActiveTestSuite suite = new ActiveTestSuite();
 
         suite.addTest( new RemovalTestUtil( "testRemoveCache1" )
         {
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/JCSCacheElementRetrievalUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/JCSCacheElementRetrievalUnitTest.java
index 07c08b5..a0d4576 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/JCSCacheElementRetrievalUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/JCSCacheElementRetrievalUnitTest.java
@@ -38,15 +38,15 @@
     public void testSimpleElementRetrieval()
         throws Exception
     {
-        CacheAccess<String, String> jcs = JCS.getInstance( "testCache1" );
+        final CacheAccess<String, String> jcs = JCS.getInstance( "testCache1" );
 
         jcs.put( "test_key", "test_data" );
 
-        long now = System.currentTimeMillis();
-        ICacheElement<String, String> elem = jcs.getCacheElement( "test_key" );
+        final long now = System.currentTimeMillis();
+        final ICacheElement<String, String> elem = jcs.getCacheElement( "test_key" );
         assertEquals( "Name wasn't right", "testCache1", elem.getCacheName() );
 
-        long diff = now - elem.getElementAttributes().getCreateTime();
+        final long diff = now - elem.getElementAttributes().getCreateTime();
         assertTrue( "Create time should have been at or after the call", diff >= 0 );
 
     }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/JCSConcurrentCacheAccessUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/JCSConcurrentCacheAccessUnitTest.java
index 20d5ca8..0552399 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/JCSConcurrentCacheAccessUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/JCSConcurrentCacheAccessUnitTest.java
@@ -86,7 +86,7 @@
     	@Override
 		public void run()
 		{
-			String name = getName();
+			final String name = getName();
 
 			for (int idx = 0; idx < LOOPS; idx++)
 			{
@@ -119,7 +119,7 @@
 		                    {
 								Thread.sleep(1000);
 							}
-		                    catch (InterruptedException e)
+		                    catch (final InterruptedException e)
 							{
 								// continue
 							}
@@ -137,7 +137,7 @@
 		        {
 					cache.putInGroup(Integer.valueOf(idx), group, String.valueOf(idx));
 				}
-		        catch (CacheException e)
+		        catch (final CacheException e)
 		        {
 		        	// continue
 				}
@@ -158,7 +158,7 @@
     public void testConcurrentAccess()
         throws Exception
     {
-    	Worker[] worker = new Worker[THREADS];
+    	final Worker[] worker = new Worker[THREADS];
 
         for (int i = 0; i < THREADS; i++)
         {
@@ -172,7 +172,7 @@
         }
 
         assertEquals("Error count should be 0",  0, errcount.intValue());
-        for (String msg : valueMismatchList)
+        for (final String msg : valueMismatchList)
         {
             System.out.println(msg);
         }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/JCSLightLoadUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/JCSLightLoadUnitTest.java
index 025c0cb..f9b7396 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/JCSLightLoadUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/JCSLightLoadUnitTest.java
@@ -51,7 +51,7 @@
     public void testSimpleLoad()
         throws Exception
     {
-        CacheAccess<String, String> jcs = JCS.getInstance( "testCache1" );
+        final CacheAccess<String, String> jcs = JCS.getInstance( "testCache1" );
         //        ICompositeCacheAttributes cattr = jcs.getCacheAttributes();
         //        cattr.setMaxObjects( 20002 );
         //        jcs.setCacheAttributes( cattr );
@@ -63,7 +63,7 @@
 
         for ( int i = items; i > 0; i-- )
         {
-            String res = jcs.get( i + ":key" );
+            final String res = jcs.get( i + ":key" );
             assertNotNull( "[" + i + ":key] should not be null", res );
         }
 
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/JCSRemovalSimpleConcurrentTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/JCSRemovalSimpleConcurrentTest.java
index ed88018..f117473 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/JCSRemovalSimpleConcurrentTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/JCSRemovalSimpleConcurrentTest.java
@@ -32,7 +32,7 @@
     /**
      * @param testName
      */
-    public JCSRemovalSimpleConcurrentTest( String testName )
+    public JCSRemovalSimpleConcurrentTest( final String testName )
     {
         super( testName );
     }
@@ -55,9 +55,9 @@
      * <p>
      * @param args
      */
-    public static void main( String args[] )
+    public static void main( final String args[] )
     {
-        String[] testCaseName = { JCSRemovalSimpleConcurrentTest.class.getName() };
+        final String[] testCaseName = { JCSRemovalSimpleConcurrentTest.class.getName() };
         junit.textui.TestRunner.main( testCaseName );
     }
 
@@ -69,8 +69,8 @@
     public void testTwoDeepRemoval()
         throws Exception
     {
-        int count = 500;
-        CacheAccess<String, String> jcs = JCS.getInstance( "testCache1" );
+        final int count = 500;
+        final CacheAccess<String, String> jcs = JCS.getInstance( "testCache1" );
 
         for ( int i = 0; i <= count; i++ )
         {
@@ -79,7 +79,7 @@
 
         for ( int i = count; i >= 0; i-- )
         {
-            String res = jcs.get( "key:" + i + ":anotherpart" );
+            final String res = jcs.get( "key:" + i + ":anotherpart" );
             assertNotNull( "[key:" + i + ":anotherpart] should not be null, " + jcs.getStats(), res );
         }
 
@@ -100,8 +100,8 @@
         throws Exception
     {
 
-        int count = 500;
-        CacheAccess<String, String> jcs = JCS.getInstance( "testCache1" );
+        final int count = 500;
+        final CacheAccess<String, String> jcs = JCS.getInstance( "testCache1" );
 
         for ( int i = 0; i <= count; i++ )
         {
@@ -110,7 +110,7 @@
 
         for ( int i = count; i >= 0; i-- )
         {
-            String res = jcs.get( i + ":key" );
+            final String res = jcs.get( i + ":key" );
             assertNotNull( "[" + i + ":key] should not be null", res );
         }
 
@@ -130,8 +130,8 @@
         throws Exception
     {
 
-        int count = 500;
-        CacheAccess<String, String> jcs = JCS.getInstance( "testCache1" );
+        final int count = 500;
+        final CacheAccess<String, String> jcs = JCS.getInstance( "testCache1" );
 
         for ( int i = 0; i <= count; i++ )
         {
@@ -140,14 +140,14 @@
 
         for ( int i = count; i >= 0; i-- )
         {
-            String res = jcs.get( i + ":key" );
+            final String res = jcs.get( i + ":key" );
             assertNotNull( "[" + i + ":key] should not be null", res );
         }
         jcs.clear();
 
         for ( int i = count; i >= 0; i-- )
         {
-            String res = jcs.get( i + ":key" );
+            final String res = jcs.get( i + ":key" );
             if ( res != null )
             {
                 assertNull( "[" + i + ":key] should be null after remvoeall" + jcs.getStats(), res );
@@ -163,8 +163,8 @@
     public void testClearRepeatedlyWithoutError()
         throws Exception
     {
-        int count = 500;
-        CacheAccess<String, String> jcs = JCS.getInstance( "testCache1" );
+        final int count = 500;
+        final CacheAccess<String, String> jcs = JCS.getInstance( "testCache1" );
 
         jcs.clear();
 
@@ -175,7 +175,7 @@
 
         for ( int i = count; i >= 0; i-- )
         {
-            String res = jcs.get( i + ":key" );
+            final String res = jcs.get( i + ":key" );
             assertNotNull( "[" + i + ":key] should not be null", res );
         }
 
@@ -183,7 +183,7 @@
         {
             jcs.put( i + ":key", "data" + i );
             jcs.clear();
-            String res = jcs.get( i + ":key" );
+            final String res = jcs.get( i + ":key" );
             if ( res != null )
             {
                 assertNull( "[" + i + ":key] should be null after remvoeall" + jcs.getStats(), res );
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/JCSThrashTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/JCSThrashTest.java
index d82b174..739d83d 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/JCSThrashTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/JCSThrashTest.java
@@ -129,7 +129,7 @@
     public void testForMemoryLeaks()
         throws Exception
     {
-        long differenceMemoryCache = thrashCache();
+        final long differenceMemoryCache = thrashCache();
         LOG.info( "Memory Difference is: " + differenceMemoryCache );
         assertTrue( differenceMemoryCache < 500000 );
 
@@ -143,7 +143,7 @@
     protected long thrashCache()
         throws Exception
     {
-        long startingSize = measureMemoryUse();
+        final long startingSize = measureMemoryUse();
         LOG.info( "Memory Used is: " + startingSize );
 
         final String value = "value";
@@ -180,7 +180,7 @@
                 {
                     // Use a random length value
                     final String keyj = "key" + j;
-                    byte[] valuej = new byte[10000];
+                    final byte[] valuej = new byte[10000];
                     jcs.put( keyj, valuej );
                 }
             };
@@ -190,7 +190,7 @@
         runThreads( executables );
         jcs.clear();
 
-        long finishingSize = measureMemoryUse();
+        final long finishingSize = measureMemoryUse();
         LOG.info( "Memory Used is: " + finishingSize );
         return finishingSize - startingSize;
     }
@@ -226,7 +226,7 @@
                             executable.execute();
                         }
                     }
-                    catch ( Throwable t )
+                    catch ( final Throwable t )
                     {
                         // Hang on to any errors
                         errors[0] = t;
@@ -285,13 +285,13 @@
         final String listSize = "List Size";
         final String lruMemoryCache = "LRU Memory Cache";
         String result = "0";
-        List<IStats> istats = jcs.getStatistics().getAuxiliaryCacheStats();
-        for ( IStats istat : istats )
+        final List<IStats> istats = jcs.getStatistics().getAuxiliaryCacheStats();
+        for ( final IStats istat : istats )
         {
-            List<IStatElement<?>> statElements = istat.getStatElements();
+            final List<IStatElement<?>> statElements = istat.getStatElements();
             if ( lruMemoryCache.equals( istat.getTypeName() ) )
             {
-                for ( IStatElement<?> statElement : statElements )
+                for ( final IStatElement<?> statElement : statElements )
                 {
                     if ( listSize.equals( statElement.getName() ) )
                     {
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/JCSUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/JCSUnitTest.java
index c1cbdee..dca1657 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/JCSUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/JCSUnitTest.java
@@ -42,9 +42,9 @@
     public void testJCS()
         throws Exception
     {
-        CacheAccess<String, LinkedList<HashMap<String, String>>> jcs = JCS.getInstance( "testCache1" );
+        final CacheAccess<String, LinkedList<HashMap<String, String>>> jcs = JCS.getInstance( "testCache1" );
 
-        LinkedList<HashMap<String, String>> list = buildList();
+        final LinkedList<HashMap<String, String>> list = buildList();
 
         jcs.put( "some:key", list );
 
@@ -56,7 +56,7 @@
      */
     private LinkedList<HashMap<String, String>> buildList()
     {
-        LinkedList<HashMap<String, String>> list = new LinkedList<>();
+        final LinkedList<HashMap<String, String>> list = new LinkedList<>();
 
         for ( int i = 0; i < 100; i++ )
         {
@@ -71,10 +71,10 @@
      */
     private HashMap<String, String> buildMap()
     {
-        HashMap<String, String> map = new HashMap<>();
+        final HashMap<String, String> map = new HashMap<>();
 
-        byte[] keyBytes = new byte[32];
-        byte[] valBytes = new byte[128];
+        final byte[] keyBytes = new byte[32];
+        final byte[] valBytes = new byte[128];
 
         for ( int i = 0; i < 10; i++ )
         {
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/JCSvsHashtablePerformanceTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/JCSvsHashtablePerformanceTest.java
index 3ab72fe..16fa449 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/JCSvsHashtablePerformanceTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/JCSvsHashtablePerformanceTest.java
@@ -59,13 +59,13 @@
     public void testSimpleLoad()
         throws Exception
     {
-        Log log1 = LogManager.getLog( LRUMemoryCache.class );
+        final Log log1 = LogManager.getLog( LRUMemoryCache.class );
         if ( log1.isDebugEnabled() )
         {
             System.out.println( "The log level must be at info or above for the a performance test." );
             return;
         }
-        Log log2 = LogManager.getLog( JCS.class );
+        final Log log2 = LogManager.getLog( JCS.class );
         if ( log2.isDebugEnabled() )
         {
             System.out.println( "The log level must be at info or above for the a performance test." );
@@ -95,7 +95,7 @@
         {
 
             JCS.setConfigFilename( "/TestJCSvHashtablePerf.ccf" );
-            CacheAccess<String, String> cache = JCS.getInstance( "testCache1" );
+            final CacheAccess<String, String> cache = JCS.getInstance( "testCache1" );
 
             for ( int j = 0; j < loops; j++ )
             {
@@ -125,7 +125,7 @@
 
                 // /////////////////////////////////////////////////////////////
                 name = "Hashtable";
-                Hashtable<String, String> cache2 = new Hashtable<>();
+                final Hashtable<String, String> cache2 = new Hashtable<>();
                 start = System.currentTimeMillis();
                 for ( int i = 0; i < tries; i++ )
                 {
@@ -152,16 +152,16 @@
             }
 
         }
-        catch ( Exception e )
+        catch ( final Exception e )
         {
             e.printStackTrace( System.out );
             System.out.println( e );
         }
 
-        long putAvJCS = putTotalJCS / loops;
-        long getAvJCS = getTotalJCS / loops;
-        long putAvHashtable = putTotalHashtable / loops;
-        long getAvHashtable = getTotalHashtable / loops;
+        final long putAvJCS = putTotalJCS / loops;
+        final long getAvJCS = getTotalJCS / loops;
+        final long putAvHashtable = putTotalHashtable / loops;
+        final long getAvHashtable = getTotalHashtable / loops;
 
         System.out.println( "Finished " + loops + " loops of " + tries + " gets and puts" );
 
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/RemovalTestUtil.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/RemovalTestUtil.java
index d1b1c1b..05be108 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/RemovalTestUtil.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/RemovalTestUtil.java
@@ -36,7 +36,7 @@
      * @param testName
      *            Description of the Parameter
      */
-    public RemovalTestUtil( String testName )
+    public RemovalTestUtil( final String testName )
     {
         super( testName );
     }
@@ -51,10 +51,10 @@
      * @throws Exception
      *                Description of the Exception
      */
-    public void runTestPutThenRemoveCategorical( int start, int end )
+    public void runTestPutThenRemoveCategorical( final int start, final int end )
         throws Exception
     {
-        CacheAccess<String, String> jcs = JCS.getInstance( "testCache1" );
+        final CacheAccess<String, String> jcs = JCS.getInstance( "testCache1" );
 
         for ( int i = start; i <= end; i++ )
         {
@@ -63,7 +63,7 @@
 
         for ( int i = end; i >= start; i-- )
         {
-            String res = jcs.get( i + ":key" );
+            final String res = jcs.get( i + ":key" );
             assertNotNull( "[" + i + ":key] should not be null", res );
         }
 
@@ -84,10 +84,10 @@
      *            int
      * @throws Exception
      */
-    public void runPutInRange( int start, int end )
+    public void runPutInRange( final int start, final int end )
         throws Exception
     {
-        CacheAccess<String, String> jcs = JCS.getInstance( "testCache1" );
+        final CacheAccess<String, String> jcs = JCS.getInstance( "testCache1" );
 
         for ( int i = start; i <= end; i++ )
         {
@@ -96,7 +96,7 @@
 
         for ( int i = end; i >= start; i-- )
         {
-            String res = jcs.get( i + ":key" );
+            final String res = jcs.get( i + ":key" );
             assertNotNull( "[" + i + ":key] should not be null", res );
         }
     }
@@ -112,15 +112,15 @@
      *            boolean -- check to see if the items are in the cache.
      * @throws Exception
      */
-    public void runGetInRange( int start, int end, boolean check )
+    public void runGetInRange( final int start, final int end, final boolean check )
         throws Exception
     {
-        CacheAccess<String, String> jcs = JCS.getInstance( "testCache1" );
+        final CacheAccess<String, String> jcs = JCS.getInstance( "testCache1" );
 
         // don't care if they are found
         for ( int i = end; i >= start; i-- )
         {
-            String res = jcs.get( i + ":key" );
+            final String res = jcs.get( i + ":key" );
             if ( check )
             {
                 assertNotNull( "[" + i + ":key] should not be null", res );
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/TestLogConfigurationUtil.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/TestLogConfigurationUtil.java
index 5d15706..c21beb0 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/TestLogConfigurationUtil.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/TestLogConfigurationUtil.java
@@ -36,11 +36,11 @@
      * @param stringWriter string writer
      * @param loggerName logger name
      */
-    public static void configureLogger( StringWriter stringWriter, String loggerName )
+    public static void configureLogger( final StringWriter stringWriter, final String loggerName )
     {
         LogManager.setLogSystem("jul");
         java.util.logging.LogManager.getLogManager().reset();
-        Logger rootLogger = java.util.logging.LogManager.getLogManager().getLogger("");
+        final Logger rootLogger = java.util.logging.LogManager.getLogManager().getLogger("");
 
         rootLogger.addHandler(new MockLogHandler(stringWriter));
         rootLogger.setLevel(Level.FINE);
@@ -50,15 +50,15 @@
     {
         private final StringWriter writer;
 
-        public MockLogHandler(StringWriter writer)
+        public MockLogHandler(final StringWriter writer)
         {
             this.writer = writer;
         }
 
         @Override
-        public void publish(LogRecord record)
+        public void publish(final LogRecord record)
         {
-            StringBuilder sb = new StringBuilder();
+            final StringBuilder sb = new StringBuilder();
             sb.append(record.getMillis())
               .append(" - ")
               .append(record.getSourceClassName())
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/TestTCPLateralCache.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/TestTCPLateralCache.java
index 8ac0edd..0c11012 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/TestTCPLateralCache.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/TestTCPLateralCache.java
@@ -45,7 +45,7 @@
      *
      * @param testName
      */
-    public TestTCPLateralCache( String testName )
+    public TestTCPLateralCache( final String testName )
     {
         super( testName );
     }
@@ -57,7 +57,7 @@
      */
     public static Test suite()
     {
-        ActiveTestSuite suite = new ActiveTestSuite();
+        final ActiveTestSuite suite = new ActiveTestSuite();
 
         suite.addTest( new TestTCPLateralCache( "testTcpRegion1_no_receiver" )
         {
@@ -107,10 +107,10 @@
      * @throws Exception
      *                If an error occurs
      */
-    public void runTestForRegion( String region )
+    public void runTestForRegion( final String region )
         throws Exception
     {
-        CacheAccess<String, String> jcs = JCS.getInstance( region );
+        final CacheAccess<String, String> jcs = JCS.getInstance( region );
 
         // Add items to cache
 
@@ -123,7 +123,7 @@
 
         for ( int i = 0; i <= items; i++ )
         {
-            String value = jcs.get( i + ":key" );
+            final String value = jcs.get( i + ":key" );
 
             assertEquals( region + " data " + i, value );
         }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/ZeroSizeCacheUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/ZeroSizeCacheUnitTest.java
index 3ddbfda..1a6fd43 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/ZeroSizeCacheUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/ZeroSizeCacheUnitTest.java
@@ -56,7 +56,7 @@
     public void testPutGetRemove()
         throws Exception
     {
-        CacheAccess<String, String> jcs = JCS.getInstance( "testCache1" );
+        final CacheAccess<String, String> jcs = JCS.getInstance( "testCache1" );
 
         for ( int i = 0; i <= items; i++ )
         {
@@ -66,7 +66,7 @@
         // all the gets should be null
         for ( int i = items; i >= 0; i-- )
         {
-            String res = jcs.get( i + ":key" );
+            final String res = jcs.get( i + ":key" );
             assertNull( "[" + i + ":key] should be null", res );
         }
 
@@ -84,7 +84,7 @@
 
         for ( int i = items; i >= 0; i-- )
         {
-            String res = jcs.get( i + ":key" );
+            final String res = jcs.get( i + ":key" );
             assertNull( "[" + i + ":key] should be null", res );
         }
     }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/access/CacheAccessUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/access/CacheAccessUnitTest.java
index cd967fb..91219f2 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/access/CacheAccessUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/access/CacheAccessUnitTest.java
@@ -49,15 +49,15 @@
     public void testPutSafe()
         throws Exception
     {
-        CacheAccess<String, String> access = JCS.getInstance( "test" );
+        final CacheAccess<String, String> access = JCS.getInstance( "test" );
         assertNotNull( "We should have an access class", access );
 
-        String key = "mykey";
-        String value = "myvalue";
+        final String key = "mykey";
+        final String value = "myvalue";
 
         access.put( key, value );
 
-        String returnedValue1 = access.get( key );
+        final String returnedValue1 = access.get( key );
         assertEquals( "Wrong value returned.", value, returnedValue1 );
 
         try
@@ -65,13 +65,13 @@
             access.putSafe( key, "someothervalue" );
             fail( "We should have received an exception since this key is already in the cache." );
         }
-        catch ( CacheException e )
+        catch ( final CacheException e )
         {
             assertTrue( "Wrong type of exception.", e instanceof ObjectExistsException );
             assertTrue( "Should have the key in the error message.", e.getMessage().indexOf( "[" + key + "]" ) != -1 );
         }
 
-        String returnedValue2 = access.get( key );
+        final String returnedValue2 = access.get( key );
         assertEquals( "Wrong value returned.  Should still be the original.", value, returnedValue2 );
     }
 
@@ -82,18 +82,18 @@
     public void testPutNullKey()
         throws Exception
     {
-        CacheAccess<String, String> access = JCS.getInstance( "test" );
+        final CacheAccess<String, String> access = JCS.getInstance( "test" );
         assertNotNull( "We should have an access class", access );
 
-        String key = null;
-        String value = "myvalue";
+        final String key = null;
+        final String value = "myvalue";
 
         try
         {
             access.put( key, value );
             fail( "Should not have been able to put a null key." );
         }
-        catch ( CacheException e )
+        catch ( final CacheException e )
         {
             assertTrue( "Should have the word null in the error message.", e.getMessage().indexOf( "null" ) != -1 );
         }
@@ -106,18 +106,18 @@
     public void testPutNullValue()
         throws Exception
     {
-        CacheAccess<String, String> access = JCS.getInstance( "test" );
+        final CacheAccess<String, String> access = JCS.getInstance( "test" );
         assertNotNull( "We should have an access class", access );
 
-        String key = "myKey";
-        String value = null;
+        final String key = "myKey";
+        final String value = null;
 
         try
         {
             access.put( key, value );
             fail( "Should not have been able to put a null object." );
         }
-        catch ( CacheException e )
+        catch ( final CacheException e )
         {
             assertTrue( "Should have the word null in the error message.", e.getMessage().indexOf( "null" ) != -1 );
         }
@@ -130,11 +130,11 @@
     public void testSetDefaultElementAttributes()
         throws Exception
     {
-        CacheAccess<String, String> access = JCS.getInstance( "test" );
+        final CacheAccess<String, String> access = JCS.getInstance( "test" );
         assertNotNull( "We should have an access class", access );
 
-        long maxLife = 9876;
-        IElementAttributes attr = new ElementAttributes();
+        final long maxLife = 9876;
+        final IElementAttributes attr = new ElementAttributes();
         attr.setMaxLife(maxLife);
 
         access.setDefaultElementAttributes( attr );
@@ -142,12 +142,12 @@
         assertEquals( "Wrong element attributes.", attr.getMaxLife(), access.getDefaultElementAttributes()
             .getMaxLife() );
 
-        String key = "mykey";
-        String value = "myvalue";
+        final String key = "mykey";
+        final String value = "myvalue";
 
         access.put( key, value );
 
-        ICacheElement<String, String> element = access.getCacheElement( key );
+        final ICacheElement<String, String> element = access.getCacheElement( key );
 
         assertEquals( "Wrong max life.  Should have the new value.", maxLife, element.getElementAttributes()
             .getMaxLife() );
@@ -161,43 +161,43 @@
         throws Exception
     {
         //SETUP
-        CacheAccess<String, String> access = JCS.getInstance( "test" );
+        final CacheAccess<String, String> access = JCS.getInstance( "test" );
         assertNotNull( "We should have an access class", access );
 
-        String keyOne = "mykeyone";
-        String keyTwo = "mykeytwo";
-        String keyThree = "mykeythree";
-        String keyFour = "mykeyfour";
-        String valueOne = "myvalueone";
-        String valueTwo = "myvaluetwo";
-        String valueThree = "myvaluethree";
-        String valueFour = "myvaluefour";
+        final String keyOne = "mykeyone";
+        final String keyTwo = "mykeytwo";
+        final String keyThree = "mykeythree";
+        final String keyFour = "mykeyfour";
+        final String valueOne = "myvalueone";
+        final String valueTwo = "myvaluetwo";
+        final String valueThree = "myvaluethree";
+        final String valueFour = "myvaluefour";
 
         access.put( keyOne, valueOne );
         access.put( keyTwo, valueTwo );
         access.put( keyThree, valueThree );
 
-        Set<String> input = new HashSet<>();
+        final Set<String> input = new HashSet<>();
         input.add( keyOne );
         input.add( keyTwo );
 
         //DO WORK
-        Map<String, ICacheElement<String, String>> result = access.getCacheElements( input );
+        final Map<String, ICacheElement<String, String>> result = access.getCacheElements( input );
 
         //VERIFY
         assertEquals( "map size", 2, result.size() );
-        ICacheElement<String, String> elementOne = result.get( keyOne );
+        final ICacheElement<String, String> elementOne = result.get( keyOne );
         assertEquals( "value one", keyOne, elementOne.getKey() );
         assertEquals( "value one", valueOne, elementOne.getVal() );
-        ICacheElement<String, String> elementTwo = result.get( keyTwo );
+        final ICacheElement<String, String> elementTwo = result.get( keyTwo );
         assertEquals( "value two", keyTwo, elementTwo.getKey() );
         assertEquals( "value two", valueTwo, elementTwo.getVal() );
 
         assertNull(access.get(keyFour));
-        String suppliedValue1 = access.get(keyFour, () -> valueFour);
+        final String suppliedValue1 = access.get(keyFour, () -> valueFour);
         assertNotNull( "value four", suppliedValue1);
         assertEquals( "value four", valueFour, suppliedValue1);
-        String suppliedValue2 = access.get(keyFour);
+        final String suppliedValue2 = access.get(keyFour);
         assertNotNull( "value four", suppliedValue2);
         assertEquals( "value four", suppliedValue1, suppliedValue2);
     }
@@ -209,7 +209,7 @@
     public void testRegionDefiniton()
         throws Exception
     {
-        CacheAccess<String, String> access = JCS.getInstance( "test" );
+        final CacheAccess<String, String> access = JCS.getInstance( "test" );
         assertNotNull( "We should have an access class", access );
     }
 
@@ -220,15 +220,15 @@
     public void testRegionDefinitonWithAttributes()
         throws Exception
     {
-        ICompositeCacheAttributes ca = new CompositeCacheAttributes();
+        final ICompositeCacheAttributes ca = new CompositeCacheAttributes();
 
-        long maxIdleTime = 8765;
+        final long maxIdleTime = 8765;
         ca.setMaxMemoryIdleTimeSeconds( maxIdleTime );
 
-        CacheAccess<String, String> access = JCS.getInstance( "testRegionDefinitonWithAttributes", ca );
+        final CacheAccess<String, String> access = JCS.getInstance( "testRegionDefinitonWithAttributes", ca );
         assertNotNull( "We should have an access class", access );
 
-        ICompositeCacheAttributes ca2 = access.getCacheAttributes();
+        final ICompositeCacheAttributes ca2 = access.getCacheAttributes();
         assertEquals( "Wrong idle time setting.", ca.getMaxMemoryIdleTimeSeconds(), ca2.getMaxMemoryIdleTimeSeconds() );
     }
 
@@ -240,19 +240,19 @@
     public void testRegionDefinitonWithBothAttributes()
         throws Exception
     {
-        ICompositeCacheAttributes ca = new CompositeCacheAttributes();
+        final ICompositeCacheAttributes ca = new CompositeCacheAttributes();
 
-        long maxIdleTime = 8765;
+        final long maxIdleTime = 8765;
         ca.setMaxMemoryIdleTimeSeconds( maxIdleTime );
 
-        long maxLife = 9876;
-        IElementAttributes attr = new ElementAttributes();
+        final long maxLife = 9876;
+        final IElementAttributes attr = new ElementAttributes();
         attr.setMaxLife(maxLife);
 
-        CacheAccess<String, String> access = JCS.getInstance( "testRegionDefinitonWithAttributes", ca, attr );
+        final CacheAccess<String, String> access = JCS.getInstance( "testRegionDefinitonWithAttributes", ca, attr );
         assertNotNull( "We should have an access class", access );
 
-        ICompositeCacheAttributes ca2 = access.getCacheAttributes();
+        final ICompositeCacheAttributes ca2 = access.getCacheAttributes();
         assertEquals( "Wrong idle time setting.", ca.getMaxMemoryIdleTimeSeconds(), ca2.getMaxMemoryIdleTimeSeconds() );
     }
 
@@ -265,37 +265,37 @@
         throws Exception
     {
         // SETUP
-        int maxMemorySize = 1000;
-        String keyprefix1 = "MyPrefix1";
-        String keyprefix2 = "MyPrefix2";
-        String memoryCacheClassName = "org.apache.commons.jcs3.engine.memory.lru.LRUMemoryCache";
-        ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
+        final int maxMemorySize = 1000;
+        final String keyprefix1 = "MyPrefix1";
+        final String keyprefix2 = "MyPrefix2";
+        final String memoryCacheClassName = "org.apache.commons.jcs3.engine.memory.lru.LRUMemoryCache";
+        final ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
         cattr.setMemoryCacheName( memoryCacheClassName );
         cattr.setMaxObjects( maxMemorySize );
 
-        long maxLife = 9876;
-        IElementAttributes attr = new ElementAttributes();
+        final long maxLife = 9876;
+        final IElementAttributes attr = new ElementAttributes();
         attr.setMaxLife(maxLife);
 
-        CacheAccess<String, Integer> access = JCS.getInstance( "testGetMatching_Normal", cattr, attr );
+        final CacheAccess<String, Integer> access = JCS.getInstance( "testGetMatching_Normal", cattr, attr );
 
         // DO WORK
-        int numToInsertPrefix1 = 10;
+        final int numToInsertPrefix1 = 10;
         // insert with prefix1
         for ( int i = 0; i < numToInsertPrefix1; i++ )
         {
             access.put( keyprefix1 + String.valueOf( i ), Integer.valueOf( i ) );
         }
 
-        int numToInsertPrefix2 = 50;
+        final int numToInsertPrefix2 = 50;
         // insert with prefix1
         for ( int i = 0; i < numToInsertPrefix2; i++ )
         {
             access.put( keyprefix2 + String.valueOf( i ), Integer.valueOf( i ) );
         }
 
-        Map<String, Integer> result1 = access.getMatching( keyprefix1 + ".+" );
-        Map<String, Integer> result2 = access.getMatching( keyprefix2 + "\\S+" );
+        final Map<String, Integer> result1 = access.getMatching( keyprefix1 + ".+" );
+        final Map<String, Integer> result2 = access.getMatching( keyprefix2 + "\\S+" );
 
         // VERIFY
         assertEquals( "Wrong number returned 1:", numToInsertPrefix1, result1.size() );
@@ -303,9 +303,9 @@
         //System.out.println( result1 );
 
         // verify that the elements are unwrapped
-        for (Map.Entry<String, Integer> entry : result1.entrySet())
+        for (final Map.Entry<String, Integer> entry : result1.entrySet())
         {
-            Object value = entry.getValue();
+            final Object value = entry.getValue();
             assertFalse( "Should not be a cache element.", value instanceof ICacheElement );
         }
     }
@@ -319,37 +319,37 @@
         throws Exception
     {
         // SETUP
-        int maxMemorySize = 1000;
-        String keyprefix1 = "MyPrefix1";
-        String keyprefix2 = "MyPrefix2";
-        String memoryCacheClassName = "org.apache.commons.jcs3.engine.memory.lru.LRUMemoryCache";
-        ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
+        final int maxMemorySize = 1000;
+        final String keyprefix1 = "MyPrefix1";
+        final String keyprefix2 = "MyPrefix2";
+        final String memoryCacheClassName = "org.apache.commons.jcs3.engine.memory.lru.LRUMemoryCache";
+        final ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
         cattr.setMemoryCacheName( memoryCacheClassName );
         cattr.setMaxObjects( maxMemorySize );
 
-        long maxLife = 9876;
-        IElementAttributes attr = new ElementAttributes();
+        final long maxLife = 9876;
+        final IElementAttributes attr = new ElementAttributes();
         attr.setMaxLife(maxLife);
 
-        CacheAccess<String, Integer> access = JCS.getInstance( "testGetMatching_Normal", cattr, attr );
+        final CacheAccess<String, Integer> access = JCS.getInstance( "testGetMatching_Normal", cattr, attr );
 
         // DO WORK
-        int numToInsertPrefix1 = 10;
+        final int numToInsertPrefix1 = 10;
         // insert with prefix1
         for ( int i = 0; i < numToInsertPrefix1; i++ )
         {
             access.put( keyprefix1 + String.valueOf( i ), Integer.valueOf( i ) );
         }
 
-        int numToInsertPrefix2 = 50;
+        final int numToInsertPrefix2 = 50;
         // insert with prefix1
         for ( int i = 0; i < numToInsertPrefix2; i++ )
         {
             access.put( keyprefix2 + String.valueOf( i ), Integer.valueOf( i ) );
         }
 
-        Map<String, ICacheElement<String, Integer>> result1 = access.getMatchingCacheElements( keyprefix1 + "\\S+" );
-        Map<String, ICacheElement<String, Integer>> result2 = access.getMatchingCacheElements( keyprefix2 + ".+" );
+        final Map<String, ICacheElement<String, Integer>> result1 = access.getMatchingCacheElements( keyprefix1 + "\\S+" );
+        final Map<String, ICacheElement<String, Integer>> result2 = access.getMatchingCacheElements( keyprefix2 + ".+" );
 
         // VERIFY
         assertEquals( "Wrong number returned 1:", numToInsertPrefix1, result1.size() );
@@ -357,9 +357,9 @@
         //System.out.println( result1 );
 
         // verify that the elements are wrapped
-        for (Map.Entry<String, ICacheElement<String, Integer>> entry : result1.entrySet())
+        for (final Map.Entry<String, ICacheElement<String, Integer>> entry : result1.entrySet())
         {
-            Object value = entry.getValue();
+            final Object value = entry.getValue();
             assertTrue( "Should be a cache element.", value instanceof ICacheElement );
         }
     }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/access/GroupCacheAccessUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/access/GroupCacheAccessUnitTest.java
index f40624d..678a003 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/access/GroupCacheAccessUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/access/GroupCacheAccessUnitTest.java
@@ -41,16 +41,16 @@
     public void testPutAndGet()
         throws Exception
     {
-        GroupCacheAccess<String, String> access = JCS.getGroupCacheInstance( "test" );
+        final GroupCacheAccess<String, String> access = JCS.getGroupCacheInstance( "test" );
         assertNotNull( "We should have an access class", access );
 
-        String key = "mykey";
-        String group = "mygroup";
-        String value = "myvalue";
+        final String key = "mykey";
+        final String group = "mygroup";
+        final String value = "myvalue";
 
         access.putInGroup(key, group, value);
 
-        String returnedValue1 = access.getFromGroup(key, group);
+        final String returnedValue1 = access.getFromGroup(key, group);
         assertEquals( "Wrong value returned.", value, returnedValue1 );
     }
 
@@ -61,19 +61,19 @@
     public void testPutNullKey()
         throws Exception
     {
-        GroupCacheAccess<String, String> access = JCS.getGroupCacheInstance( "test" );
+        final GroupCacheAccess<String, String> access = JCS.getGroupCacheInstance( "test" );
         assertNotNull( "We should have an access class", access );
 
-        String key = null;
-        String group = "mygroup";
-        String value = "myvalue";
+        final String key = null;
+        final String group = "mygroup";
+        final String value = "myvalue";
 
         try
         {
             access.putInGroup(key, group, value);
             fail( "Should not have been able to put a null key." );
         }
-        catch ( CacheException e )
+        catch ( final CacheException e )
         {
             assertTrue( "Should have the word null in the error message.", e.getMessage().indexOf( "null" ) != -1 );
         }
@@ -86,19 +86,19 @@
     public void testPutNullValue()
         throws Exception
     {
-        GroupCacheAccess<String, String> access = JCS.getGroupCacheInstance( "test" );
+        final GroupCacheAccess<String, String> access = JCS.getGroupCacheInstance( "test" );
         assertNotNull( "We should have an access class", access );
 
-        String key = "myKey";
-        String group = "mygroup";
-        String value = null;
+        final String key = "myKey";
+        final String group = "mygroup";
+        final String value = null;
 
         try
         {
             access.putInGroup(key, group, value);
             fail( "Should not have been able to put a null object." );
         }
-        catch ( CacheException e )
+        catch ( final CacheException e )
         {
             assertTrue( "Should have the word null in the error message.", e.getMessage().indexOf( "null" ) != -1 );
         }
@@ -111,12 +111,12 @@
     public void testRemove()
         throws Exception
     {
-        GroupCacheAccess<String, String> access = JCS.getGroupCacheInstance( "test" );
+        final GroupCacheAccess<String, String> access = JCS.getGroupCacheInstance( "test" );
         assertNotNull( "We should have an access class", access );
 
-        String key = "mykey";
-        String group = "mygroup";
-        String value = "myvalue";
+        final String key = "mykey";
+        final String group = "mygroup";
+        final String value = "myvalue";
 
         for (int i = 0; i < 10; i++)
         {
@@ -126,7 +126,7 @@
         // Make sure cache contains some data
         for (int i = 0; i < 10; i++)
         {
-            String returnedValue1 = access.getFromGroup(key + i, group);
+            final String returnedValue1 = access.getFromGroup(key + i, group);
             assertEquals( "Wrong value returned.", value + i, returnedValue1 );
         }
 
@@ -136,7 +136,7 @@
 
         for (int i = 1; i < 10; i++)
         {
-            String returnedValue1 = access.getFromGroup(key + i, group);
+            final String returnedValue1 = access.getFromGroup(key + i, group);
             assertEquals( "Wrong value returned.", value + i, returnedValue1 );
         }
     }
@@ -148,12 +148,12 @@
     public void testInvalidate()
         throws Exception
     {
-        GroupCacheAccess<String, String> access = JCS.getGroupCacheInstance( "test" );
+        final GroupCacheAccess<String, String> access = JCS.getGroupCacheInstance( "test" );
         assertNotNull( "We should have an access class", access );
 
-        String key = "mykey";
-        String group = "mygroup";
-        String value = "myvalue";
+        final String key = "mykey";
+        final String group = "mygroup";
+        final String value = "myvalue";
 
         for (int i = 0; i < 10; i++)
         {
@@ -168,9 +168,9 @@
         // Make sure cache contains some data
         for (int i = 0; i < 10; i++)
         {
-            String returnedValue1 = access.getFromGroup(key + i, group + 0);
+            final String returnedValue1 = access.getFromGroup(key + i, group + 0);
             assertEquals( "Wrong value returned.", value + i, returnedValue1 );
-            String returnedValue2 = access.getFromGroup(key + i, group + 1);
+            final String returnedValue2 = access.getFromGroup(key + i, group + 1);
             assertEquals( "Wrong value returned.", value + i, returnedValue2 );
         }
 
@@ -183,7 +183,7 @@
 
         for (int i = 0; i < 10; i++)
         {
-            String returnedValue1 = access.getFromGroup(key + i, group + 1);
+            final String returnedValue1 = access.getFromGroup(key + i, group + 1);
             assertEquals( "Wrong value returned.", value + i, returnedValue1 );
         }
     }
@@ -196,9 +196,9 @@
     public void testGroupCache()
         throws Exception
     {
-        GroupCacheAccess<String, Integer> access = JCS.getGroupCacheInstance( "testGroup" );
-        String groupName1 = "testgroup1";
-        String groupName2 = "testgroup2";
+        final GroupCacheAccess<String, Integer> access = JCS.getGroupCacheInstance( "testGroup" );
+        final String groupName1 = "testgroup1";
+        final String groupName2 = "testgroup2";
 
         Set<String> keys1 = access.getGroupKeys( groupName1 );
         assertNotNull(keys1);
@@ -209,14 +209,14 @@
         assertEquals(0, keys2.size());
 
         // DO WORK
-        int numToInsertGroup1 = 10;
+        final int numToInsertGroup1 = 10;
         // insert with prefix1
         for ( int i = 0; i < numToInsertGroup1; i++ )
         {
             access.putInGroup(String.valueOf( i ), groupName1, Integer.valueOf( i ) );
         }
 
-        int numToInsertGroup2 = 50;
+        final int numToInsertGroup2 = 50;
         // insert with prefix1
         for ( int i = 0; i < numToInsertGroup2; i++ )
         {
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/access/SystemPropertyUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/access/SystemPropertyUnitTest.java
index 2c9a107..6dfffc7 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/access/SystemPropertyUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/access/SystemPropertyUnitTest.java
@@ -47,13 +47,13 @@
         throws Exception
     {
 
-        int maxMemory = 1234;
+        final int maxMemory = 1234;
         System.getProperties().setProperty( "MY_SYSTEM_PROPERTY_DISK_DIR", "system_set" );
         System.getProperties().setProperty( "MY_SYSTEM_PROPERTY_MAX_SIZE", String.valueOf( maxMemory ) );
 
         JCS.setConfigFilename( "/TestSystemProperties.ccf" );
 
-        CacheAccess<String, String> cache = JCS.getInstance( "test1" );
+        final CacheAccess<String, String> cache = JCS.getInstance( "test1" );
         assertEquals( "We should have used the system property for the memory size", maxMemory, cache
             .getCacheAttributes().getMaxObjects() );
 
@@ -74,10 +74,10 @@
     {
         System.getProperties().setProperty( "MY_SYSTEM_PROPERTY_DISK_DIR", "system_set" );
 
-        CompositeCacheManager mgr = CompositeCacheManager.getUnconfiguredInstance();
+        final CompositeCacheManager mgr = CompositeCacheManager.getUnconfiguredInstance();
         mgr.configure( "/TestSystemProperties.ccf" );
 
-        CacheAccess<String, String> cache = JCS.getInstance( "missing" );
+        final CacheAccess<String, String> cache = JCS.getInstance( "missing" );
         // TODO check against the actual default def
         assertEquals( "We should have used the default property for the memory size", 100, cache.getCacheAttributes()
             .getMaxObjects() );
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/access/TestCacheAccess.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/access/TestCacheAccess.java
index ad6d128..289abdf 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/access/TestCacheAccess.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/access/TestCacheAccess.java
@@ -63,14 +63,14 @@
     /**
      * @param regionName the name of the region.
      */
-    public TestCacheAccess( String regionName )
+    public TestCacheAccess( final String regionName )
     {
         try
         {
             cache_control = JCS.getInstance( regionName );
             group_cache_control = JCS.getGroupCacheInstance( regionName );
         }
-        catch ( Exception e )
+        catch ( final Exception e )
         {
             log.error( "Problem getting cache instance", e );
             p( e.toString() );
@@ -88,7 +88,7 @@
             boolean notDone = true;
             String message = null;
             // wait to dispose
-            BufferedReader br = new BufferedReader( new InputStreamReader( System.in ) );
+            final BufferedReader br = new BufferedReader( new InputStreamReader( System.in ) );
 
             help();
 
@@ -108,21 +108,21 @@
                 }
                 else if ( message.startsWith( "getAttributeNames" ) )
                 {
-                    long n_start = System.currentTimeMillis();
+                    final long n_start = System.currentTimeMillis();
                     String groupName = null;
-                    StringTokenizer toke = new StringTokenizer( message );
+                    final StringTokenizer toke = new StringTokenizer( message );
                     int tcnt = 0;
                     while ( toke.hasMoreElements() )
                     {
                         tcnt++;
-                        String t = (String) toke.nextElement();
+                        final String t = (String) toke.nextElement();
                         if ( tcnt == 2 )
                         {
                             groupName = t.trim();
                         }
                     }
                     getAttributeNames( groupName );
-                    long n_end = System.currentTimeMillis();
+                    final long n_end = System.currentTimeMillis();
                     p( "---got attrNames for " + groupName + " in " + String.valueOf( n_end - n_start ) + " millis ---" );
                 }
                 else if ( message.startsWith( "shutDown" ) )
@@ -166,36 +166,36 @@
                 }
                 else if ( message.startsWith( "putm" ) )
                 {
-                    String numS = message.substring( message.indexOf( " " ) + 1, message.length() );
+                    final String numS = message.substring( message.indexOf( " " ) + 1, message.length() );
                     if ( numS == null )
                     {
                         p( "usage: putm numbertoput" );
                     }
                     else
                     {
-                        int num = Integer.parseInt( numS.trim() );
+                        final int num = Integer.parseInt( numS.trim() );
                         putMultiple( num );
                     }
                 }
                 else if ( message.startsWith( "pute" ) )
                 {
-                    String numS = message.substring( message.indexOf( " " ) + 1, message.length() );
+                    final String numS = message.substring( message.indexOf( " " ) + 1, message.length() );
                     if ( numS == null )
                     {
                         p( "usage: putme numbertoput" );
                     }
                     else
                     {
-                        int num = Integer.parseInt( numS.trim() );
-                        long n_start = System.currentTimeMillis();
+                        final int num = Integer.parseInt( numS.trim() );
+                        final long n_start = System.currentTimeMillis();
                         for ( int n = 0; n < num; n++ )
                         {
-                            IElementAttributes attrp = cache_control.getDefaultElementAttributes();
-                            ElementEventHandlerMockImpl hand = new ElementEventHandlerMockImpl();
+                            final IElementAttributes attrp = cache_control.getDefaultElementAttributes();
+                            final ElementEventHandlerMockImpl hand = new ElementEventHandlerMockImpl();
                             attrp.addElementEventHandler( hand );
                             cache_control.put( "key" + n, "data" + n + " put from ta = junk", attrp );
                         }
-                        long n_end = System.currentTimeMillis();
+                        final long n_end = System.currentTimeMillis();
                         p( "---put " + num + " in " + String.valueOf( n_end - n_start ) + " millis ---" );
                     }
                 }
@@ -205,14 +205,14 @@
                 }
                 else if ( message.startsWith( "removem" ) )
                 {
-                    String numS = message.substring( message.indexOf( " " ) + 1, message.length() );
+                    final String numS = message.substring( message.indexOf( " " ) + 1, message.length() );
                     if ( numS == null )
                     {
                         p( "usage: removem numbertoremove" );
                     }
                     else
                     {
-                        int num = Integer.parseInt( numS.trim() );
+                        final int num = Integer.parseInt( numS.trim() );
                         removeMultiple( num );
                     }
                 }
@@ -223,38 +223,38 @@
                 }
                 else if ( message.startsWith( "remove" ) )
                 {
-                    String key = message.substring( message.indexOf( " " ) + 1, message.length() );
+                    final String key = message.substring( message.indexOf( " " ) + 1, message.length() );
                     cache_control.remove( key );
                     p( "removed " + key );
                 }
                 else if ( message.startsWith( "deattr" ) )
                 {
-                    IElementAttributes ae = cache_control.getDefaultElementAttributes();
+                    final IElementAttributes ae = cache_control.getDefaultElementAttributes();
                     p( "Default IElementAttributes " + ae );
                 }
                 else if ( message.startsWith( "cloneattr" ) )
                 {
-                    String numS = message.substring( message.indexOf( " " ) + 1, message.length() );
+                    final String numS = message.substring( message.indexOf( " " ) + 1, message.length() );
                     if ( numS == null )
                     {
                         p( "usage: put numbertoput" );
                     }
                     else
                     {
-                        int num = Integer.parseInt( numS.trim() );
-                        IElementAttributes attrp = new ElementAttributes();
-                        long n_start = System.currentTimeMillis();
+                        final int num = Integer.parseInt( numS.trim() );
+                        final IElementAttributes attrp = new ElementAttributes();
+                        final long n_start = System.currentTimeMillis();
                         for ( int n = 0; n < num; n++ )
                         {
                             attrp.clone();
                         }
-                        long n_end = System.currentTimeMillis();
+                        final long n_end = System.currentTimeMillis();
                         p( "---cloned attr " + num + " in " + String.valueOf( n_end - n_start ) + " millis ---" );
                     }
                 }
                 else if ( message.startsWith( "switch" ) )
                 {
-                    String name = message.substring( message.indexOf( " " ) + 1, message.length() );
+                    final String name = message.substring( message.indexOf( " " ) + 1, message.length() );
 
                     setRegion( name );
                     p( "switched to cache = " + name );
@@ -285,24 +285,24 @@
     /**
      * @param message
      */
-    private void processGetMultiple( String message )
+    private void processGetMultiple( final String message )
     {
         int num = 0;
         boolean show = true;
 
-        StringTokenizer toke = new StringTokenizer( message );
+        final StringTokenizer toke = new StringTokenizer( message );
         int tcnt = 0;
         while ( toke.hasMoreElements() )
         {
             tcnt++;
-            String t = (String) toke.nextElement();
+            final String t = (String) toke.nextElement();
             if ( tcnt == 2 )
             {
                 try
                 {
                     num = Integer.parseInt( t.trim() );
                 }
-                catch ( NumberFormatException nfe )
+                catch ( final NumberFormatException nfe )
                 {
                     p( t + "not a number" );
                 }
@@ -326,18 +326,18 @@
     /**
      * @param message
      */
-    private void processGetGroup( String message )
+    private void processGetGroup( final String message )
     {
         String key = null;
         String group = null;
         boolean show = true;
 
-        StringTokenizer toke = new StringTokenizer( message );
+        final StringTokenizer toke = new StringTokenizer( message );
         int tcnt = 0;
         while ( toke.hasMoreElements() )
         {
             tcnt++;
-            String t = (String) toke.nextElement();
+            final String t = (String) toke.nextElement();
             if ( tcnt == 2 )
             {
                 key = t.trim();
@@ -358,20 +358,20 @@
         }
         else
         {
-            long n_start = System.currentTimeMillis();
+            final long n_start = System.currentTimeMillis();
             try
             {
-                Object obj = group_cache_control.getFromGroup( key, group );
+                final Object obj = group_cache_control.getFromGroup( key, group );
                 if ( show && obj != null )
                 {
                     p( obj.toString() );
                 }
             }
-            catch ( Exception e )
+            catch ( final Exception e )
             {
                 log.error( e );
             }
-            long n_end = System.currentTimeMillis();
+            final long n_end = System.currentTimeMillis();
             p( "---got " + key + " from group " + group + " in " + String.valueOf( n_end - n_start ) + " millis ---" );
         }
     }
@@ -379,7 +379,7 @@
     /**
      * @param message
      */
-    private void processGetAutoGroup( String message )
+    private void processGetAutoGroup( final String message )
     {
         // get auto from group
 
@@ -387,12 +387,12 @@
         String group = null;
         boolean show = true;
 
-        StringTokenizer toke = new StringTokenizer( message );
+        final StringTokenizer toke = new StringTokenizer( message );
         int tcnt = 0;
         while ( toke.hasMoreElements() )
         {
             tcnt++;
-            String t = (String) toke.nextElement();
+            final String t = (String) toke.nextElement();
             if ( tcnt == 2 )
             {
                 num = Integer.parseInt( t.trim() );
@@ -413,23 +413,23 @@
         }
         else
         {
-            long n_start = System.currentTimeMillis();
+            final long n_start = System.currentTimeMillis();
             try
             {
                 for ( int a = 0; a < num; a++ )
                 {
-                    Object obj = group_cache_control.getFromGroup( "keygr" + a, group );
+                    final Object obj = group_cache_control.getFromGroup( "keygr" + a, group );
                     if ( show && obj != null )
                     {
                         p( obj.toString() );
                     }
                 }
             }
-            catch ( Exception e )
+            catch ( final Exception e )
             {
                 log.error( e );
             }
-            long n_end = System.currentTimeMillis();
+            final long n_end = System.currentTimeMillis();
             p( "---got " + num + " from group " + group + " in " + String.valueOf( n_end - n_start ) + " millis ---" );
         }
     }
@@ -438,17 +438,17 @@
      * @param message
      * @throws CacheException
      */
-    private void processPutGroup( String message )
+    private void processPutGroup( final String message )
         throws CacheException
     {
         String group = null;
         String key = null;
-        StringTokenizer toke = new StringTokenizer( message );
+        final StringTokenizer toke = new StringTokenizer( message );
         int tcnt = 0;
         while ( toke.hasMoreElements() )
         {
             tcnt++;
-            String t = (String) toke.nextElement();
+            final String t = (String) toke.nextElement();
             if ( tcnt == 2 )
             {
                 key = t.trim();
@@ -465,9 +465,9 @@
         }
         else
         {
-            long n_start = System.currentTimeMillis();
+            final long n_start = System.currentTimeMillis();
             group_cache_control.putInGroup( key, group, "data from putg ----asdfasfas-asfasfas-asfas in group " + group );
-            long n_end = System.currentTimeMillis();
+            final long n_end = System.currentTimeMillis();
             p( "---put " + key + " in group " + group + " in " + String.valueOf( n_end - n_start ) + " millis ---" );
         }
     }
@@ -476,17 +476,17 @@
      * @param message
      * @throws CacheException
      */
-    private void processPutAutoGroup( String message )
+    private void processPutAutoGroup( final String message )
         throws CacheException
     {
         String group = null;
         int num = 0;
-        StringTokenizer toke = new StringTokenizer( message );
+        final StringTokenizer toke = new StringTokenizer( message );
         int tcnt = 0;
         while ( toke.hasMoreElements() )
         {
             tcnt++;
-            String t = (String) toke.nextElement();
+            final String t = (String) toke.nextElement();
             if ( tcnt == 2 )
             {
                 num = Integer.parseInt( t.trim() );
@@ -503,13 +503,13 @@
         }
         else
         {
-            long n_start = System.currentTimeMillis();
+            final long n_start = System.currentTimeMillis();
             for ( int a = 0; a < num; a++ )
             {
                 group_cache_control.putInGroup( "keygr" + a, group, "data " + a
                     + " from putag ----asdfasfas-asfasfas-asfas in group " + group );
             }
-            long n_end = System.currentTimeMillis();
+            final long n_end = System.currentTimeMillis();
             p( "---put " + num + " in group " + group + " in " + String.valueOf( n_end - n_start ) + " millis ---" );
         }
     }
@@ -518,17 +518,17 @@
      * @param message
      * @throws CacheException
      */
-    private void processPut( String message )
+    private void processPut( final String message )
         throws CacheException
     {
         String key = null;
         String val = null;
-        StringTokenizer toke = new StringTokenizer( message );
+        final StringTokenizer toke = new StringTokenizer( message );
         int tcnt = 0;
         while ( toke.hasMoreElements() )
         {
             tcnt++;
-            String t = (String) toke.nextElement();
+            final String t = (String) toke.nextElement();
             if ( tcnt == 2 )
             {
                 key = t.trim();
@@ -546,9 +546,9 @@
         else
         {
 
-            long n_start = System.currentTimeMillis();
+            final long n_start = System.currentTimeMillis();
             cache_control.put( key, val );
-            long n_end = System.currentTimeMillis();
+            final long n_end = System.currentTimeMillis();
             p( "---put " + key + " | " + val + " in " + String.valueOf( n_end - n_start ) + " millis ---" );
         }
     }
@@ -556,18 +556,18 @@
     /**
      * @param message
      */
-    private void processRandom( String message )
+    private void processRandom( final String message )
     {
         String rangeS = "";
         String numOpsS = "";
         boolean show = true;
 
-        StringTokenizer toke = new StringTokenizer( message );
+        final StringTokenizer toke = new StringTokenizer( message );
         int tcnt = 0;
         while ( toke.hasMoreElements() )
         {
             tcnt++;
-            String t = (String) toke.nextElement();
+            final String t = (String) toke.nextElement();
             if ( tcnt == 2 )
             {
                 rangeS = t.trim();
@@ -582,7 +582,7 @@
             }
         }
 
-        String numS = message.substring( message.indexOf( " " ) + 1, message.length() );
+        final String numS = message.substring( message.indexOf( " " ) + 1, message.length() );
 
         int range = 0;
         int numOps = 0;
@@ -591,7 +591,7 @@
             range = Integer.parseInt( rangeS.trim() );
             numOps = Integer.parseInt( numOpsS.trim() );
         }
-        catch ( Exception e )
+        catch ( final Exception e )
         {
             p( "usage: random range numOps show" );
             p( "ex.  random 100 1000 false" );
@@ -610,19 +610,19 @@
     /**
      * @param message
      */
-    private void processGet( String message )
+    private void processGet( final String message )
     {
         // plain old get
 
         String key = null;
         boolean show = true;
 
-        StringTokenizer toke = new StringTokenizer( message );
+        final StringTokenizer toke = new StringTokenizer( message );
         int tcnt = 0;
         while ( toke.hasMoreElements() )
         {
             tcnt++;
-            String t = (String) toke.nextElement();
+            final String t = (String) toke.nextElement();
             if ( tcnt == 2 )
             {
                 key = t.trim();
@@ -639,20 +639,20 @@
         }
         else
         {
-            long n_start = System.currentTimeMillis();
+            final long n_start = System.currentTimeMillis();
             try
             {
-                Object obj = cache_control.get( key );
+                final Object obj = cache_control.get( key );
                 if ( show && obj != null )
                 {
                     p( obj.toString() );
                 }
             }
-            catch ( Exception e )
+            catch ( final Exception e )
             {
                 log.error( e );
             }
-            long n_end = System.currentTimeMillis();
+            final long n_end = System.currentTimeMillis();
             p( "---got " + key + " in " + String.valueOf( n_end - n_start ) + " millis ---" );
         }
     }
@@ -660,19 +660,19 @@
     /**
      * @param message
      */
-    private void processGetMatching( String message )
+    private void processGetMatching( final String message )
     {
         // plain old get
 
         String pattern = null;
         boolean show = true;
 
-        StringTokenizer toke = new StringTokenizer( message );
+        final StringTokenizer toke = new StringTokenizer( message );
         int tcnt = 0;
         while ( toke.hasMoreElements() )
         {
             tcnt++;
-            String t = (String) toke.nextElement();
+            final String t = (String) toke.nextElement();
             if ( tcnt == 2 )
             {
                 pattern = t.trim();
@@ -689,20 +689,20 @@
         }
         else
         {
-            long n_start = System.currentTimeMillis();
+            final long n_start = System.currentTimeMillis();
             try
             {
-                Map<String, String> results = cache_control.getMatching( pattern );
+                final Map<String, String> results = cache_control.getMatching( pattern );
                 if ( show && results != null )
                 {
                     p( results.toString() );
                 }
             }
-            catch ( Exception e )
+            catch ( final Exception e )
             {
                 log.error( e );
             }
-            long n_end = System.currentTimeMillis();
+            final long n_end = System.currentTimeMillis();
             p( "---gotMatching [" + pattern + "] in " + String.valueOf( n_end - n_start ) + " millis ---" );
         }
     }
@@ -711,15 +711,15 @@
      * Test harness.
      * @param args The command line arguments
      */
-    public static void main( String[] args )
+    public static void main( final String[] args )
     {
         isSysOut = true;
-        String ccfFileName = args[0];
+        final String ccfFileName = args[0];
         if ( ccfFileName != null )
         {
             JCS.setConfigFilename( ccfFileName );
         }
-        TestCacheAccess tca = new TestCacheAccess( "testCache1" );
+        final TestCacheAccess tca = new TestCacheAccess( "testCache1" );
         tca.runLoop();
     }
 
@@ -730,7 +730,7 @@
      * Gets multiple items from the cache with keys of the form key1, key2, key3 up to key[num].
      * @param num int
      */
-    public void getMultiple( int num )
+    public void getMultiple( final int num )
     {
         getMultiple( num, false );
     }
@@ -739,25 +739,25 @@
      * @param num
      * @param show
      */
-    public void getMultiple( int num, boolean show )
+    public void getMultiple( final int num, final boolean show )
     {
-        long n_start = System.currentTimeMillis();
+        final long n_start = System.currentTimeMillis();
         for ( int n = 0; n < num; n++ )
         {
             try
             {
-                Object obj = cache_control.get( "key" + n );
+                final Object obj = cache_control.get( "key" + n );
                 if ( show && obj != null )
                 {
                     p( obj.toString() );
                 }
             }
-            catch ( Exception e )
+            catch ( final Exception e )
             {
                 log.error( e );
             }
         }
-        long n_end = System.currentTimeMillis();
+        final long n_end = System.currentTimeMillis();
         p( "---got " + num + " in " + String.valueOf( n_end - n_start ) + " millis ---" );
     }
 
@@ -765,19 +765,19 @@
      * Puts multiple items into the cache.
      * @param num int
      */
-    public void putMultiple( int num )
+    public void putMultiple( final int num )
     {
         try
         {
-            long n_start = System.currentTimeMillis();
+            final long n_start = System.currentTimeMillis();
             for ( int n = 0; n < num; n++ )
             {
                 cache_control.put( "key" + n, "data" + n + " put from ta = junk" );
             }
-            long n_end = System.currentTimeMillis();
+            final long n_end = System.currentTimeMillis();
             p( "---put " + num + " in " + String.valueOf( n_end - n_start ) + " millis ---" );
         }
-        catch ( Exception e )
+        catch ( final Exception e )
         {
             log.error( e );
         }
@@ -787,19 +787,19 @@
      * Removes multiple items from the cache.
      * @param num int
      */
-    public void removeMultiple( int num )
+    public void removeMultiple( final int num )
     {
         try
         {
-            long n_start = System.currentTimeMillis();
+            final long n_start = System.currentTimeMillis();
             for ( int n = 0; n < num; n++ )
             {
                 cache_control.remove( "key" + n );
             }
-            long n_end = System.currentTimeMillis();
+            final long n_end = System.currentTimeMillis();
             p( "---removed " + num + " in " + String.valueOf( n_end - n_start ) + " millis ---" );
         }
-        catch ( Exception e )
+        catch ( final Exception e )
         {
             log.error( e );
         }
@@ -811,7 +811,7 @@
      * @param range int The end of the key range.
      * @param numOps int The number of operations to perform
      */
-    public void random( int range, int numOps )
+    public void random( final int range, final int numOps )
     {
         random( range, numOps, false );
     }
@@ -821,16 +821,16 @@
      * @param numOps
      * @param show
      */
-    public void random( int range, int numOps, boolean show )
+    public void random( final int range, final int numOps, final boolean show )
     {
         try
         {
             for ( int i = 1; i < numOps; i++ )
             {
-                Random ran = new Random( i );
-                int n = ran.nextInt( 4 );
-                int kn = ran.nextInt( range );
-                String key = "key" + kn;
+                final Random ran = new Random( i );
+                final int n = ran.nextInt( 4 );
+                final int kn = ran.nextInt( range );
+                final String key = "key" + kn;
                 if ( n == 1 )
                 {
                     cache_control.put( key, "data" + i + " junk asdfffffffadfasdfasf " + kn + ":" + n );
@@ -850,7 +850,7 @@
                 else
                 {
                     // slightly greater chance of get
-                    Object obj = cache_control.get( key );
+                    final Object obj = cache_control.get( key );
                     if ( show && obj != null )
                     {
                         p( obj.toString() );
@@ -865,7 +865,7 @@
             }
             p( "Finished random cycle of " + numOps );
         }
-        catch ( Exception e )
+        catch ( final Exception e )
         {
             p( e.toString() );
             e.printStackTrace( System.out );
@@ -876,13 +876,13 @@
      * Sets the region to be used by test methods.
      * @param name String -- Name of region
      */
-    public void setRegion( String name )
+    public void setRegion( final String name )
     {
         try
         {
             cache_control = JCS.getInstance( name );
         }
-        catch ( Exception e )
+        catch ( final Exception e )
         {
             p( e.toString() );
             e.printStackTrace( System.out );
@@ -896,7 +896,7 @@
      * default. When run via the main method, isSysOut will be set to true
      * @param s String to print or log
      */
-    public static void p( String s )
+    public static void p( final String s )
     {
         if ( isSysOut )
         {
@@ -945,9 +945,9 @@
      * Gets the attributeNames attribute of the TestCacheAccess class
      * @param groupName
      */
-    public void getAttributeNames( String groupName )
+    public void getAttributeNames( final String groupName )
     {
-        Iterator<String> iter = group_cache_control.getGroupKeys( groupName ).iterator();
+        final Iterator<String> iter = group_cache_control.getGroupKeys( groupName ).iterator();
 
         while ( iter.hasNext() )
         {
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/admin/AdminBeanUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/admin/AdminBeanUnitTest.java
index 9e88fc5..957a90c 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/admin/AdminBeanUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/admin/AdminBeanUnitTest.java
@@ -65,18 +65,18 @@
     public void testGetRegionInfo()
         throws Exception
     {
-        String regionName = "myRegion";
-        CacheAccess<String, String> cache = JCS.getInstance( regionName );
+        final String regionName = "myRegion";
+        final CacheAccess<String, String> cache = JCS.getInstance( regionName );
 
         cache.put( "key", "value" );
 
-        JCSAdminBean admin = new JCSAdminBean();
+        final JCSAdminBean admin = new JCSAdminBean();
 
-        List<CacheRegionInfo> regions = admin.buildCacheInfo();
+        final List<CacheRegionInfo> regions = admin.buildCacheInfo();
 
         boolean foundRegion = false;
 
-        for (CacheRegionInfo info : regions)
+        for (final CacheRegionInfo info : regions)
         {
 
             if ( info.getCacheName().equals( regionName ) )
@@ -100,21 +100,21 @@
     public void testGetElementForRegionInfo()
         throws Exception
     {
-        String regionName = "myRegion";
-        CacheAccess<String, String> cache = JCS.getInstance( regionName );
+        final String regionName = "myRegion";
+        final CacheAccess<String, String> cache = JCS.getInstance( regionName );
 
         // clear the region
         cache.clear();
 
-        String key = "myKey";
+        final String key = "myKey";
         cache.put( key, "value" );
 
-        JCSAdminBean admin = new JCSAdminBean();
+        final JCSAdminBean admin = new JCSAdminBean();
 
-        List<CacheElementInfo> elements = admin.buildElementInfo( regionName );
+        final List<CacheElementInfo> elements = admin.buildElementInfo( regionName );
         assertEquals( "Wrong number of elements in the region.", 1, elements.size() );
 
-        CacheElementInfo elementInfo = elements.get(0);
+        final CacheElementInfo elementInfo = elements.get(0);
         assertEquals( "Wrong key." + elementInfo, key, elementInfo.getKey() );
     }
 
@@ -126,27 +126,27 @@
     public void testRemove()
         throws Exception
     {
-        JCSAdminBean admin = new JCSAdminBean();
+        final JCSAdminBean admin = new JCSAdminBean();
 
-        String regionName = "myRegion";
-        CacheAccess<String, String> cache = JCS.getInstance( regionName );
+        final String regionName = "myRegion";
+        final CacheAccess<String, String> cache = JCS.getInstance( regionName );
 
         // clear the region
         cache.clear();
         admin.clearRegion( regionName );
 
-        String key = "myKey";
+        final String key = "myKey";
         cache.put( key, "value" );
 
-        List<CacheElementInfo> elements = admin.buildElementInfo( regionName );
+        final List<CacheElementInfo> elements = admin.buildElementInfo( regionName );
         assertEquals( "Wrong number of elements in the region.", 1, elements.size() );
 
-        CacheElementInfo elementInfo = elements.get(0);
+        final CacheElementInfo elementInfo = elements.get(0);
         assertEquals( "Wrong key.", key, elementInfo.getKey() );
 
         admin.removeItem( regionName, key );
 
-        List<CacheElementInfo> elements2 = admin.buildElementInfo( regionName );
+        final List<CacheElementInfo> elements2 = admin.buildElementInfo( regionName );
         assertEquals( "Wrong number of elements in the region after remove.", 0, elements2.size() );
     }
 
@@ -158,17 +158,17 @@
     public void testClearAll()
         throws Exception
     {
-        JCSAdminBean admin = new JCSAdminBean();
+        final JCSAdminBean admin = new JCSAdminBean();
 
-        String regionName = "myRegion";
-        CacheAccess<String, String> cache = JCS.getInstance( regionName );
+        final String regionName = "myRegion";
+        final CacheAccess<String, String> cache = JCS.getInstance( regionName );
 
-        String key = "myKey";
+        final String key = "myKey";
         cache.put( key, "value" );
 
         admin.clearAllRegions();
 
-        List<CacheElementInfo> elements2 = admin.buildElementInfo( regionName );
+        final List<CacheElementInfo> elements2 = admin.buildElementInfo( regionName );
         assertEquals( "Wrong number of elements in the region after remove.", 0, elements2.size() );
     }
 }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/admin/CountingStreamUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/admin/CountingStreamUnitTest.java
index 8e9c32b..3f08076 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/admin/CountingStreamUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/admin/CountingStreamUnitTest.java
@@ -40,7 +40,7 @@
      */
     public void testSingleByte() throws Exception
     {
-        CountingOnlyOutputStream out = new CountingOnlyOutputStream();
+        final CountingOnlyOutputStream out = new CountingOnlyOutputStream();
         out.write( 1 );
         assertEquals( "Wrong number of bytes written.", 1, out.getCount() );
         out.write( 1 );
@@ -55,8 +55,8 @@
      */
     public void testByteArray() throws Exception
     {
-        CountingOnlyOutputStream out = new CountingOnlyOutputStream();
-        byte[] array = new byte[]{1,2,3,4,5};
+        final CountingOnlyOutputStream out = new CountingOnlyOutputStream();
+        final byte[] array = new byte[]{1,2,3,4,5};
         out.write( array );
         assertEquals( "Wrong number of bytes written.", array.length, out.getCount() );
         out.close();
@@ -69,9 +69,9 @@
      */
     public void testByteArrayLenCount() throws Exception
     {
-        CountingOnlyOutputStream out = new CountingOnlyOutputStream();
-        byte[] array = new byte[]{1,2,3,4,5};
-        int len = 3;
+        final CountingOnlyOutputStream out = new CountingOnlyOutputStream();
+        final byte[] array = new byte[]{1,2,3,4,5};
+        final int len = 3;
         out.write( array, 0, len );
         assertEquals( "Wrong number of bytes written.", len, out.getCount() );
         out.close();
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/admin/TestJMX.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/admin/TestJMX.java
index 2f1c518..339e776 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/admin/TestJMX.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/admin/TestJMX.java
@@ -27,9 +27,9 @@
  */
 public class TestJMX
 {
-	public static void main(String[] args) throws Exception
+	public static void main(final String[] args) throws Exception
 	{
-		CacheAccess<String, String> cache = JCS.getInstance("test");
+		final CacheAccess<String, String> cache = JCS.getInstance("test");
 
 		cache.put("key", "value");
         System.out.println("Waiting...");
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/AuxiliaryCacheConfiguratorUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/AuxiliaryCacheConfiguratorUnitTest.java
index 411a586..6285805 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/AuxiliaryCacheConfiguratorUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/AuxiliaryCacheConfiguratorUnitTest.java
@@ -38,10 +38,10 @@
     public void testParseCacheEventLogger_Null()
     {
         // SETUP
-        Properties props = new Properties();
+        final Properties props = new Properties();
 
         // DO WORK
-        MockCacheEventLogger result = (MockCacheEventLogger) AuxiliaryCacheConfigurator.parseCacheEventLogger( props,
+        final MockCacheEventLogger result = (MockCacheEventLogger) AuxiliaryCacheConfigurator.parseCacheEventLogger( props,
                                                                                                                "junk" );
 
         // VERIFY
@@ -54,10 +54,10 @@
     public void testParseCacheEventLogger_NullName()
     {
         // SETUP
-        Properties props = new Properties();
+        final Properties props = new Properties();
 
         // DO WORK
-        MockCacheEventLogger result = (MockCacheEventLogger) AuxiliaryCacheConfigurator.parseCacheEventLogger( props,
+        final MockCacheEventLogger result = (MockCacheEventLogger) AuxiliaryCacheConfigurator.parseCacheEventLogger( props,
                                                                                                                null );
 
         // VERIFY
@@ -70,17 +70,17 @@
     public void testParseCacheEventLogger_Normal()
     {
         // SETUP
-        String auxPrefix = "jcs.auxiliary." + "MYAux";
-        String testPropertyValue = "This is the value";
-        String className = MockCacheEventLogger.class.getName();
+        final String auxPrefix = "jcs.auxiliary." + "MYAux";
+        final String testPropertyValue = "This is the value";
+        final String className = MockCacheEventLogger.class.getName();
 
-        Properties props = new Properties();
+        final Properties props = new Properties();
         props.put( auxPrefix + AuxiliaryCacheConfigurator.CACHE_EVENT_LOGGER_PREFIX, className );
         props.put( auxPrefix + AuxiliaryCacheConfigurator.CACHE_EVENT_LOGGER_PREFIX
             + AuxiliaryCacheConfigurator.ATTRIBUTE_PREFIX + ".testProperty", testPropertyValue );
 
         // DO WORK
-        MockCacheEventLogger result = (MockCacheEventLogger) AuxiliaryCacheConfigurator
+        final MockCacheEventLogger result = (MockCacheEventLogger) AuxiliaryCacheConfigurator
             .parseCacheEventLogger( props, auxPrefix );
 
         // VERIFY
@@ -94,17 +94,17 @@
     public void testParseElementSerializer_Normal()
     {
         // SETUP
-        String auxPrefix = "jcs.auxiliary." + "MYAux";
-        String testPropertyValue = "This is the value";
-        String className = MockElementSerializer.class.getName();
+        final String auxPrefix = "jcs.auxiliary." + "MYAux";
+        final String testPropertyValue = "This is the value";
+        final String className = MockElementSerializer.class.getName();
 
-        Properties props = new Properties();
+        final Properties props = new Properties();
         props.put( auxPrefix + AuxiliaryCacheConfigurator.SERIALIZER_PREFIX, className );
         props.put( auxPrefix + AuxiliaryCacheConfigurator.SERIALIZER_PREFIX
             + AuxiliaryCacheConfigurator.ATTRIBUTE_PREFIX + ".testProperty", testPropertyValue );
 
         // DO WORK
-        MockElementSerializer result = (MockElementSerializer) AuxiliaryCacheConfigurator
+        final MockElementSerializer result = (MockElementSerializer) AuxiliaryCacheConfigurator
             .parseElementSerializer( props, auxPrefix );
 
         // VERIFY
@@ -118,10 +118,10 @@
     public void testParseElementSerializer_Null()
     {
         // SETUP
-        Properties props = new Properties();
+        final Properties props = new Properties();
 
         // DO WORK
-        IElementSerializer result = AuxiliaryCacheConfigurator
+        final IElementSerializer result = AuxiliaryCacheConfigurator
             .parseElementSerializer( props, "junk" );
 
         // VERIFY
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/MockAuxiliaryCache.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/MockAuxiliaryCache.java
index ed21fe0..2803f78 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/MockAuxiliaryCache.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/MockAuxiliaryCache.java
@@ -50,7 +50,7 @@
      * @throws IOException
      */
     @Override
-    public void update( ICacheElement<K, V> ce )
+    public void update( final ICacheElement<K, V> ce )
         throws IOException
     {
         // TODO Auto-generated method stub
@@ -63,7 +63,7 @@
      * @throws IOException
      */
     @Override
-    public ICacheElement<K, V> get( K key )
+    public ICacheElement<K, V> get( final K key )
         throws IOException
     {
         // TODO Auto-generated method stub
@@ -76,7 +76,7 @@
      * @throws IOException
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMatching(String pattern)
+    public Map<K, ICacheElement<K, V>> getMatching(final String pattern)
         throws IOException
     {
         getMatchingCallCount++;
@@ -91,7 +91,7 @@
      *         data in cache for any of these keys
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMultiple(Set<K> keys)
+    public Map<K, ICacheElement<K, V>> getMultiple(final Set<K> keys)
     {
         return new HashMap<>();
     }
@@ -102,7 +102,7 @@
      * @throws IOException
      */
     @Override
-    public boolean remove( K key )
+    public boolean remove( final K key )
         throws IOException
     {
         // TODO Auto-generated method stub
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/MockAuxiliaryCacheFactory.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/MockAuxiliaryCacheFactory.java
index 3498967..e24c02e 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/MockAuxiliaryCacheFactory.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/MockAuxiliaryCacheFactory.java
@@ -41,10 +41,10 @@
      */
     @Override
     public <K, V> AuxiliaryCache<K, V>
-        createCache( AuxiliaryCacheAttributes attr, ICompositeCacheManager cacheMgr,
-           ICacheEventLogger cacheEventLogger, IElementSerializer elementSerializer )
+        createCache( final AuxiliaryCacheAttributes attr, final ICompositeCacheManager cacheMgr,
+           final ICacheEventLogger cacheEventLogger, final IElementSerializer elementSerializer )
     {
-        MockAuxiliaryCache<K, V> auxCache = new MockAuxiliaryCache<>();
+        final MockAuxiliaryCache<K, V> auxCache = new MockAuxiliaryCache<>();
         auxCache.setCacheEventLogger( cacheEventLogger );
         auxCache.setElementSerializer( elementSerializer );
         return auxCache;
@@ -63,7 +63,7 @@
      * @param s
      */
     @Override
-    public void setName( String s )
+    public void setName( final String s )
     {
         this.name = s;
     }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/MockCacheEventLogger.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/MockCacheEventLogger.java
index a70bd28..e094781 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/MockCacheEventLogger.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/MockCacheEventLogger.java
@@ -54,7 +54,7 @@
      * @param optionalDetails
      */
     @Override
-    public void logApplicationEvent( String source, String eventName, String optionalDetails )
+    public void logApplicationEvent( final String source, final String eventName, final String optionalDetails )
     {
         applicationEventCalls++;
     }
@@ -63,7 +63,7 @@
      * @param event
      */
     @Override
-    public <T> void logICacheEvent( ICacheEvent<T> event )
+    public <T> void logICacheEvent( final ICacheEvent<T> event )
     {
         endICacheEventCalls++;
     }
@@ -74,7 +74,7 @@
      * @param errorMessage
      */
     @Override
-    public void logError( String source, String eventName, String errorMessage )
+    public void logError( final String source, final String eventName, final String errorMessage )
     {
         errorEventCalls++;
         errorMessages.add( errorMessage );
@@ -89,8 +89,8 @@
      * @return ICacheEvent
      */
     @Override
-    public <T> ICacheEvent<T> createICacheEvent( String source, String region,
-            String eventName, String optionalDetails, T key )
+    public <T> ICacheEvent<T> createICacheEvent( final String source, final String region,
+            final String eventName, final String optionalDetails, final T key )
     {
         startICacheEventCalls++;
         return new CacheEvent<>();
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/AbstractDiskCacheUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/AbstractDiskCacheUnitTest.java
index 420ff08..efbbcea 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/AbstractDiskCacheUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/AbstractDiskCacheUnitTest.java
@@ -52,21 +52,21 @@
         throws IOException
     {
         // SETUP
-        String cacheName = "testUpdateGet_allowed";
-        IDiskCacheAttributes diskCacheAttributes = new IndexedDiskCacheAttributes();
+        final String cacheName = "testUpdateGet_allowed";
+        final IDiskCacheAttributes diskCacheAttributes = new IndexedDiskCacheAttributes();
         diskCacheAttributes.setCacheName( cacheName );
 
-        AbstractDiskCacheTestInstance<String, String> diskCache = new AbstractDiskCacheTestInstance<>( diskCacheAttributes );
+        final AbstractDiskCacheTestInstance<String, String> diskCache = new AbstractDiskCacheTestInstance<>( diskCacheAttributes );
 
-        String key = "myKey";
-        String value = "myValue";
-        IElementAttributes elementAttributes = new ElementAttributes();
-        ICacheElement<String, String> cacheElement = new CacheElement<>( cacheName, key, value, elementAttributes );
+        final String key = "myKey";
+        final String value = "myValue";
+        final IElementAttributes elementAttributes = new ElementAttributes();
+        final ICacheElement<String, String> cacheElement = new CacheElement<>( cacheName, key, value, elementAttributes );
 
         diskCache.update( cacheElement );
 
         // DO WORK
-        ICacheElement<String, String> result = diskCache.get( key );
+        final ICacheElement<String, String> result = diskCache.get( key );
 
         // VERIFY
         //System.out.println( diskCache.getStats() );
@@ -82,16 +82,16 @@
         throws IOException
     {
         // SETUP
-        String cacheName = "testDispose";
-        IDiskCacheAttributes diskCacheAttributes = new IndexedDiskCacheAttributes();
+        final String cacheName = "testDispose";
+        final IDiskCacheAttributes diskCacheAttributes = new IndexedDiskCacheAttributes();
         diskCacheAttributes.setCacheName( cacheName );
 
-        AbstractDiskCacheTestInstance<String, String> diskCache = new AbstractDiskCacheTestInstance<>( diskCacheAttributes );
+        final AbstractDiskCacheTestInstance<String, String> diskCache = new AbstractDiskCacheTestInstance<>( diskCacheAttributes );
 
-        String key = "myKey";
-        String value = "myValue";
-        IElementAttributes elementAttributes = new ElementAttributes();
-        ICacheElement<String, String> cacheElement = new CacheElement<>( cacheName, key, value, elementAttributes );
+        final String key = "myKey";
+        final String value = "myValue";
+        final IElementAttributes elementAttributes = new ElementAttributes();
+        final ICacheElement<String, String> cacheElement = new CacheElement<>( cacheName, key, value, elementAttributes );
 
         diskCache.update( cacheElement );
 
@@ -112,25 +112,25 @@
         throws IOException
     {
         // SETUP
-        StringWriter stringWriter = new StringWriter();
+        final StringWriter stringWriter = new StringWriter();
         TestLogConfigurationUtil.configureLogger( stringWriter, AbstractDiskCache.class.getName() );
 
-        IDiskCacheAttributes diskCacheAttributes = new IndexedDiskCacheAttributes();
+        final IDiskCacheAttributes diskCacheAttributes = new IndexedDiskCacheAttributes();
         diskCacheAttributes.setAllowRemoveAll( false );
 
-        AbstractDiskCacheTestInstance<String, String> diskCache = new AbstractDiskCacheTestInstance<>( diskCacheAttributes );
+        final AbstractDiskCacheTestInstance<String, String> diskCache = new AbstractDiskCacheTestInstance<>( diskCacheAttributes );
 
-        String cacheName = "testRemoveAll_notAllowed";
-        String key = "myKey";
-        String value = "myValue";
-        IElementAttributes elementAttributes = new ElementAttributes();
-        ICacheElement<String, String> cacheElement = new CacheElement<>( cacheName, key, value, elementAttributes );
+        final String cacheName = "testRemoveAll_notAllowed";
+        final String key = "myKey";
+        final String value = "myValue";
+        final IElementAttributes elementAttributes = new ElementAttributes();
+        final ICacheElement<String, String> cacheElement = new CacheElement<>( cacheName, key, value, elementAttributes );
 
         diskCache.update( cacheElement );
 
         // DO WORK
         diskCache.removeAll();
-        String result = stringWriter.toString();
+        final String result = stringWriter.toString();
 
         // VERIFY
         assertTrue( "Should say not allowed.", result.indexOf( "set to false" ) != -1 );
@@ -146,16 +146,16 @@
         throws IOException
     {
         // SETUP
-        IDiskCacheAttributes diskCacheAttributes = new IndexedDiskCacheAttributes();
+        final IDiskCacheAttributes diskCacheAttributes = new IndexedDiskCacheAttributes();
         diskCacheAttributes.setAllowRemoveAll( true );
 
-        AbstractDiskCacheTestInstance<String, String> diskCache = new AbstractDiskCacheTestInstance<>( diskCacheAttributes );
+        final AbstractDiskCacheTestInstance<String, String> diskCache = new AbstractDiskCacheTestInstance<>( diskCacheAttributes );
 
-        String cacheName = "testRemoveAll_allowed";
-        String key = "myKey";
-        String value = "myValue";
-        IElementAttributes elementAttributes = new ElementAttributes();
-        ICacheElement<String, String> cacheElement = new CacheElement<>( cacheName, key, value, elementAttributes );
+        final String cacheName = "testRemoveAll_allowed";
+        final String key = "myKey";
+        final String value = "myValue";
+        final IElementAttributes elementAttributes = new ElementAttributes();
+        final ICacheElement<String, String> cacheElement = new CacheElement<>( cacheName, key, value, elementAttributes );
 
         diskCache.update( cacheElement );
 
@@ -181,7 +181,7 @@
          * <p>
          * @param attr
          */
-        public AbstractDiskCacheTestInstance( IDiskCacheAttributes attr )
+        public AbstractDiskCacheTestInstance( final IDiskCacheAttributes attr )
         {
             super( attr );
             diskCacheAttributes = attr;
@@ -235,7 +235,7 @@
          * @throws IOException
          */
         @Override
-        protected ICacheElement<K, V> processGet( K key )
+        protected ICacheElement<K, V> processGet( final K key )
             throws IOException
         {
             //System.out.println( "processGet: " + key );
@@ -248,7 +248,7 @@
          * @throws IOException
          */
         @Override
-        protected Map<K, ICacheElement<K, V>> processGetMatching( String pattern )
+        protected Map<K, ICacheElement<K, V>> processGetMatching( final String pattern )
             throws IOException
         {
             return Collections.emptyMap();
@@ -260,7 +260,7 @@
          * @throws IOException
          */
         @Override
-        protected boolean processRemove( K key )
+        protected boolean processRemove( final K key )
             throws IOException
         {
             return map.remove( key ) != null;
@@ -282,7 +282,7 @@
          * @throws IOException
          */
         @Override
-        protected void processUpdate( ICacheElement<K, V> cacheElement )
+        protected void processUpdate( final ICacheElement<K, V> cacheElement )
             throws IOException
         {
             //System.out.println( "processUpdate: " + cacheElement );
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/DiskTestObject.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/DiskTestObject.java
index bc97648..a2cb415 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/DiskTestObject.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/DiskTestObject.java
@@ -44,7 +44,7 @@
      * @param id
      * @param imageBytes
      */
-    public DiskTestObject(Integer id, byte[] imageBytes)
+    public DiskTestObject(final Integer id, final byte[] imageBytes)
     {
         this.id = id;
         this.imageBytes = imageBytes;
@@ -54,11 +54,11 @@
      * @see java.lang.Object#equals(Object other)
      */
     @Override
-    public boolean equals(Object other)
+    public boolean equals(final Object other)
     {
         if (other instanceof DiskTestObject)
         {
-            DiskTestObject o = (DiskTestObject) other;
+            final DiskTestObject o = (DiskTestObject) other;
             if (id != null)
                 return id.equals(o.id) && Arrays.equals(imageBytes, o.imageBytes);
             else if (id == null && o.id == null) return Arrays.equals(imageBytes, o.imageBytes);
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/PurgatoryElementUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/PurgatoryElementUnitTest.java
index a4309e1..56dcbcc 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/PurgatoryElementUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/PurgatoryElementUnitTest.java
@@ -34,16 +34,16 @@
     public void testSpoolable_normal()
     {
         // SETUP
-        String cacheName = "myCacheName";
-        String key = "myKey";
-        String value = "myValue";
-        IElementAttributes elementAttributes = new ElementAttributes();
-        ICacheElement<String, String> cacheElement = new CacheElement<>( cacheName, key, value, elementAttributes );
-        PurgatoryElement<String, String> purgatoryElement = new PurgatoryElement<>( cacheElement );
+        final String cacheName = "myCacheName";
+        final String key = "myKey";
+        final String value = "myValue";
+        final IElementAttributes elementAttributes = new ElementAttributes();
+        final ICacheElement<String, String> cacheElement = new CacheElement<>( cacheName, key, value, elementAttributes );
+        final PurgatoryElement<String, String> purgatoryElement = new PurgatoryElement<>( cacheElement );
         purgatoryElement.setSpoolable( false );
 
         // DO WORK
-        boolean result = purgatoryElement.isSpoolable();
+        final boolean result = purgatoryElement.isSpoolable();
 
         // VERIFY
         assertFalse( "Should not be spoolable.", result );
@@ -53,17 +53,17 @@
     public void testElementAttributes_normal()
     {
         // SETUP
-        String cacheName = "myCacheName";
-        String key = "myKey";
-        String value = "myValue";
-        IElementAttributes elementAttributes = new ElementAttributes();
+        final String cacheName = "myCacheName";
+        final String key = "myKey";
+        final String value = "myValue";
+        final IElementAttributes elementAttributes = new ElementAttributes();
 
-        ICacheElement<String, String> cacheElement = new CacheElement<>( cacheName, key, value );
-        PurgatoryElement<String, String> purgatoryElement = new PurgatoryElement<>( cacheElement );
+        final ICacheElement<String, String> cacheElement = new CacheElement<>( cacheName, key, value );
+        final PurgatoryElement<String, String> purgatoryElement = new PurgatoryElement<>( cacheElement );
         purgatoryElement.setElementAttributes( elementAttributes );
 
         // DO WORK
-        IElementAttributes result = cacheElement.getElementAttributes();
+        final IElementAttributes result = cacheElement.getElementAttributes();
 
         // VERIFY
         assertEquals( "Should have set the attributes on the element", elementAttributes, result );
@@ -73,15 +73,15 @@
     public void testToString_normal()
     {
         // SETUP
-        String cacheName = "myCacheName";
-        String key = "myKey";
-        String value = "myValue";
-        IElementAttributes elementAttributes = new ElementAttributes();
-        ICacheElement<String, String> cacheElement = new CacheElement<>( cacheName, key, value, elementAttributes );
-        PurgatoryElement<String, String> purgatoryElement = new PurgatoryElement<>( cacheElement );
+        final String cacheName = "myCacheName";
+        final String key = "myKey";
+        final String value = "myValue";
+        final IElementAttributes elementAttributes = new ElementAttributes();
+        final ICacheElement<String, String> cacheElement = new CacheElement<>( cacheName, key, value, elementAttributes );
+        final PurgatoryElement<String, String> purgatoryElement = new PurgatoryElement<>( cacheElement );
 
         // DO WORK
-        String result = purgatoryElement.toString();
+        final String result = purgatoryElement.toString();
 
         // VERIFY
         assertTrue( "Should have the cacheName.", result.indexOf( cacheName ) != -1 );
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheConcurrentUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheConcurrentUnitTest.java
index fc78205..03c7a44 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheConcurrentUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheConcurrentUnitTest.java
@@ -50,7 +50,7 @@
      * @param testName
      * @throws Exception
      */
-    public BlockDiskCacheConcurrentUnitTest( String testName )
+    public BlockDiskCacheConcurrentUnitTest( final String testName )
         throws Exception
     {
         super( testName );
@@ -61,9 +61,9 @@
      *
      * @param args
      */
-    public static void main( String args[] )
+    public static void main( final String args[] )
     {
-        String[] testCaseName = { BlockDiskCacheConcurrentUnitTest.class.getName() };
+        final String[] testCaseName = { BlockDiskCacheConcurrentUnitTest.class.getName() };
         junit.textui.TestRunner.main( testCaseName );
     }
 
@@ -76,7 +76,7 @@
     public static Test suite()
         throws Exception
     {
-        ActiveTestSuite suite = new ActiveTestSuite();
+        final ActiveTestSuite suite = new ActiveTestSuite();
 
         JCS.setConfigFilename( "/TestBlockDiskCache.ccf" );
         JCS.getInstance( "indexedRegion1" ).clear();
@@ -145,10 +145,10 @@
      * @throws Exception
      *                If an error occurs
      */
-    public void runTestForRegion( String region )
+    public void runTestForRegion( final String region )
         throws Exception
     {
-        CacheAccess<String, String> jcs = JCS.getInstance( region );
+        final CacheAccess<String, String> jcs = JCS.getInstance( region );
 
         // Add items to cache
         for ( int i = 0; i <= items; i++ )
@@ -159,22 +159,22 @@
         // Test that all items are in cache
         for ( int i = 0; i <= items; i++ )
         {
-            String value = jcs.get( i + ":key" );
+            final String value = jcs.get( i + ":key" );
 
             assertEquals( region + " data " + i, value );
         }
 
         // Test that getElements returns all the expected values
-        Set<String> keys = new HashSet<>();
+        final Set<String> keys = new HashSet<>();
         for ( int i = 0; i <= items; i++ )
         {
             keys.add( i + ":key" );
         }
 
-        Map<String, ICacheElement<String, String>> elements = jcs.getCacheElements( keys );
+        final Map<String, ICacheElement<String, String>> elements = jcs.getCacheElements( keys );
         for ( int i = 0; i <= items; i++ )
         {
-            ICacheElement<String, String> element = elements.get( i + ":key" );
+            final ICacheElement<String, String> element = elements.get( i + ":key" );
             assertNotNull( "element " + i + ":key is missing", element );
             assertEquals( "value " + i + ":key", region + " data " + i, element.getVal() );
         }
@@ -206,10 +206,10 @@
      * @throws Exception
      *                If an error occurs
      */
-    public void runTestForRegionInRange( String region, int start, int end )
+    public void runTestForRegionInRange( final String region, final int start, final int end )
         throws Exception
     {
-        CacheAccess<String, String> jcs = JCS.getInstance( region );
+        final CacheAccess<String, String> jcs = JCS.getInstance( region );
 
         // Add items to cache
         for ( int i = start; i <= end; i++ )
@@ -220,22 +220,22 @@
         // Test that all items are in cache
         for ( int i = start; i <= end; i++ )
         {
-            String value = jcs.get( i + ":key" );
+            final String value = jcs.get( i + ":key" );
 
             assertEquals( region + " data " + i, value );
         }
 
         // Test that getElements returns all the expected values
-        Set<String> keys = new HashSet<>();
+        final Set<String> keys = new HashSet<>();
         for ( int i = start; i <= end; i++ )
         {
             keys.add( i + ":key" );
         }
 
-        Map<String, ICacheElement<String, String>> elements = jcs.getCacheElements( keys );
+        final Map<String, ICacheElement<String, String>> elements = jcs.getCacheElements( keys );
         for ( int i = start; i <= end; i++ )
         {
-            ICacheElement<String, String> element = elements.get( i + ":key" );
+            final ICacheElement<String, String> element = elements.get( i + ":key" );
             assertNotNull( "element " + i + ":key is missing", element );
             assertEquals( "value " + i + ":key", region + " data " + i, element.getVal() );
         }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheCountUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheCountUnitTest.java
index 850e4f8..7f21904 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheCountUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheCountUnitTest.java
@@ -1,24 +1,24 @@
-package org.apache.commons.jcs3.auxiliary.disk.block;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
+package org.apache.commons.jcs3.auxiliary.disk.block;

+

+/*

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements.  See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership.  The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the

+ * "License"); you may not use this file except in compliance

+ * with the License.  You may obtain a copy of the License at

+ *

+ *   http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing,

+ * software distributed under the License is distributed on an

+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+ * KIND, either express or implied.  See the License for the

+ * specific language governing permissions and limitations

+ * under the License.

+ */

+

 import org.apache.commons.jcs3.auxiliary.disk.behavior.IDiskCacheAttributes.DiskLimitType;

 

 public class BlockDiskCacheCountUnitTest extends BlockDiskCacheUnitTestAbstract

@@ -27,7 +27,7 @@
     @Override

     public BlockDiskCacheAttributes getCacheAttributes()

     {

-        BlockDiskCacheAttributes ret = new BlockDiskCacheAttributes();

+        final BlockDiskCacheAttributes ret = new BlockDiskCacheAttributes();

         ret.setDiskLimitType(DiskLimitType.COUNT);

         return ret;

     }

diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheKeyStoreUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheKeyStoreUnitTest.java
index c8ab35a..1152060 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheKeyStoreUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheKeyStoreUnitTest.java
@@ -46,7 +46,7 @@
             throws Exception
     {
         // SETUP
-        BlockDiskCacheAttributes attributes = new BlockDiskCacheAttributes();
+        final BlockDiskCacheAttributes attributes = new BlockDiskCacheAttributes();
         attributes.setCacheName("testPutKeys");
         attributes.setDiskPath(rootDirName);
         attributes.setMaxKeySize(1000);
@@ -59,7 +59,7 @@
             throws Exception
     {
         // SETUP
-        BlockDiskCacheAttributes attributes = new BlockDiskCacheAttributes();
+        final BlockDiskCacheAttributes attributes = new BlockDiskCacheAttributes();
         attributes.setCacheName("testPutKeys");
         attributes.setDiskPath(rootDirName);
         attributes.setMaxKeySize(100000);
@@ -69,13 +69,13 @@
         innerTestPutKeys(attributes);
     }
 
-    private void innerTestPutKeys(BlockDiskCacheAttributes attributes)
+    private void innerTestPutKeys(final BlockDiskCacheAttributes attributes)
     {
-        BlockDiskCache<String, String> blockDiskCache = new BlockDiskCache<>(attributes);
-        BlockDiskKeyStore<String> keyStore = new BlockDiskKeyStore<>(attributes, blockDiskCache);
+        final BlockDiskCache<String, String> blockDiskCache = new BlockDiskCache<>(attributes);
+        final BlockDiskKeyStore<String> keyStore = new BlockDiskKeyStore<>(attributes, blockDiskCache);
 
         // DO WORK
-        int numElements = 100;
+        final int numElements = 100;
         for (int i = 0; i < numElements; i++)
         {
             keyStore.put(String.valueOf(i), new int[i]);
@@ -86,7 +86,7 @@
         assertEquals("Wrong number of keys", numElements, keyStore.size());
         for (int i = 0; i < numElements; i++)
         {
-            int[] result = keyStore.get(String.valueOf(i));
+            final int[] result = keyStore.get(String.valueOf(i));
             assertEquals("Wrong array returned.", i, result.length);
         }
     }
@@ -102,7 +102,7 @@
             throws Exception
     {
         // SETUP
-        BlockDiskCacheAttributes attributes = new BlockDiskCacheAttributes();
+        final BlockDiskCacheAttributes attributes = new BlockDiskCacheAttributes();
         attributes.setCacheName("testSaveLoadKeys");
         attributes.setDiskPath(rootDirName);
         attributes.setMaxKeySize(10000);
@@ -115,7 +115,7 @@
             throws Exception
     {
         // SETUP
-        BlockDiskCacheAttributes attributes = new BlockDiskCacheAttributes();
+        final BlockDiskCacheAttributes attributes = new BlockDiskCacheAttributes();
         attributes.setCacheName("testSaveLoadKeys");
         attributes.setDiskPath(rootDirName);
         attributes.setMaxKeySize(10000);
@@ -124,21 +124,21 @@
         testSaveLoadKeysInner(attributes);
     }
 
-    private void testSaveLoadKeysInner(BlockDiskCacheAttributes attributes)
+    private void testSaveLoadKeysInner(final BlockDiskCacheAttributes attributes)
     {
-        BlockDiskKeyStore<String> keyStore = new BlockDiskKeyStore<>(attributes, null);
+        final BlockDiskKeyStore<String> keyStore = new BlockDiskKeyStore<>(attributes, null);
 
         // DO WORK
-        int numElements = 1000;
+        final int numElements = 1000;
         int blockIndex = 0;
         // Random random = new Random( 89 );
         for (int i = 0; i < numElements; i++)
         {
-            int blocks = i;// random.nextInt( 10 );
+            final int blocks = i;// random.nextInt( 10 );
 
             // fill with reasonable data to make verify() happy
-            int[] block1 = new int[blocks];
-            int[] block2 = new int[blocks];
+            final int[] block1 = new int[blocks];
+            final int[] block2 = new int[blocks];
             for (int j = 0; j < blocks; j++)
             {
                 block1[j] = blockIndex++;
@@ -166,14 +166,14 @@
         assertEquals("Wrong number of keys after loading", numElements, keyStore.size());
         for (int i = 0; i < numElements; i++)
         {
-            int[] result = keyStore.get(String.valueOf(i));
+            final int[] result = keyStore.get(String.valueOf(i));
             assertEquals("Wrong array returned.", i, result.length);
         }
     }
 
     public void testObjectLargerThanMaxSize()
     {
-        BlockDiskCacheAttributes attributes = new BlockDiskCacheAttributes();
+        final BlockDiskCacheAttributes attributes = new BlockDiskCacheAttributes();
         attributes.setCacheName("testObjectLargerThanMaxSize");
         attributes.setDiskPath(rootDirName);
         attributes.setMaxKeySize(1000);
@@ -181,6 +181,7 @@
         attributes.setDiskLimitType(DiskLimitType.SIZE);
 
         @SuppressWarnings({ "unchecked", "rawtypes" })
+        final
         BlockDiskKeyStore<String> keyStore = new BlockDiskKeyStore<>(attributes, new BlockDiskCache(attributes));
 
         keyStore.put("1", new int[1000]);
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheRandomConcurrentTestUtil.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheRandomConcurrentTestUtil.java
index 3d7f1ef..9c56dfd 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheRandomConcurrentTestUtil.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheRandomConcurrentTestUtil.java
@@ -37,7 +37,7 @@
      *
      * @param testName
      */
-    public BlockDiskCacheRandomConcurrentTestUtil( String testName )
+    public BlockDiskCacheRandomConcurrentTestUtil( final String testName )
     {
         super( testName );
     }
@@ -62,21 +62,21 @@
      * @throws Exception
      *                If an error occurs
      */
-    public void runTestForRegion( String region, int range, int numOps, int testNum )
+    public void runTestForRegion( final String region, final int range, final int numOps, final int testNum )
         throws Exception
     {
         // run a rondom operation test to detect deadlocks
-        TestCacheAccess tca = new TestCacheAccess( "/TestBlockDiskCacheCon.ccf" );
+        final TestCacheAccess tca = new TestCacheAccess( "/TestBlockDiskCacheCon.ccf" );
         tca.setRegion( region );
         tca.random( range, numOps );
 
         // make sure a simple put then get works
         // this may fail if the other tests are flooding the disk cache
-        CacheAccess<String, String> jcs = JCS.getInstance( region );
-        String key = "testKey" + testNum;
-        String data = "testData" + testNum;
+        final CacheAccess<String, String> jcs = JCS.getInstance( region );
+        final String key = "testKey" + testNum;
+        final String data = "testData" + testNum;
         jcs.put( key, data );
-        String value = jcs.get( key );
+        final String value = jcs.get( key );
         assertEquals( data, value );
     }
 
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheSameRegionConcurrentUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheSameRegionConcurrentUnitTest.java
index ee79176..af95086 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheSameRegionConcurrentUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheSameRegionConcurrentUnitTest.java
@@ -42,7 +42,7 @@
      * <p>
      * @param testName
      */
-    public BlockDiskCacheSameRegionConcurrentUnitTest( String testName )
+    public BlockDiskCacheSameRegionConcurrentUnitTest( final String testName )
     {
         super( testName );
     }
@@ -53,9 +53,9 @@
      * @param args
      * @throws InterruptedException
      */
-    public static void main( String args[] ) throws InterruptedException
+    public static void main( final String args[] ) throws InterruptedException
     {
-        String[] testCaseName = { BlockDiskCacheSameRegionConcurrentUnitTest.class.getName() };
+        final String[] testCaseName = { BlockDiskCacheSameRegionConcurrentUnitTest.class.getName() };
         junit.textui.TestRunner.main( testCaseName );
 
         // Give test threads some time to finish
@@ -68,7 +68,7 @@
      */
     public static Test suite()
     {
-        ActiveTestSuite suite = new ActiveTestSuite();
+        final ActiveTestSuite suite = new ActiveTestSuite();
 
         suite.addTest( new BlockDiskCacheSameRegionConcurrentUnitTest( "testBlockDiskCache1" )
         {
@@ -133,10 +133,10 @@
      * @param end
      * @throws Exception If an error occurs
      */
-    public void runTestForRegion( String region, int start, int end )
+    public void runTestForRegion( final String region, final int start, final int end )
         throws Exception
     {
-        CacheAccess<String, String> jcs = JCS.getInstance( region );
+        final CacheAccess<String, String> jcs = JCS.getInstance( region );
 
         // Add items to cache
 
@@ -149,23 +149,23 @@
 
         for ( int i = start; i <= end; i++ )
         {
-            String key = i + ":key";
-            String value = jcs.get( key );
+            final String key = i + ":key";
+            final String value = jcs.get( key );
 
             assertEquals( "Wrong value for key [" + key + "]", region + " data " + i + "-" + region, value );
         }
 
         // Test that getElements returns all the expected values
-        Set<String> keys = new HashSet<>();
+        final Set<String> keys = new HashSet<>();
         for ( int i = start; i <= end; i++ )
         {
             keys.add( i + ":key" );
         }
 
-        Map<String, ICacheElement<String, String>> elements = jcs.getCacheElements( keys );
+        final Map<String, ICacheElement<String, String>> elements = jcs.getCacheElements( keys );
         for ( int i = start; i <= end; i++ )
         {
-            ICacheElement<String, String> element = elements.get( i + ":key" );
+            final ICacheElement<String, String> element = elements.get( i + ":key" );
             assertNotNull( "element " + i + ":key is missing", element );
             assertEquals( "value " + i + ":key", region + " data " + i + "-" + region, element.getVal() );
         }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheSizeUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheSizeUnitTest.java
index 28821fe..2a631a6 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheSizeUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheSizeUnitTest.java
@@ -1,24 +1,24 @@
-package org.apache.commons.jcs3.auxiliary.disk.block;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
+package org.apache.commons.jcs3.auxiliary.disk.block;

+

+/*

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements.  See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership.  The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the

+ * "License"); you may not use this file except in compliance

+ * with the License.  You may obtain a copy of the License at

+ *

+ *   http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing,

+ * software distributed under the License is distributed on an

+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+ * KIND, either express or implied.  See the License for the

+ * specific language governing permissions and limitations

+ * under the License.

+ */

+

 import org.apache.commons.jcs3.auxiliary.disk.behavior.IDiskCacheAttributes.DiskLimitType;

 

 public class BlockDiskCacheSizeUnitTest extends BlockDiskCacheUnitTestAbstract

@@ -27,7 +27,7 @@
     @Override

     public BlockDiskCacheAttributes getCacheAttributes()

     {

-        BlockDiskCacheAttributes ret = new BlockDiskCacheAttributes();

+        final BlockDiskCacheAttributes ret = new BlockDiskCacheAttributes();

         ret.setDiskLimitType(DiskLimitType.SIZE);

         return ret;

     }

diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheSteadyLoadTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheSteadyLoadTest.java
index 7c10dd4..b827b60 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheSteadyLoadTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheSteadyLoadTest.java
@@ -58,16 +58,16 @@
 
         logMemoryUsage();
 
-        int numPerRun = 250;
-        long pauseBetweenRuns = 1000;
+        final int numPerRun = 250;
+        final long pauseBetweenRuns = 1000;
         int runCount = 0;
-        int runs = 1000;
-        int upperKB = 50;
+        final int runs = 1000;
+        final int upperKB = 50;
 
-        CacheAccess<String, DiskTestObject> jcs = JCS.getInstance( ( numPerRun / 2 ) + "aSecond" );
+        final CacheAccess<String, DiskTestObject> jcs = JCS.getInstance( ( numPerRun / 2 ) + "aSecond" );
 
 //        ElapsedTimer timer = new ElapsedTimer();
-        int numToGet = numPerRun * ( runs / 10 );
+        final int numToGet = numPerRun * ( runs / 10 );
         for ( int i = 0; i < numToGet; i++ )
         {
             jcs.get( String.valueOf( i ) );
@@ -85,18 +85,18 @@
 //        long totalSize = 0;
         int totalPut = 0;
 
-        Random random = new Random( 89 );
+        final Random random = new Random( 89 );
         while ( runCount < runs )
         {
             runCount++;
             for ( int i = 0; i < numPerRun; i++ )
             {
                 // 1/2 upper to upperKB-4 KB
-                int kiloBytes = Math.max( upperKB / 2, random.nextInt( upperKB ) );
-                int bytes = ( kiloBytes ) * 1024;
+                final int kiloBytes = Math.max( upperKB / 2, random.nextInt( upperKB ) );
+                final int bytes = ( kiloBytes ) * 1024;
 //                totalSize += bytes;
                 totalPut++;
-                DiskTestObject object = new DiskTestObject( Integer.valueOf( i ), new byte[bytes] );
+                final DiskTestObject object = new DiskTestObject( Integer.valueOf( i ), new byte[bytes] );
                 jcs.put( String.valueOf( totalPut ), object );
             }
 
@@ -150,10 +150,10 @@
      */
     private static void logMemoryUsage()
     {
-        long byte2MB = 1024 * 1024;
-        long total = rt.totalMemory() / byte2MB;
-        long free = rt.freeMemory() / byte2MB;
-        long used = total - free;
+        final long byte2MB = 1024 * 1024;
+        final long total = rt.totalMemory() / byte2MB;
+        final long free = rt.freeMemory() / byte2MB;
+        final long used = total - free;
         System.out.println( LOG_DIVIDER );
         System.out.println( "Memory:" + " Used:" + format.format( used ) + "MB" + " Free:" + format.format( free )
             + "MB" + " Total:" + format.format( total ) + "MB" );
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheUnitTestAbstract.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheUnitTestAbstract.java
index 84bde7a..d1a7fbe 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheUnitTestAbstract.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskCacheUnitTestAbstract.java
@@ -43,14 +43,14 @@
     public void testPutGetMatching_SmallWait() throws Exception
     {
         // SETUP
-        int items = 200;
+        final int items = 200;
 
-        String cacheName = "testPutGetMatching_SmallWait";
-        BlockDiskCacheAttributes cattr = getCacheAttributes();
+        final String cacheName = "testPutGetMatching_SmallWait";
+        final BlockDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName(cacheName);
         cattr.setMaxKeySize(100);
         cattr.setDiskPath("target/test-sandbox/BlockDiskCacheUnitTest");
-        BlockDiskCache<String, String> diskCache = new BlockDiskCache<>(cattr);
+        final BlockDiskCache<String, String> diskCache = new BlockDiskCache<>(cattr);
 
         // DO WORK
         for (int i = 0; i <= items; i++)
@@ -59,7 +59,7 @@
         }
         Thread.sleep(500);
 
-        Map<String, ICacheElement<String, String>> matchingResults = diskCache.getMatching("1.8.+");
+        final Map<String, ICacheElement<String, String>> matchingResults = diskCache.getMatching("1.8.+");
 
         // VERIFY
         assertEquals("Wrong number returned", 10, matchingResults.size());
@@ -76,14 +76,14 @@
     public void testPutGetMatching_NoWait() throws Exception
     {
         // SETUP
-        int items = 200;
+        final int items = 200;
 
-        String cacheName = "testPutGetMatching_NoWait";
-        BlockDiskCacheAttributes cattr = getCacheAttributes();
+        final String cacheName = "testPutGetMatching_NoWait";
+        final BlockDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName(cacheName);
         cattr.setMaxKeySize(100);
         cattr.setDiskPath("target/test-sandbox/BlockDiskCacheUnitTest");
-        BlockDiskCache<String, String> diskCache = new BlockDiskCache<>(cattr);
+        final BlockDiskCache<String, String> diskCache = new BlockDiskCache<>(cattr);
 
         // DO WORK
         for (int i = 0; i <= items; i++)
@@ -91,7 +91,7 @@
             diskCache.update(new CacheElement<>(cacheName, i + ":key", cacheName + " data " + i));
         }
 
-        Map<String, ICacheElement<String, String>> matchingResults = diskCache.getMatching("1.8.+");
+        final Map<String, ICacheElement<String, String>> matchingResults = diskCache.getMatching("1.8.+");
 
         // VERIFY
         assertEquals("Wrong number returned", 10, matchingResults.size());
@@ -108,7 +108,7 @@
     public void testChunk_BigString() throws Exception
     {
         String string = "This is my big string ABCDEFGH";
-        StringBuilder sb = new StringBuilder();
+        final StringBuilder sb = new StringBuilder();
         sb.append(string);
         for (int i = 0; i < 4; i++)
         {
@@ -116,25 +116,25 @@
         }
         string = sb.toString();
 
-        StandardSerializer elementSerializer = new StandardSerializer();
-        byte[] data = elementSerializer.serialize(string);
+        final StandardSerializer elementSerializer = new StandardSerializer();
+        final byte[] data = elementSerializer.serialize(string);
 
-        File file = new File("target/test-sandbox/BlockDiskCacheUnitTest/testChunk_BigString.data");
+        final File file = new File("target/test-sandbox/BlockDiskCacheUnitTest/testChunk_BigString.data");
 
-        BlockDisk blockDisk = new BlockDisk(file, 200, elementSerializer);
+        final BlockDisk blockDisk = new BlockDisk(file, 200, elementSerializer);
 
-        int numBlocksNeeded = blockDisk.calculateTheNumberOfBlocksNeeded(data);
+        final int numBlocksNeeded = blockDisk.calculateTheNumberOfBlocksNeeded(data);
         // System.out.println( numBlocksNeeded );
 
         // get the individual sub arrays.
-        byte[][] chunks = blockDisk.getBlockChunks(data, numBlocksNeeded);
+        final byte[][] chunks = blockDisk.getBlockChunks(data, numBlocksNeeded);
 
         byte[] resultData = new byte[0];
 
         for (short i = 0; i < chunks.length; i++)
         {
-            byte[] chunk = chunks[i];
-            byte[] newTotal = new byte[data.length + chunk.length];
+            final byte[] chunk = chunks[i];
+            final byte[] newTotal = new byte[data.length + chunk.length];
             // copy data into the new array
             System.arraycopy(data, 0, newTotal, 0, data.length);
             // copy the chunk into the new array
@@ -143,7 +143,7 @@
             resultData = newTotal;
         }
 
-        Serializable result = elementSerializer.deSerialize(resultData, null);
+        final Serializable result = elementSerializer.deSerialize(resultData, null);
         // System.out.println( result );
         assertEquals("wrong string after retrieval", string, result);
         blockDisk.close();
@@ -158,7 +158,7 @@
     public void testPutGet_BigString() throws Exception
     {
         String string = "This is my big string ABCDEFGH";
-        StringBuilder sb = new StringBuilder();
+        final StringBuilder sb = new StringBuilder();
         sb.append(string);
         for (int i = 0; i < 4; i++)
         {
@@ -166,14 +166,14 @@
         }
         string = sb.toString();
 
-        String cacheName = "testPutGet_BigString";
+        final String cacheName = "testPutGet_BigString";
 
-        BlockDiskCacheAttributes cattr = getCacheAttributes();
+        final BlockDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName(cacheName);
         cattr.setMaxKeySize(100);
         cattr.setBlockSizeBytes(200);
         cattr.setDiskPath("target/test-sandbox/BlockDiskCacheUnitTest");
-        BlockDiskCache<String, String> diskCache = new BlockDiskCache<>(cattr);
+        final BlockDiskCache<String, String> diskCache = new BlockDiskCache<>(cattr);
 
         // DO WORK
         diskCache.update(new CacheElement<>(cacheName, "x", string));
@@ -181,10 +181,10 @@
         // VERIFY
         assertNotNull(diskCache.get("x"));
         Thread.sleep(1000);
-        ICacheElement<String, String> afterElement = diskCache.get("x");
+        final ICacheElement<String, String> afterElement = diskCache.get("x");
         assertNotNull(afterElement);
         // System.out.println( "afterElement = " + afterElement );
-        String after = afterElement.getVal();
+        final String after = afterElement.getVal();
 
         assertNotNull(after);
         assertEquals("wrong string after retrieval", string, after);
@@ -199,7 +199,7 @@
     public void testUTF8String() throws Exception
     {
         String string = "IÒtÎrn‚tiÙn‡lizÊti¯n";
-        StringBuilder sb = new StringBuilder();
+        final StringBuilder sb = new StringBuilder();
         sb.append(string);
         for (int i = 0; i < 4; i++)
         {
@@ -209,14 +209,14 @@
 
         // System.out.println( "The string contains " + string.length() + " characters" );
 
-        String cacheName = "testUTF8String";
+        final String cacheName = "testUTF8String";
 
-        BlockDiskCacheAttributes cattr = getCacheAttributes();
+        final BlockDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName(cacheName);
         cattr.setMaxKeySize(100);
         cattr.setBlockSizeBytes(200);
         cattr.setDiskPath("target/test-sandbox/BlockDiskCacheUnitTest");
-        BlockDiskCache<String, String> diskCache = new BlockDiskCache<>(cattr);
+        final BlockDiskCache<String, String> diskCache = new BlockDiskCache<>(cattr);
 
         // DO WORK
         diskCache.update(new CacheElement<>(cacheName, "x", string));
@@ -224,10 +224,10 @@
         // VERIFY
         assertNotNull(diskCache.get("x"));
         Thread.sleep(1000);
-        ICacheElement<String, String> afterElement = diskCache.get("x");
+        final ICacheElement<String, String> afterElement = diskCache.get("x");
         assertNotNull(afterElement);
         // System.out.println( "afterElement = " + afterElement );
-        String after = afterElement.getVal();
+        final String after = afterElement.getVal();
 
         assertNotNull(after);
         assertEquals("wrong string after retrieval", string, after);
@@ -242,7 +242,7 @@
     public void testUTF8ByteArray() throws Exception
     {
         String string = "IÒtÎrn‚tiÙn‡lizÊti¯n";
-        StringBuilder sb = new StringBuilder();
+        final StringBuilder sb = new StringBuilder();
         sb.append(string);
         for (int i = 0; i < 4; i++)
         {
@@ -250,16 +250,16 @@
         }
         string = sb.toString();
         // System.out.println( "The string contains " + string.length() + " characters" );
-        byte[] bytes = string.getBytes(StandardCharsets.UTF_8);
+        final byte[] bytes = string.getBytes(StandardCharsets.UTF_8);
 
-        String cacheName = "testUTF8ByteArray";
+        final String cacheName = "testUTF8ByteArray";
 
-        BlockDiskCacheAttributes cattr = getCacheAttributes();
+        final BlockDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName(cacheName);
         cattr.setMaxKeySize(100);
         cattr.setBlockSizeBytes(200);
         cattr.setDiskPath("target/test-sandbox/BlockDiskCacheUnitTest");
-        BlockDiskCache<String, byte[]> diskCache = new BlockDiskCache<>(cattr);
+        final BlockDiskCache<String, byte[]> diskCache = new BlockDiskCache<>(cattr);
 
         // DO WORK
         diskCache.update(new CacheElement<>(cacheName, "x", bytes));
@@ -267,10 +267,10 @@
         // VERIFY
         assertNotNull(diskCache.get("x"));
         Thread.sleep(1000);
-        ICacheElement<String, byte[]> afterElement = diskCache.get("x");
+        final ICacheElement<String, byte[]> afterElement = diskCache.get("x");
         assertNotNull(afterElement);
         // System.out.println( "afterElement = " + afterElement );
-        byte[] after = afterElement.getVal();
+        final byte[] after = afterElement.getVal();
 
         assertNotNull(after);
         assertEquals("wrong bytes after retrieval", bytes.length, after.length);
@@ -287,9 +287,9 @@
      */
     public void testUTF8StringAndBytes() throws Exception
     {
-        X before = new X();
+        final X before = new X();
         String string = "IÒtÎrn‚tiÙn‡lizÊti¯n";
-        StringBuilder sb = new StringBuilder();
+        final StringBuilder sb = new StringBuilder();
         sb.append(string);
         for (int i = 0; i < 4; i++)
         {
@@ -300,14 +300,14 @@
         before.string = string;
         before.bytes = string.getBytes(StandardCharsets.UTF_8);
 
-        String cacheName = "testUTF8StringAndBytes";
+        final String cacheName = "testUTF8StringAndBytes";
 
-        BlockDiskCacheAttributes cattr = getCacheAttributes();
+        final BlockDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName(cacheName);
         cattr.setMaxKeySize(100);
         cattr.setBlockSizeBytes(500);
         cattr.setDiskPath("target/test-sandbox/BlockDiskCacheUnitTest");
-        BlockDiskCache<String, X> diskCache = new BlockDiskCache<>(cattr);
+        final BlockDiskCache<String, X> diskCache = new BlockDiskCache<>(cattr);
 
         // DO WORK
         diskCache.update(new CacheElement<>(cacheName, "x", before));
@@ -315,9 +315,9 @@
         // VERIFY
         assertNotNull(diskCache.get("x"));
         Thread.sleep(1000);
-        ICacheElement<String, X> afterElement = diskCache.get("x");
+        final ICacheElement<String, X> afterElement = diskCache.get("x");
         // System.out.println( "afterElement = " + afterElement );
-        X after = (afterElement.getVal());
+        final X after = (afterElement.getVal());
 
         assertNotNull(after);
         assertEquals("wrong string after retrieval", string, after.string);
@@ -335,17 +335,17 @@
 
     public void testAppendToDisk() throws Exception
     {
-        String cacheName = "testAppendToDisk";
-        BlockDiskCacheAttributes cattr = getCacheAttributes();
+        final String cacheName = "testAppendToDisk";
+        final BlockDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName(cacheName);
         cattr.setMaxKeySize(100);
         cattr.setBlockSizeBytes(500);
         cattr.setDiskPath("target/test-sandbox/BlockDiskCacheUnitTest");
         BlockDiskCache<String, X> diskCache = new BlockDiskCache<>(cattr);
         diskCache.removeAll();
-        X value1 = new X();
+        final X value1 = new X();
         value1.string = "1234567890";
-        X value2 = new X();
+        final X value2 = new X();
         value2.string = "0987654321";
         diskCache.update(new CacheElement<>(cacheName, "1", value1));
         diskCache.dispose();
@@ -362,9 +362,9 @@
     public void oneLoadFromDisk() throws Exception
     {
         // initialize object to be stored
-        X before = new X();
+        final X before = new X();
         String string = "IÒtÎrn‚tiÙn‡lizÊti¯n";
-        StringBuilder sb = new StringBuilder();
+        final StringBuilder sb = new StringBuilder();
         sb.append(string);
         for (int i = 0; i < 4; i++)
         {
@@ -375,8 +375,8 @@
         before.bytes = string.getBytes(StandardCharsets.UTF_8);
 
         // initialize cache
-        String cacheName = "testLoadFromDisk";
-        BlockDiskCacheAttributes cattr = getCacheAttributes();
+        final String cacheName = "testLoadFromDisk";
+        final BlockDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName(cacheName);
         cattr.setMaxKeySize(100);
         cattr.setBlockSizeBytes(500);
@@ -395,9 +395,9 @@
 
         for (int i = 0; i < 50; i++)
         {
-            ICacheElement<String, X> afterElement = diskCache.get("x" + i);
+            final ICacheElement<String, X> afterElement = diskCache.get("x" + i);
             assertNotNull("Missing element from cache. Cache size: " + diskCache.getSize() + " element: x" + i, afterElement);
-            X after = (afterElement.getVal());
+            final X after = (afterElement.getVal());
 
             assertNotNull(after);
             assertEquals("wrong string after retrieval", string, after.string);
@@ -414,20 +414,20 @@
      */
     public void testRemoveItems() throws IOException
     {
-        BlockDiskCacheAttributes cattr = getCacheAttributes();
+        final BlockDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName("testRemoveItems");
         cattr.setMaxKeySize(100);
         cattr.setDiskPath("target/test-sandbox/BlockDiskCacheUnitTest");
-        BlockDiskCache<String, String> disk = new BlockDiskCache<>(cattr);
+        final BlockDiskCache<String, String> disk = new BlockDiskCache<>(cattr);
 
         disk.processRemoveAll();
 
-        int cnt = 25;
+        final int cnt = 25;
         for (int i = 0; i < cnt; i++)
         {
-            IElementAttributes eAttr = new ElementAttributes();
+            final IElementAttributes eAttr = new ElementAttributes();
             eAttr.setIsSpool(true);
-            ICacheElement<String, String> element = new CacheElement<>("testRemoveItems", "key:" + i, "data:" + i);
+            final ICacheElement<String, String> element = new CacheElement<>("testRemoveItems", "key:" + i, "data:" + i);
             element.setElementAttributes(eAttr);
             disk.processUpdate(element);
         }
@@ -436,7 +436,7 @@
         for (int i = 0; i < cnt; i++)
         {
             disk.remove("key:" + i);
-            ICacheElement<String, String> element = disk.processGet("key:" + i);
+            final ICacheElement<String, String> element = disk.processGet("key:" + i);
             assertNull("Should not have received an element.", element);
         }
     }
@@ -449,20 +449,20 @@
      */
     public void testRemove_PartialKey() throws IOException
     {
-        BlockDiskCacheAttributes cattr = getCacheAttributes();
+        final BlockDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName("testRemove_PartialKey");
         cattr.setMaxKeySize(100);
         cattr.setDiskPath("target/test-sandbox/BlockDiskCacheUnitTest");
-        BlockDiskCache<String, String> disk = new BlockDiskCache<>(cattr);
+        final BlockDiskCache<String, String> disk = new BlockDiskCache<>(cattr);
 
         disk.processRemoveAll();
 
-        int cnt = 25;
+        final int cnt = 25;
         for (int i = 0; i < cnt; i++)
         {
-            IElementAttributes eAttr = new ElementAttributes();
+            final IElementAttributes eAttr = new ElementAttributes();
             eAttr.setIsSpool(true);
-            ICacheElement<String, String> element = new CacheElement<>("testRemove_PartialKey", i + ":key", "data:"
+            final ICacheElement<String, String> element = new CacheElement<>("testRemove_PartialKey", i + ":key", "data:"
                 + i);
             element.setElementAttributes(eAttr);
             disk.processUpdate(element);
@@ -471,7 +471,7 @@
         // verify each
         for (int i = 0; i < cnt; i++)
         {
-            ICacheElement<String, String> element = disk.processGet(i + ":key");
+            final ICacheElement<String, String> element = disk.processGet(i + ":key");
             assertNotNull("Shoulds have received an element.", element);
         }
 
@@ -479,7 +479,7 @@
         for (int i = 0; i < cnt; i++)
         {
             disk.remove(i + ":");
-            ICacheElement<String, String> element = disk.processGet(i + ":key");
+            final ICacheElement<String, String> element = disk.processGet(i + ":key");
             assertNull("Should not have received an element.", element);
         }
     }
@@ -493,25 +493,25 @@
     public void testRemove_Group() throws IOException
     {
         // SETUP
-        BlockDiskCacheAttributes cattr = getCacheAttributes();
+        final BlockDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName("testRemove_Group");
         cattr.setMaxKeySize(100);
         cattr.setDiskPath("target/test-sandbox/BlockDiskCacheUnitTest");
-        BlockDiskCache<GroupAttrName<String>, String> disk = new BlockDiskCache<>(cattr);
+        final BlockDiskCache<GroupAttrName<String>, String> disk = new BlockDiskCache<>(cattr);
 
         disk.processRemoveAll();
 
-        String cacheName = "testRemove_Group_Region";
-        String groupName = "testRemove_Group";
+        final String cacheName = "testRemove_Group_Region";
+        final String groupName = "testRemove_Group";
 
-        int cnt = 25;
+        final int cnt = 25;
         for (int i = 0; i < cnt; i++)
         {
-            GroupAttrName<String> groupAttrName = getGroupAttrName(cacheName, groupName, i + ":key");
-            CacheElement<GroupAttrName<String>, String> element = new CacheElement<>(cacheName,
+            final GroupAttrName<String> groupAttrName = getGroupAttrName(cacheName, groupName, i + ":key");
+            final CacheElement<GroupAttrName<String>, String> element = new CacheElement<>(cacheName,
                 groupAttrName, "data:" + i);
 
-            IElementAttributes eAttr = new ElementAttributes();
+            final IElementAttributes eAttr = new ElementAttributes();
             eAttr.setIsSpool(true);
             element.setElementAttributes(eAttr);
 
@@ -521,8 +521,8 @@
         // verify each
         for (int i = 0; i < cnt; i++)
         {
-            GroupAttrName<String> groupAttrName = getGroupAttrName(cacheName, groupName, i + ":key");
-            ICacheElement<GroupAttrName<String>, String> element = disk.processGet(groupAttrName);
+            final GroupAttrName<String> groupAttrName = getGroupAttrName(cacheName, groupName, i + ":key");
+            final ICacheElement<GroupAttrName<String>, String> element = disk.processGet(groupAttrName);
             assertNotNull("Should have received an element.", element);
         }
 
@@ -532,8 +532,8 @@
 
         for (int i = 0; i < cnt; i++)
         {
-            GroupAttrName<String> groupAttrName = getGroupAttrName(cacheName, groupName, i + ":key");
-            ICacheElement<GroupAttrName<String>, String> element = disk.processGet(groupAttrName);
+            final GroupAttrName<String> groupAttrName = getGroupAttrName(cacheName, groupName, i + ":key");
+            final ICacheElement<GroupAttrName<String>, String> element = disk.processGet(groupAttrName);
 
             // VERIFY
             assertNull("Should not have received an element.", element);
@@ -550,9 +550,9 @@
      * @param name
      * @return GroupAttrName
      */
-    private GroupAttrName<String> getGroupAttrName(String cacheName, String group, String name)
+    private GroupAttrName<String> getGroupAttrName(final String cacheName, final String group, final String name)
     {
-        GroupId gid = new GroupId(cacheName, group);
+        final GroupId gid = new GroupId(cacheName, group);
         return new GroupAttrName<>(gid, name);
     }
 
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskUnitTest.java
index 1b9edfa..394fc56 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/BlockDiskUnitTest.java
@@ -47,21 +47,21 @@
     protected void setUp() throws Exception
     {
         super.setUp();
-        String rootDirName = "target/test-sandbox/block";
+        final String rootDirName = "target/test-sandbox/block";
         this.rafDir = new File( rootDirName );
         this.rafDir.mkdirs();
     }
 
-    private void setUpBlockDisk(String fileName) throws IOException
+    private void setUpBlockDisk(final String fileName) throws IOException
     {
-        File file = new File(rafDir, fileName + ".data");
+        final File file = new File(rafDir, fileName + ".data");
         file.delete();
         this.disk = new BlockDisk(file, new StandardSerializer());
     }
 
-    private void setUpBlockDisk(String fileName, int blockSize) throws IOException
+    private void setUpBlockDisk(final String fileName, final int blockSize) throws IOException
     {
-        File file = new File(rafDir, fileName + ".data");
+        final File file = new File(rafDir, fileName + ".data");
         file.delete();
         this.disk = new BlockDisk(file, blockSize, new StandardSerializer());
     }
@@ -88,7 +88,7 @@
         setUpBlockDisk("testWrite_NullBlockElement");
 
         // DO WORK
-        int[] blocks = disk.write( null );
+        final int[] blocks = disk.write( null );
 
         // VERIFY
         assertEquals( "Wrong number of blocks recorded.", 1, disk.getNumberOfBlocks() );
@@ -108,8 +108,8 @@
         setUpBlockDisk("testWrite_SingleBlockElement");
 
         // DO WORK
-        int bytes = 1 * 1024;
-        int[] blocks = disk.write( new byte[bytes] );
+        final int bytes = 1 * 1024;
+        final int[] blocks = disk.write( new byte[bytes] );
 
         // VERIFY
         assertEquals( "Wrong number of blocks recorded.", 1, disk.getNumberOfBlocks() );
@@ -129,10 +129,10 @@
         setUpBlockDisk("testWriteAndRead_SingleBlockElement");
 
         // DO WORK
-        int bytes = 1 * 1024;
-        int[] blocks = disk.write( new byte[bytes] );
+        final int bytes = 1 * 1024;
+        final int[] blocks = disk.write( new byte[bytes] );
 
-        byte[] result = (byte[]) disk.read( blocks );
+        final byte[] result = (byte[]) disk.read( blocks );
 
         // VERIFY
         assertEquals( "Wrong item retured.", new byte[bytes].length, result.length );
@@ -150,9 +150,9 @@
         setUpBlockDisk("testWrite_TwoSingleBlockElements");
 
         // DO WORK
-        int bytes = 1 * 1024;
-        int[] blocks1 = disk.write( new byte[bytes] );
-        int[] blocks2 = disk.write( new byte[bytes] );
+        final int bytes = 1 * 1024;
+        final int[] blocks1 = disk.write( new byte[bytes] );
+        final int[] blocks2 = disk.write( new byte[bytes] );
 
         // VERIFY
         assertEquals( "Wrong number of blocks recorded.", 2, disk.getNumberOfBlocks() );
@@ -174,7 +174,7 @@
         setUpBlockDisk("testCalculateBlocksNeededDouble");
 
         // DO WORK
-        int result = disk.calculateTheNumberOfBlocksNeeded( new byte[disk.getBlockSizeBytes() * 2
+        final int result = disk.calculateTheNumberOfBlocksNeeded( new byte[disk.getBlockSizeBytes() * 2
             - ( 2 * BlockDisk.HEADER_SIZE_BYTES )] );
 
         // Verify
@@ -194,8 +194,8 @@
 
         // DO WORK
         // byte arrays encur 27 bytes of serialization overhead.
-        int bytes = getBytesForBlocksOfByteArrays( disk.getBlockSizeBytes(), 2 );
-        int[] blocks = disk.write( new byte[bytes] );
+        final int bytes = getBytesForBlocksOfByteArrays( disk.getBlockSizeBytes(), 2 );
+        final int[] blocks = disk.write( new byte[bytes] );
 
         // VERIFY
         assertEquals( "Wrong number of blocks recorded.", 2, disk.getNumberOfBlocks() );
@@ -212,14 +212,14 @@
         throws Exception
     {
         // SETUP
-        int numBlocks = 128;
+        final int numBlocks = 128;
 
         setUpBlockDisk("testWrite_128BlockElement");
 
         // DO WORK
         // byte arrays encur 27 bytes of serialization overhead.
-        int bytes = getBytesForBlocksOfByteArrays( disk.getBlockSizeBytes(), numBlocks );
-        int[] blocks = disk.write( new byte[bytes] );
+        final int bytes = getBytesForBlocksOfByteArrays( disk.getBlockSizeBytes(), numBlocks );
+        final int[] blocks = disk.write( new byte[bytes] );
 
         // VERIFY
         assertEquals( "Wrong number of blocks recorded.", numBlocks, disk.getNumberOfBlocks() );
@@ -239,14 +239,14 @@
         setUpBlockDisk("testWriteAndReadSingleBlockElement");
 
         // DO WORK
-        int numBlocksPerElement = 4;
-        int bytes = getBytesForBlocksOfByteArrays( disk.getBlockSizeBytes(), numBlocksPerElement );
+        final int numBlocksPerElement = 4;
+        final int bytes = getBytesForBlocksOfByteArrays( disk.getBlockSizeBytes(), numBlocksPerElement );
 
-        int numElements = 100;
+        final int numElements = 100;
         for ( int i = 0; i < numElements; i++ )
         {
-            int[] blocks = disk.write( new byte[bytes] );
-            byte[] result = (byte[]) disk.read( blocks );
+            final int[] blocks = disk.write( new byte[bytes] );
+            final byte[] result = (byte[]) disk.read( blocks );
 
             // VERIFY
             assertEquals( "Wrong item retured.", new byte[bytes].length, result.length );
@@ -266,17 +266,17 @@
         setUpBlockDisk("testWriteAndReadSingleBlockElement", 1024);
 
         // DO WORK
-        int numBlocksPerElement = 4;
-        int bytes = getBytesForBlocksOfByteArrays( disk.getBlockSizeBytes(), numBlocksPerElement );
+        final int numBlocksPerElement = 4;
+        final int bytes = getBytesForBlocksOfByteArrays( disk.getBlockSizeBytes(), numBlocksPerElement );
 
-        int numElements = 100;
-        Random r = new Random(System.currentTimeMillis());
+        final int numElements = 100;
+        final Random r = new Random(System.currentTimeMillis());
         final byte[] src = new byte[bytes];
         for ( int i = 0; i < numElements; i++ )
         {
             r.nextBytes(src);  // Ensure we don't just write zeros out
-            int[] blocks = disk.write( src );
-            byte[] result = (byte[]) disk.read( blocks );
+            final int[] blocks = disk.write( src );
+            final byte[] result = (byte[]) disk.read( blocks );
 
             // VERIFY
             assertEquals( "Wrong item length retured.", src.length, result.length );
@@ -297,7 +297,7 @@
      * @param numBlocks
      * @return num bytes.
      */
-    private int getBytesForBlocksOfByteArrays( int blockSize, int numBlocks )
+    private int getBytesForBlocksOfByteArrays( final int blockSize, final int numBlocks )
     {
         // byte arrays encur some bytes of serialization overhead.
         return blockSize * numBlocks - ( numBlocks * BlockDisk.HEADER_SIZE_BYTES ) - ( numBlocks * 14 );
@@ -315,7 +315,7 @@
         setUpBlockDisk("testWriteAndRead_BigString", 4096); //1024
 
         String string = "This is my big string ABCDEFGH";
-        StringBuilder sb = new StringBuilder();
+        final StringBuilder sb = new StringBuilder();
         sb.append( string );
         for ( int i = 0; i < 8; i++ )
         {
@@ -324,8 +324,8 @@
         string = sb.toString();
 
         // DO WORK
-        int[] blocks = disk.write( string );
-        String result = (String) disk.read( blocks );
+        final int[] blocks = disk.write( string );
+        final String result = (String) disk.read( blocks );
 
         // VERIFY
 //        System.out.println( string );
@@ -350,8 +350,8 @@
         string += string;
 
         // DO WORK
-        int[] blocks = disk.write( string );
-        String result = (String) disk.read( blocks );
+        final int[] blocks = disk.write( string );
+        final String result = (String) disk.read( blocks );
 
         // VERIFY
         assertEquals( "Wrong item retured.", string, result );
@@ -361,7 +361,7 @@
     {
         // SETUP
         setUpBlockDisk("testJCS156", 4096);
-        long offset = disk.calculateByteOffsetForBlockAsLong(Integer.MAX_VALUE);
+        final long offset = disk.calculateByteOffsetForBlockAsLong(Integer.MAX_VALUE);
         assertTrue("Must not wrap round", offset > 0);
         assertEquals(Integer.MAX_VALUE*4096L,offset);
     }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/HugeQuantityBlockDiskCacheLoadTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/HugeQuantityBlockDiskCacheLoadTest.java
index aee9b5e..abf7ea1 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/HugeQuantityBlockDiskCacheLoadTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/block/HugeQuantityBlockDiskCacheLoadTest.java
@@ -52,19 +52,19 @@
     public void testLargeNumberOfItems()
         throws Exception
     {
-        int items = 300000;
-        String region = "testCache1";
+        final int items = 300000;
+        final String region = "testCache1";
 
         System.out.println( "--------------------------" );
-        long initialMemory = measureMemoryUse();
+        final long initialMemory = measureMemoryUse();
         System.out.println( "Before getting JCS: " + initialMemory );
 
-        CacheAccess<String, String> jcs = JCS.getInstance( region );
+        final CacheAccess<String, String> jcs = JCS.getInstance( region );
         jcs.clear();
 
         try
         {
-            ElapsedTimer timer = new ElapsedTimer();
+            final ElapsedTimer timer = new ElapsedTimer();
             System.out.println( "Start: " + measureMemoryUse() );
 
             // Add items to cache
@@ -98,7 +98,7 @@
             for ( int i = 0; i <= items; i++ )
             {
                 //System.out.print(  "\033[s" );
-                String value = jcs.get( i + ":key" );
+                final String value = jcs.get( i + ":key" );
                 if ( i % 1000 == 0 )
                 {
                     //System.out.print(  "\033[r" );
@@ -106,7 +106,7 @@
                 }
                 assertEquals( "Wrong value returned.", region + " data " + i, value );
             }
-            long aftetGet = measureMemoryUse();
+            final long aftetGet = measureMemoryUse();
             System.out.println( "After get: " + aftetGet + " diff = " + ( aftetGet - initialMemory ) );
 
         }
@@ -115,7 +115,7 @@
             // dump the stats to the report
             System.out.println( jcs.getStats() );
             System.out.println( "--------------------------" );
-            long endMemory = measureMemoryUse();
+            final long endMemory = measureMemoryUse();
             System.out.println( "End: " + endMemory + " diff = " + ( endMemory - initialMemory ) );
         }
     }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/DiskTestObjectUtil.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/DiskTestObjectUtil.java
index 9389b86..7dc1e14 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/DiskTestObjectUtil.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/DiskTestObjectUtil.java
@@ -42,14 +42,14 @@
      * @return size
      * @throws IOException
      */
-    public static long totalSize( DiskTestObject[] testObjects, int endPosition )
+    public static long totalSize( final DiskTestObject[] testObjects, final int endPosition )
         throws IOException
     {
-        StandardSerializer serializer = new StandardSerializer();
+        final StandardSerializer serializer = new StandardSerializer();
         long total = 0;
         for ( int i = 0; i < endPosition; i++ )
         {
-            int tileSize = serializer.serialize( testObjects[i] ).length + IndexedDisk.HEADER_SIZE_BYTES;
+            final int tileSize = serializer.serialize( testObjects[i] ).length + IndexedDisk.HEADER_SIZE_BYTES;
             total += tileSize;
         }
         return total;
@@ -63,7 +63,7 @@
      * @return size
      * @throws IOException
      */
-    public static <K, V> long totalSize( ICacheElement<K, V>[] elements, int endPosition )
+    public static <K, V> long totalSize( final ICacheElement<K, V>[] elements, final int endPosition )
         throws IOException
     {
         return totalSize( elements, 0, endPosition );
@@ -78,14 +78,14 @@
      * @return size
      * @throws IOException
      */
-    public static <K, V> long totalSize( ICacheElement<K, V>[] elements, int startPosition, int endPosition )
+    public static <K, V> long totalSize( final ICacheElement<K, V>[] elements, final int startPosition, final int endPosition )
         throws IOException
     {
-        StandardSerializer serializer = new StandardSerializer();
+        final StandardSerializer serializer = new StandardSerializer();
         long total = 0;
         for ( int i = startPosition; i < endPosition; i++ )
         {
-            int tileSize = serializer.serialize( elements[i] ).length + IndexedDisk.HEADER_SIZE_BYTES;
+            final int tileSize = serializer.serialize( elements[i] ).length + IndexedDisk.HEADER_SIZE_BYTES;
             total += tileSize;
         }
         return total;
@@ -99,17 +99,18 @@
      * @param cacheName
      * @return ICacheElement[]
      */
-    public static ICacheElement<Integer, DiskTestObject>[] createCacheElementsWithTestObjects( int numToCreate, int bytes, String cacheName )
+    public static ICacheElement<Integer, DiskTestObject>[] createCacheElementsWithTestObjects( final int numToCreate, final int bytes, final String cacheName )
     {
         @SuppressWarnings("unchecked")
+        final
         ICacheElement<Integer, DiskTestObject>[] elements = new ICacheElement[numToCreate];
         for ( int i = 0; i < numToCreate; i++ )
         {
             // 24 KB
-            int size = bytes * 1024;
-            DiskTestObject tile = new DiskTestObject( Integer.valueOf( i ), new byte[size] );
+            final int size = bytes * 1024;
+            final DiskTestObject tile = new DiskTestObject( Integer.valueOf( i ), new byte[size] );
 
-            ICacheElement<Integer, DiskTestObject> element = new CacheElement<>( cacheName, tile.id, tile );
+            final ICacheElement<Integer, DiskTestObject> element = new CacheElement<>( cacheName, tile.id, tile );
             elements[i] = element;
         }
         return elements;
@@ -122,19 +123,20 @@
      * @param cacheName
      * @return ICacheElement[]
      */
-    public static ICacheElement<Integer, DiskTestObject>[] createCacheElementsWithTestObjectsOfVariableSizes( int numToCreate, String cacheName )
+    public static ICacheElement<Integer, DiskTestObject>[] createCacheElementsWithTestObjectsOfVariableSizes( final int numToCreate, final String cacheName )
     {
         @SuppressWarnings("unchecked")
+        final
         ICacheElement<Integer, DiskTestObject>[] elements = new ICacheElement[numToCreate];
-        Random random = new Random( 89 );
+        final Random random = new Random( 89 );
         for ( int i = 0; i < numToCreate; i++ )
         {
-            int bytes = random.nextInt( 20 );
+            final int bytes = random.nextInt( 20 );
             // 4-24 KB
-            int size = ( bytes + 4 ) * 1024;
-            DiskTestObject tile = new DiskTestObject( Integer.valueOf( i ), new byte[size] );
+            final int size = ( bytes + 4 ) * 1024;
+            final DiskTestObject tile = new DiskTestObject( Integer.valueOf( i ), new byte[size] );
 
-            ICacheElement<Integer, DiskTestObject> element = new CacheElement<>( cacheName, tile.id, tile );
+            final ICacheElement<Integer, DiskTestObject> element = new CacheElement<>( cacheName, tile.id, tile );
             elements[i] = element;
         }
         return elements;
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/HugeQuantityIndDiskCacheLoadTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/HugeQuantityIndDiskCacheLoadTest.java
index 4ea19a6..d933260 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/HugeQuantityIndDiskCacheLoadTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/HugeQuantityIndDiskCacheLoadTest.java
@@ -48,10 +48,10 @@
     public void testLargeNumberOfItems()
         throws Exception
     {
-        int items = 300000;
-        String region = "testCache1";
+        final int items = 300000;
+        final String region = "testCache1";
 
-        CacheAccess<String, String> jcs = JCS.getInstance( region );
+        final CacheAccess<String, String> jcs = JCS.getInstance( region );
 
         try
         {
@@ -78,7 +78,7 @@
 
             for ( int i = 0; i <= items; i++ )
             {
-                String value = jcs.get( i + ":key" );
+                final String value = jcs.get( i + ":key" );
 
                 assertEquals( region + " data " + i, value );
             }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexDiskCacheCountUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexDiskCacheCountUnitTest.java
index d207f4c..a550633 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexDiskCacheCountUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexDiskCacheCountUnitTest.java
@@ -29,29 +29,29 @@
 
 	@Override
 	public IndexedDiskCacheAttributes getCacheAttributes() {
-		IndexedDiskCacheAttributes ret = new IndexedDiskCacheAttributes();
+		final IndexedDiskCacheAttributes ret = new IndexedDiskCacheAttributes();
 		ret.setDiskLimitType(DiskLimitType.COUNT);
 		return ret;
 	}
 	  public void testRecycleBin()
 		        throws IOException
 		    {
-		        IndexedDiskCacheAttributes cattr = getCacheAttributes();
+		        final IndexedDiskCacheAttributes cattr = getCacheAttributes();
 		        cattr.setCacheName( "testRemoveItems" );
 		        cattr.setOptimizeAtRemoveCount( 7 );
 		        cattr.setMaxKeySize( 5 );
 		        cattr.setMaxPurgatorySize( 0 );
 		        cattr.setDiskPath( "target/test-sandbox/BreakIndexTest" );
-		        IndexedDiskCache<String, String> disk = new IndexedDiskCache<>( cattr );
+		        final IndexedDiskCache<String, String> disk = new IndexedDiskCache<>( cattr );
 
-		        String[] test = { "a", "bb", "ccc", "dddd", "eeeee", "ffffff", "ggggggg", "hhhhhhhhh", "iiiiiiiiii" };
-		        String[] expect = { null, "bb", "ccc", null, null, "ffffff", null, "hhhhhhhhh", "iiiiiiiiii" };
+		        final String[] test = { "a", "bb", "ccc", "dddd", "eeeee", "ffffff", "ggggggg", "hhhhhhhhh", "iiiiiiiiii" };
+		        final String[] expect = { null, "bb", "ccc", null, null, "ffffff", null, "hhhhhhhhh", "iiiiiiiiii" };
 
 		        //System.out.println( "------------------------- testRecycleBin " );
 
 		        for ( int i = 0; i < 6; i++ )
 		        {
-		            ICacheElement<String, String> element = new CacheElement<>( "testRecycleBin", "key:" + test[i], test[i] );
+		            final ICacheElement<String, String> element = new CacheElement<>( "testRecycleBin", "key:" + test[i], test[i] );
 		            //System.out.println( "About to add " + "key:" + test[i] + " i = " + i );
 		            disk.processUpdate( element );
 		        }
@@ -66,7 +66,7 @@
 		        // will not fit.
 		        for ( int i = 7; i < 9; i++ )
 		        {
-		            ICacheElement<String, String> element = new CacheElement<>( "testRecycleBin", "key:" + test[i], test[i] );
+		            final ICacheElement<String, String> element = new CacheElement<>( "testRecycleBin", "key:" + test[i], test[i] );
 		            //System.out.println( "About to add " + "key:" + test[i] + " i = " + i );
 		            disk.processUpdate( element );
 		        }
@@ -75,7 +75,7 @@
 		        {
 		            for ( int i = 0; i < 9; i++ )
 		            {
-		                ICacheElement<String, String> element = disk.get( "key:" + test[i] );
+		                final ICacheElement<String, String> element = disk.get( "key:" + test[i] );
 		                if ( element != null )
 		                {
 		                    //System.out.println( "element = " + element.getVal() );
@@ -85,7 +85,7 @@
 		                    //System.out.println( "null --" + "key:" + test[i] );
 		                }
 
-		                String expectedValue = expect[i];
+		                final String expectedValue = expect[i];
 		                if ( expectedValue == null )
 		                {
 		                    assertNull( "Expected a null element", element );
@@ -98,7 +98,7 @@
 		                }
 		            }
 		        }
-		        catch ( Exception e )
+		        catch ( final Exception e )
 		        {
 		            e.printStackTrace();
 		            fail( "Should not get an exception: " + e.toString() );
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexDiskCacheSizeUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexDiskCacheSizeUnitTest.java
index 4619cd5..655f5c7 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexDiskCacheSizeUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexDiskCacheSizeUnitTest.java
@@ -30,29 +30,29 @@
 
 	@Override
 	public IndexedDiskCacheAttributes getCacheAttributes() {
-		IndexedDiskCacheAttributes ret = new IndexedDiskCacheAttributes();
+		final IndexedDiskCacheAttributes ret = new IndexedDiskCacheAttributes();
 		ret.setDiskLimitType(DiskLimitType.SIZE);
 		return ret;
 	}
 	  public void testRecycleBin()
 		        throws IOException
 		    {
-		        IndexedDiskCacheAttributes cattr = getCacheAttributes();
+		        final IndexedDiskCacheAttributes cattr = getCacheAttributes();
 		        cattr.setCacheName( "testRemoveItems" );
 		        cattr.setOptimizeAtRemoveCount( 7 );
 		        cattr.setMaxKeySize( 8); // 1kb DiskTestObject takes 1420 bytes, so 5*1420 = 7100, so to keep 5 ojbects, we need max key size of 8
 		        cattr.setMaxPurgatorySize( 0 );
 		        cattr.setDiskPath( "target/test-sandbox/BreakIndexTest" );
-		        IndexedDiskCache<String, DiskTestObject> disk = new IndexedDiskCache<>( cattr );
+		        final IndexedDiskCache<String, DiskTestObject> disk = new IndexedDiskCache<>( cattr );
 
-		        String[] test = { "a", "bb", "ccc", "dddd", "eeeee", "ffffff", "ggggggg", "hhhhhhhhh", "iiiiiiiiii" };
-		        String[] expect = { null, "bb", "ccc", null, null, "ffffff", null, "hhhhhhhhh", "iiiiiiiiii" };
-		        DiskTestObject value = DiskTestObjectUtil.createCacheElementsWithTestObjects( 1, 1, cattr .getCacheName())[0].getVal();
+		        final String[] test = { "a", "bb", "ccc", "dddd", "eeeee", "ffffff", "ggggggg", "hhhhhhhhh", "iiiiiiiiii" };
+		        final String[] expect = { null, "bb", "ccc", null, null, "ffffff", null, "hhhhhhhhh", "iiiiiiiiii" };
+		        final DiskTestObject value = DiskTestObjectUtil.createCacheElementsWithTestObjects( 1, 1, cattr .getCacheName())[0].getVal();
 		        //System.out.println( "------------------------- testRecycleBin " );
 
 		        for ( int i = 0; i < 6; i++ )
 		        {
-		            ICacheElement<String, DiskTestObject> element = new CacheElement<>( "testRecycleBin", "key:" + test[i], value);
+		            final ICacheElement<String, DiskTestObject> element = new CacheElement<>( "testRecycleBin", "key:" + test[i], value);
 		            //System.out.println( "About to add " + "key:" + test[i] + " i = " + i );
 		            disk.processUpdate( element );
 		        }
@@ -67,7 +67,7 @@
 		        // will not fit.
 		        for ( int i = 7; i < 9; i++ )
 		        {
-		            ICacheElement<String, DiskTestObject> element = new CacheElement<>( "testRecycleBin", "key:" + test[i], value);
+		            final ICacheElement<String, DiskTestObject> element = new CacheElement<>( "testRecycleBin", "key:" + test[i], value);
 		            //System.out.println( "About to add " + "key:" + test[i] + " i = " + i );
 		            disk.processUpdate( element );
 		        }
@@ -76,7 +76,7 @@
 		        {
 		            for ( int i = 0; i < 9; i++ )
 		            {
-		                ICacheElement<String, DiskTestObject> element = disk.get( "key:" + test[i] );
+		                final ICacheElement<String, DiskTestObject> element = disk.get( "key:" + test[i] );
 		                if ( element != null )
 		                {
 		                    //System.out.println( "element = " + element.getVal() );
@@ -86,7 +86,7 @@
 		                    //System.out.println( "null --" + "key:" + test[i] );
 		                }
 
-		                String expectedValue = expect[i];
+		                final String expectedValue = expect[i];
 		                if ( expectedValue == null )
 		                {
 		                    assertNull( "Expected a null element", element );
@@ -99,7 +99,7 @@
 		                }
 		            }
 		        }
-		        catch ( Exception e )
+		        catch ( final Exception e )
 		        {
 		            e.printStackTrace();
 		            fail( "Should not get an exception: " + e.toString() );
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexDiskCacheUnitTestAbstract.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexDiskCacheUnitTestAbstract.java
index 5ba05a2..1e0f652 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexDiskCacheUnitTestAbstract.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexDiskCacheUnitTestAbstract.java
@@ -54,42 +54,42 @@
      */
     public void testSimplePutAndGet() throws IOException
     {
-        IndexedDiskCacheAttributes cattr = getCacheAttributes();
+        final IndexedDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName("testSimplePutAndGet");
         cattr.setMaxKeySize(1000);
         cattr.setDiskPath("target/test-sandbox/IndexDiskCacheUnitTest");
-        IndexedDiskCache<String, String> disk = new IndexedDiskCache<>(cattr);
+        final IndexedDiskCache<String, String> disk = new IndexedDiskCache<>(cattr);
 
         disk.processRemoveAll();
 
-        int cnt = 999;
+        final int cnt = 999;
         for (int i = 0; i < cnt; i++)
         {
-            IElementAttributes eAttr = new ElementAttributes();
+            final IElementAttributes eAttr = new ElementAttributes();
             eAttr.setIsSpool(true);
-            ICacheElement<String, String> element = new CacheElement<>("testSimplePutAndGet", "key:" + i, "data:" + i);
+            final ICacheElement<String, String> element = new CacheElement<>("testSimplePutAndGet", "key:" + i, "data:" + i);
             element.setElementAttributes(eAttr);
             disk.processUpdate(element);
         }
 
         for (int i = 0; i < cnt; i++)
         {
-            ICacheElement<String, String> element = disk.processGet("key:" + i);
+            final ICacheElement<String, String> element = disk.processGet("key:" + i);
             assertNotNull("Should have received an element.", element);
             assertEquals("Element is wrong.", "data:" + i, element.getVal());
         }
 
         // Test that getMultiple returns all the expected values
-        Set<String> keys = new HashSet<>();
+        final Set<String> keys = new HashSet<>();
         for (int i = 0; i < cnt; i++)
         {
             keys.add("key:" + i);
         }
 
-        Map<String, ICacheElement<String, String>> elements = disk.getMultiple(keys);
+        final Map<String, ICacheElement<String, String>> elements = disk.getMultiple(keys);
         for (int i = 0; i < cnt; i++)
         {
-            ICacheElement<String, String> element = elements.get("key:" + i);
+            final ICacheElement<String, String> element = elements.get("key:" + i);
             assertNotNull("element " + i + ":key is missing", element);
             assertEquals("value key:" + i, "data:" + i, element.getVal());
         }
@@ -103,20 +103,20 @@
      */
     public void testRemoveItems() throws IOException
     {
-        IndexedDiskCacheAttributes cattr = getCacheAttributes();
+        final IndexedDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName("testRemoveItems");
         cattr.setMaxKeySize(100);
         cattr.setDiskPath("target/test-sandbox/IndexDiskCacheUnitTest");
-        IndexedDiskCache<String, String> disk = new IndexedDiskCache<>(cattr);
+        final IndexedDiskCache<String, String> disk = new IndexedDiskCache<>(cattr);
 
         disk.processRemoveAll();
 
-        int cnt = 25;
+        final int cnt = 25;
         for (int i = 0; i < cnt; i++)
         {
-            IElementAttributes eAttr = new ElementAttributes();
+            final IElementAttributes eAttr = new ElementAttributes();
             eAttr.setIsSpool(true);
-            ICacheElement<String, String> element = new CacheElement<>("testRemoveItems", "key:" + i, "data:" + i);
+            final ICacheElement<String, String> element = new CacheElement<>("testRemoveItems", "key:" + i, "data:" + i);
             element.setElementAttributes(eAttr);
             disk.processUpdate(element);
         }
@@ -125,7 +125,7 @@
         for (int i = 0; i < cnt; i++)
         {
             disk.remove("key:" + i);
-            ICacheElement<String, String> element = disk.processGet("key:" + i);
+            final ICacheElement<String, String> element = disk.processGet("key:" + i);
             assertNull("Should not have received an element.", element);
         }
     }
@@ -143,23 +143,23 @@
     public void testCheckForDedOverlaps_noOverlap()
     {
         // SETUP
-        IndexedDiskCacheAttributes cattr = getCacheAttributes();
+        final IndexedDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName("testCheckForDedOverlaps_noOverlap");
         cattr.setDiskPath("target/test-sandbox/UnitTest");
-        IndexedDiskCache<String, String> disk = new IndexedDiskCache<>(cattr);
+        final IndexedDiskCache<String, String> disk = new IndexedDiskCache<>(cattr);
 
-        int numDescriptors = 5;
+        final int numDescriptors = 5;
         int pos = 0;
-        IndexedDiskElementDescriptor[] sortedDescriptors = new IndexedDiskElementDescriptor[numDescriptors];
+        final IndexedDiskElementDescriptor[] sortedDescriptors = new IndexedDiskElementDescriptor[numDescriptors];
         for (int i = 0; i < numDescriptors; i++)
         {
-            IndexedDiskElementDescriptor descriptor = new IndexedDiskElementDescriptor(pos, i * 2);
+            final IndexedDiskElementDescriptor descriptor = new IndexedDiskElementDescriptor(pos, i * 2);
             pos = pos + (i * 2) + IndexedDisk.HEADER_SIZE_BYTES;
             sortedDescriptors[i] = descriptor;
         }
 
         // DO WORK
-        boolean result = disk.checkForDedOverlaps(sortedDescriptors);
+        final boolean result = disk.checkForDedOverlaps(sortedDescriptors);
 
         // VERIFY
         assertTrue("There should be no overlap. it should be ok", result);
@@ -171,24 +171,24 @@
     public void testCheckForDedOverlaps_overlaps()
     {
         // SETUP
-        IndexedDiskCacheAttributes cattr = getCacheAttributes();
+        final IndexedDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName("testCheckForDedOverlaps_overlaps");
         cattr.setDiskPath("target/test-sandbox/UnitTest");
-        IndexedDiskCache<String, String> disk = new IndexedDiskCache<>(cattr);
+        final IndexedDiskCache<String, String> disk = new IndexedDiskCache<>(cattr);
 
-        int numDescriptors = 5;
+        final int numDescriptors = 5;
         int pos = 0;
-        IndexedDiskElementDescriptor[] sortedDescriptors = new IndexedDiskElementDescriptor[numDescriptors];
+        final IndexedDiskElementDescriptor[] sortedDescriptors = new IndexedDiskElementDescriptor[numDescriptors];
         for (int i = 0; i < numDescriptors; i++)
         {
-            IndexedDiskElementDescriptor descriptor = new IndexedDiskElementDescriptor(pos, i * 2);
+            final IndexedDiskElementDescriptor descriptor = new IndexedDiskElementDescriptor(pos, i * 2);
             // don't add the header + IndexedDisk.RECORD_HEADER;
             pos = pos + (i * 2);
             sortedDescriptors[i] = descriptor;
         }
 
         // DO WORK
-        boolean result = disk.checkForDedOverlaps(sortedDescriptors);
+        final boolean result = disk.checkForDedOverlaps(sortedDescriptors);
 
         // VERIFY
         assertFalse("There should be overlaps. it should be not ok", result);
@@ -204,14 +204,14 @@
     public void testFileSize() throws IOException, InterruptedException
     {
         // SETUP
-        IndexedDiskCacheAttributes cattr = getCacheAttributes();
+        final IndexedDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName("testFileSize");
         cattr.setDiskPath("target/test-sandbox/UnitTest");
-        IndexedDiskCache<Integer, DiskTestObject> disk = new IndexedDiskCache<>(cattr);
+        final IndexedDiskCache<Integer, DiskTestObject> disk = new IndexedDiskCache<>(cattr);
 
-        int numberToInsert = 20;
-        int bytes = 24;
-        ICacheElement<Integer, DiskTestObject>[] elements = DiskTestObjectUtil.createCacheElementsWithTestObjects(numberToInsert,
+        final int numberToInsert = 20;
+        final int bytes = 24;
+        final ICacheElement<Integer, DiskTestObject>[] elements = DiskTestObjectUtil.createCacheElementsWithTestObjects(numberToInsert,
             bytes, cattr.getCacheName());
 
         for (int i = 0; i < elements.length; i++)
@@ -223,8 +223,8 @@
         Thread.sleep(100);
         Thread.yield();
 
-        long expectedSize = DiskTestObjectUtil.totalSize(elements, numberToInsert);
-        long resultSize = disk.getDataFileSize();
+        final long expectedSize = DiskTestObjectUtil.totalSize(elements, numberToInsert);
+        final long resultSize = disk.getDataFileSize();
 
         // System.out.println( "testFileSize stats " + disk.getStats() );
 
@@ -241,18 +241,18 @@
     public void testRecyleBinSize() throws IOException, InterruptedException
     {
         // SETUP
-        int numberToInsert = 20;
+        final int numberToInsert = 20;
 
-        IndexedDiskCacheAttributes cattr = getCacheAttributes();
+        final IndexedDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName("testRecyleBinSize");
         cattr.setDiskPath("target/test-sandbox/UnitTest");
         cattr.setOptimizeAtRemoveCount(numberToInsert);
         cattr.setMaxKeySize(numberToInsert * 2);
         cattr.setMaxPurgatorySize(numberToInsert);
-        IndexedDiskCache<Integer, DiskTestObject> disk = new IndexedDiskCache<>(cattr);
+        final IndexedDiskCache<Integer, DiskTestObject> disk = new IndexedDiskCache<>(cattr);
 
-        int bytes = 1;
-        ICacheElement<Integer, DiskTestObject>[] elements = DiskTestObjectUtil.createCacheElementsWithTestObjects(numberToInsert,
+        final int bytes = 1;
+        final ICacheElement<Integer, DiskTestObject>[] elements = DiskTestObjectUtil.createCacheElementsWithTestObjects(numberToInsert,
             bytes, cattr.getCacheName());
 
         for (int i = 0; i < elements.length; i++)
@@ -265,7 +265,7 @@
         Thread.yield();
 
         // remove half
-        int numberToRemove = elements.length / 2;
+        final int numberToRemove = elements.length / 2;
         for (int i = 0; i < numberToRemove; i++)
         {
             disk.processRemove(elements[i].getKey());
@@ -286,19 +286,19 @@
     public void testRecyleBinUsage() throws IOException, InterruptedException
     {
         // SETUP
-        int numberToInsert = 20;
+        final int numberToInsert = 20;
 
-        IndexedDiskCacheAttributes cattr = getCacheAttributes();
+        final IndexedDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName("testRecyleBinUsage");
         cattr.setDiskPath("target/test-sandbox/UnitTest");
         cattr.setOptimizeAtRemoveCount(numberToInsert);
         cattr.setMaxKeySize(numberToInsert * 2);
         cattr.setMaxPurgatorySize(numberToInsert);
-        IndexedDiskCache<Integer, DiskTestObject> disk = new IndexedDiskCache<>(cattr);
+        final IndexedDiskCache<Integer, DiskTestObject> disk = new IndexedDiskCache<>(cattr);
 
         // we will reuse these
-        int bytes = 1;
-        ICacheElement<Integer, DiskTestObject>[] elements = DiskTestObjectUtil.createCacheElementsWithTestObjects(numberToInsert,
+        final int bytes = 1;
+        final ICacheElement<Integer, DiskTestObject>[] elements = DiskTestObjectUtil.createCacheElementsWithTestObjects(numberToInsert,
             bytes, cattr.getCacheName());
 
         // Add some to the disk
@@ -312,7 +312,7 @@
         Thread.yield();
 
         // remove half of those added
-        int numberToRemove = elements.length / 2;
+        final int numberToRemove = elements.length / 2;
         for (int i = 0; i < numberToRemove; i++)
         {
             disk.processRemove(elements[i].getKey());
@@ -322,7 +322,7 @@
         assertEquals("The recycle bin should have the number removed.", numberToRemove, disk.getRecyleBinSize());
 
         // add half as many as we removed. These should all use spots in the recycle bin.
-        int numberToAdd = numberToRemove / 2;
+        final int numberToAdd = numberToRemove / 2;
         for (int i = 0; i < numberToAdd; i++)
         {
             disk.processUpdate(elements[i]);
@@ -343,14 +343,14 @@
     public void testBytesFreeSize() throws IOException, InterruptedException
     {
         // SETUP
-        IndexedDiskCacheAttributes cattr = getCacheAttributes();
+        final IndexedDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName("testBytesFreeSize");
         cattr.setDiskPath("target/test-sandbox/UnitTest");
-        IndexedDiskCache<Integer, DiskTestObject> disk = new IndexedDiskCache<>(cattr);
+        final IndexedDiskCache<Integer, DiskTestObject> disk = new IndexedDiskCache<>(cattr);
 
-        int numberToInsert = 20;
-        int bytes = 24;
-        ICacheElement<Integer, DiskTestObject>[] elements = DiskTestObjectUtil.createCacheElementsWithTestObjects(numberToInsert,
+        final int numberToInsert = 20;
+        final int bytes = 24;
+        final ICacheElement<Integer, DiskTestObject>[] elements = DiskTestObjectUtil.createCacheElementsWithTestObjects(numberToInsert,
             bytes, cattr.getCacheName());
 
         for (int i = 0; i < elements.length; i++)
@@ -363,28 +363,28 @@
         Thread.yield();
 
         // remove half of those added
-        int numberToRemove = elements.length / 2;
+        final int numberToRemove = elements.length / 2;
         for (int i = 0; i < numberToRemove; i++)
         {
             disk.processRemove(elements[i].getKey());
         }
 
-        long expectedSize = DiskTestObjectUtil.totalSize(elements, numberToRemove);
-        long resultSize = disk.getBytesFree();
+        final long expectedSize = DiskTestObjectUtil.totalSize(elements, numberToRemove);
+        final long resultSize = disk.getBytesFree();
 
         // System.out.println( "testBytesFreeSize stats " + disk.getStats() );
 
         assertEquals("Wrong bytes free size" + disk.getStats(), expectedSize, resultSize);
 
         // add half as many as we removed. These should all use spots in the recycle bin.
-        int numberToAdd = numberToRemove / 2;
+        final int numberToAdd = numberToRemove / 2;
         for (int i = 0; i < numberToAdd; i++)
         {
             disk.processUpdate(elements[i]);
         }
 
-        long expectedSize2 = DiskTestObjectUtil.totalSize(elements, numberToAdd);
-        long resultSize2 = disk.getBytesFree();
+        final long expectedSize2 = DiskTestObjectUtil.totalSize(elements, numberToAdd);
+        final long resultSize2 = disk.getBytesFree();
         assertEquals("Wrong bytes free size" + disk.getStats(), expectedSize2, resultSize2);
     }
 
@@ -396,20 +396,20 @@
      */
     public void testRemove_PartialKey() throws IOException
     {
-        IndexedDiskCacheAttributes cattr = getCacheAttributes();
+        final IndexedDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName("testRemove_PartialKey");
         cattr.setMaxKeySize(100);
         cattr.setDiskPath("target/test-sandbox/IndexDiskCacheUnitTest");
-        IndexedDiskCache<String, String> disk = new IndexedDiskCache<>(cattr);
+        final IndexedDiskCache<String, String> disk = new IndexedDiskCache<>(cattr);
 
         disk.processRemoveAll();
 
-        int cnt = 25;
+        final int cnt = 25;
         for (int i = 0; i < cnt; i++)
         {
-            IElementAttributes eAttr = new ElementAttributes();
+            final IElementAttributes eAttr = new ElementAttributes();
             eAttr.setIsSpool(true);
-            ICacheElement<String, String> element = new CacheElement<>("testRemove_PartialKey", i + ":key", "data:"
+            final ICacheElement<String, String> element = new CacheElement<>("testRemove_PartialKey", i + ":key", "data:"
                 + i);
             element.setElementAttributes(eAttr);
             disk.processUpdate(element);
@@ -418,7 +418,7 @@
         // verif each
         for (int i = 0; i < cnt; i++)
         {
-            ICacheElement<String, String> element = disk.processGet(i + ":key");
+            final ICacheElement<String, String> element = disk.processGet(i + ":key");
             assertNotNull("Shoulds have received an element.", element);
         }
 
@@ -426,7 +426,7 @@
         for (int i = 0; i < cnt; i++)
         {
             disk.remove(i + ":");
-            ICacheElement<String, String> element = disk.processGet(i + ":key");
+            final ICacheElement<String, String> element = disk.processGet(i + ":key");
             assertNull("Should not have received an element.", element);
         }
         // https://issues.apache.org/jira/browse/JCS-67
@@ -441,25 +441,25 @@
     public void testRemove_Group() throws IOException
     {
         // SETUP
-        IndexedDiskCacheAttributes cattr = getCacheAttributes();
+        final IndexedDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName("testRemove_Group");
         cattr.setMaxKeySize(100);
         cattr.setDiskPath("target/test-sandbox/IndexDiskCacheUnitTest");
-        IndexedDiskCache<GroupAttrName<String>, String> disk = new IndexedDiskCache<>(cattr);
+        final IndexedDiskCache<GroupAttrName<String>, String> disk = new IndexedDiskCache<>(cattr);
 
         disk.processRemoveAll();
 
-        String cacheName = "testRemove_Group_Region";
-        String groupName = "testRemove_Group";
+        final String cacheName = "testRemove_Group_Region";
+        final String groupName = "testRemove_Group";
 
-        int cnt = 25;
+        final int cnt = 25;
         for (int i = 0; i < cnt; i++)
         {
-            GroupAttrName<String> groupAttrName = getGroupAttrName(cacheName, groupName, i + ":key");
-            CacheElement<GroupAttrName<String>, String> element = new CacheElement<>(cacheName,
+            final GroupAttrName<String> groupAttrName = getGroupAttrName(cacheName, groupName, i + ":key");
+            final CacheElement<GroupAttrName<String>, String> element = new CacheElement<>(cacheName,
                 groupAttrName, "data:" + i);
 
-            IElementAttributes eAttr = new ElementAttributes();
+            final IElementAttributes eAttr = new ElementAttributes();
             eAttr.setIsSpool(true);
             element.setElementAttributes(eAttr);
 
@@ -469,8 +469,8 @@
         // verify each
         for (int i = 0; i < cnt; i++)
         {
-            GroupAttrName<String> groupAttrName = getGroupAttrName(cacheName, groupName, i + ":key");
-            ICacheElement<GroupAttrName<String>, String> element = disk.processGet(groupAttrName);
+            final GroupAttrName<String> groupAttrName = getGroupAttrName(cacheName, groupName, i + ":key");
+            final ICacheElement<GroupAttrName<String>, String> element = disk.processGet(groupAttrName);
             assertNotNull("Should have received an element.", element);
         }
 
@@ -480,8 +480,8 @@
 
         for (int i = 0; i < cnt; i++)
         {
-            GroupAttrName<String> groupAttrName = getGroupAttrName(cacheName, groupName, i + ":key");
-            ICacheElement<GroupAttrName<String>, String> element = disk.processGet(groupAttrName);
+            final GroupAttrName<String> groupAttrName = getGroupAttrName(cacheName, groupName, i + ":key");
+            final ICacheElement<GroupAttrName<String>, String> element = disk.processGet(groupAttrName);
 
             // VERIFY
             assertNull("Should not have received an element.", element);
@@ -498,9 +498,9 @@
      * @param name
      * @return GroupAttrName
      */
-    private GroupAttrName<String> getGroupAttrName(String cacheName, String group, String name)
+    private GroupAttrName<String> getGroupAttrName(final String cacheName, final String group, final String name)
     {
-        GroupId gid = new GroupId(cacheName, group);
+        final GroupId gid = new GroupId(cacheName, group);
         return new GroupAttrName<>(gid, name);
     }
 
@@ -513,17 +513,17 @@
     public void testUpdate_EventLogging_simple() throws Exception
     {
         // SETUP
-        IndexedDiskCacheAttributes cattr = getCacheAttributes();
+        final IndexedDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName("testUpdate_EventLogging_simple");
         cattr.setMaxKeySize(100);
         cattr.setDiskPath("target/test-sandbox/IndexDiskCacheUnitTestCEL");
-        IndexedDiskCache<String, String> diskCache = new IndexedDiskCache<>(cattr);
+        final IndexedDiskCache<String, String> diskCache = new IndexedDiskCache<>(cattr);
         diskCache.processRemoveAll();
 
-        MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
+        final MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
         diskCache.setCacheEventLogger(cacheEventLogger);
 
-        ICacheElement<String, String> item = new CacheElement<>("region", "key", "value");
+        final ICacheElement<String, String> item = new CacheElement<>("region", "key", "value");
 
         // DO WORK
         diskCache.update(item);
@@ -544,14 +544,14 @@
     public void testGet_EventLogging_simple() throws Exception
     {
         // SETUP
-        IndexedDiskCacheAttributes cattr = getCacheAttributes();
+        final IndexedDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName("testGet_EventLogging_simple");
         cattr.setMaxKeySize(100);
         cattr.setDiskPath("target/test-sandbox/IndexDiskCacheUnitTestCEL");
-        IndexedDiskCache<String, String> diskCache = new IndexedDiskCache<>(cattr);
+        final IndexedDiskCache<String, String> diskCache = new IndexedDiskCache<>(cattr);
         diskCache.processRemoveAll();
 
-        MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
+        final MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
         diskCache.setCacheEventLogger(cacheEventLogger);
 
         // DO WORK
@@ -571,17 +571,17 @@
     public void testGetMultiple_EventLogging_simple() throws Exception
     {
         // SETUP
-        IndexedDiskCacheAttributes cattr = getCacheAttributes();
+        final IndexedDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName("testGetMultiple_EventLogging_simple");
         cattr.setMaxKeySize(100);
         cattr.setDiskPath("target/test-sandbox/IndexDiskCacheUnitTestCEL");
-        IndexedDiskCache<String, String> diskCache = new IndexedDiskCache<>(cattr);
+        final IndexedDiskCache<String, String> diskCache = new IndexedDiskCache<>(cattr);
         diskCache.processRemoveAll();
 
-        MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
+        final MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
         diskCache.setCacheEventLogger(cacheEventLogger);
 
-        Set<String> keys = new HashSet<>();
+        final Set<String> keys = new HashSet<>();
         keys.add("junk");
 
         // DO WORK
@@ -602,14 +602,14 @@
     public void testRemove_EventLogging_simple() throws Exception
     {
         // SETUP
-        IndexedDiskCacheAttributes cattr = getCacheAttributes();
+        final IndexedDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName("testRemoveAll_EventLogging_simple");
         cattr.setMaxKeySize(100);
         cattr.setDiskPath("target/test-sandbox/IndexDiskCacheUnitTestCEL");
-        IndexedDiskCache<String, String> diskCache = new IndexedDiskCache<>(cattr);
+        final IndexedDiskCache<String, String> diskCache = new IndexedDiskCache<>(cattr);
         diskCache.processRemoveAll();
 
-        MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
+        final MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
         diskCache.setCacheEventLogger(cacheEventLogger);
 
         // DO WORK
@@ -629,14 +629,14 @@
     public void testRemoveAll_EventLogging_simple() throws Exception
     {
         // SETUP
-        IndexedDiskCacheAttributes cattr = getCacheAttributes();
+        final IndexedDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName("testRemoveAll_EventLogging_simple");
         cattr.setMaxKeySize(100);
         cattr.setDiskPath("target/test-sandbox/IndexDiskCacheUnitTestCEL");
-        IndexedDiskCache<String, String> diskCache = new IndexedDiskCache<>(cattr);
+        final IndexedDiskCache<String, String> diskCache = new IndexedDiskCache<>(cattr);
         diskCache.processRemoveAll();
 
-        MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
+        final MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
         diskCache.setCacheEventLogger(cacheEventLogger);
 
         // DO WORK
@@ -656,14 +656,14 @@
     public void testPutGetMatching_SmallWait() throws Exception
     {
         // SETUP
-        int items = 200;
+        final int items = 200;
 
-        String cacheName = "testPutGetMatching_SmallWait";
-        IndexedDiskCacheAttributes cattr = getCacheAttributes();
+        final String cacheName = "testPutGetMatching_SmallWait";
+        final IndexedDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName(cacheName);
         cattr.setMaxKeySize(100);
         cattr.setDiskPath("target/test-sandbox/IndexDiskCacheUnitTest");
-        IndexedDiskCache<String, String> diskCache = new IndexedDiskCache<>(cattr);
+        final IndexedDiskCache<String, String> diskCache = new IndexedDiskCache<>(cattr);
 
         // DO WORK
         for (int i = 0; i <= items; i++)
@@ -672,7 +672,7 @@
         }
         Thread.sleep(500);
 
-        Map<String, ICacheElement<String, String>> matchingResults = diskCache.getMatching("1.8.+");
+        final Map<String, ICacheElement<String, String>> matchingResults = diskCache.getMatching("1.8.+");
 
         // VERIFY
         assertEquals("Wrong number returned", 10, matchingResults.size());
@@ -689,14 +689,14 @@
     public void testPutGetMatching_NoWait() throws Exception
     {
         // SETUP
-        int items = 200;
+        final int items = 200;
 
-        String cacheName = "testPutGetMatching_NoWait";
-        IndexedDiskCacheAttributes cattr = getCacheAttributes();
+        final String cacheName = "testPutGetMatching_NoWait";
+        final IndexedDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName(cacheName);
         cattr.setMaxKeySize(100);
         cattr.setDiskPath("target/test-sandbox/IndexDiskCacheUnitTest");
-        IndexedDiskCache<String, String> diskCache = new IndexedDiskCache<>(cattr);
+        final IndexedDiskCache<String, String> diskCache = new IndexedDiskCache<>(cattr);
 
         // DO WORK
         for (int i = 0; i <= items; i++)
@@ -704,7 +704,7 @@
             diskCache.update(new CacheElement<>(cacheName, i + ":key", cacheName + " data " + i));
         }
 
-        Map<String, ICacheElement<String, String>> matchingResults = diskCache.getMatching("1.8.+");
+        final Map<String, ICacheElement<String, String>> matchingResults = diskCache.getMatching("1.8.+");
 
         // VERIFY
         assertEquals("Wrong number returned", 10, matchingResults.size());
@@ -721,7 +721,7 @@
     public void testUTF8String() throws Exception
     {
         String string = "IÒtÎrn‚tiÙn‡lizÊti¯n";
-        StringBuilder sb = new StringBuilder();
+        final StringBuilder sb = new StringBuilder();
         sb.append(string);
         for (int i = 0; i < 4; i++)
         {
@@ -731,13 +731,13 @@
 
         // System.out.println( "The string contains " + string.length() + " characters" );
 
-        String cacheName = "testUTF8String";
+        final String cacheName = "testUTF8String";
 
-        IndexedDiskCacheAttributes cattr = getCacheAttributes();
+        final IndexedDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName(cacheName);
         cattr.setMaxKeySize(100);
         cattr.setDiskPath("target/test-sandbox/IndexDiskCacheUnitTest");
-        IndexedDiskCache<String, String> diskCache = new IndexedDiskCache<>(cattr);
+        final IndexedDiskCache<String, String> diskCache = new IndexedDiskCache<>(cattr);
 
         // DO WORK
         diskCache.update(new CacheElement<>(cacheName, "x", string));
@@ -745,10 +745,10 @@
         // VERIFY
         assertNotNull(diskCache.get("x"));
         Thread.sleep(1000);
-        ICacheElement<String, String> afterElement = diskCache.get("x");
+        final ICacheElement<String, String> afterElement = diskCache.get("x");
         assertNotNull(afterElement);
         // System.out.println( "afterElement = " + afterElement );
-        String after = afterElement.getVal();
+        final String after = afterElement.getVal();
 
         assertNotNull(after);
         assertEquals("wrong string after retrieval", string, after);
@@ -763,7 +763,7 @@
     public void testUTF8ByteArray() throws Exception
     {
         String string = "IÒtÎrn‚tiÙn‡lizÊti¯n";
-        StringBuilder sb = new StringBuilder();
+        final StringBuilder sb = new StringBuilder();
         sb.append(string);
         for (int i = 0; i < 4; i++)
         {
@@ -771,15 +771,15 @@
         }
         string = sb.toString();
         // System.out.println( "The string contains " + string.length() + " characters" );
-        byte[] bytes = string.getBytes(StandardCharsets.UTF_8);
+        final byte[] bytes = string.getBytes(StandardCharsets.UTF_8);
 
-        String cacheName = "testUTF8ByteArray";
+        final String cacheName = "testUTF8ByteArray";
 
-        IndexedDiskCacheAttributes cattr = getCacheAttributes();
+        final IndexedDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName(cacheName);
         cattr.setMaxKeySize(100);
         cattr.setDiskPath("target/test-sandbox/IndexDiskCacheUnitTest");
-        IndexedDiskCache<String, byte[]> diskCache = new IndexedDiskCache<>(cattr);
+        final IndexedDiskCache<String, byte[]> diskCache = new IndexedDiskCache<>(cattr);
 
         // DO WORK
         diskCache.update(new CacheElement<>(cacheName, "x", bytes));
@@ -787,10 +787,10 @@
         // VERIFY
         assertNotNull(diskCache.get("x"));
         Thread.sleep(1000);
-        ICacheElement<String, byte[]> afterElement = diskCache.get("x");
+        final ICacheElement<String, byte[]> afterElement = diskCache.get("x");
         assertNotNull(afterElement);
         // System.out.println( "afterElement = " + afterElement );
-        byte[] after = afterElement.getVal();
+        final byte[] after = afterElement.getVal();
 
         assertNotNull(after);
         assertEquals("wrong bytes after retrieval", string, new String(after, StandardCharsets.UTF_8));
@@ -805,24 +805,24 @@
     public void testProcessUpdate_Simple() throws IOException
     {
         // SETUP
-        String cacheName = "testProcessUpdate_Simple";
-        IndexedDiskCacheAttributes cattr = getCacheAttributes();
+        final String cacheName = "testProcessUpdate_Simple";
+        final IndexedDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName(cacheName);
         cattr.setMaxKeySize(100);
         cattr.setDiskPath("target/test-sandbox/IndexDiskCacheUnitTest");
-        IndexedDiskCache<String, String> diskCache = new IndexedDiskCache<>(cattr);
+        final IndexedDiskCache<String, String> diskCache = new IndexedDiskCache<>(cattr);
 
-        String key = "myKey";
-        String value = "myValue";
-        ICacheElement<String, String> ce = new CacheElement<>(cacheName, key, value);
+        final String key = "myKey";
+        final String value = "myValue";
+        final ICacheElement<String, String> ce = new CacheElement<>(cacheName, key, value);
 
         // DO WORK
         diskCache.processUpdate(ce);
-        ICacheElement<String, String> result = diskCache.processGet(key);
+        final ICacheElement<String, String> result = diskCache.processGet(key);
 
         // VERIFY
         assertNotNull("Should have a result", result);
-        long fileSize = diskCache.getDataFileSize();
+        final long fileSize = diskCache.getDataFileSize();
         assertTrue("File should be greater than 0", fileSize > 0);
     }
 
@@ -835,31 +835,31 @@
     public void testProcessUpdate_SameKeySameSize() throws IOException
     {
         // SETUP
-        String cacheName = "testProcessUpdate_SameKeySameSize";
-        IndexedDiskCacheAttributes cattr = getCacheAttributes();
+        final String cacheName = "testProcessUpdate_SameKeySameSize";
+        final IndexedDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName(cacheName);
         cattr.setMaxKeySize(100);
         cattr.setDiskPath("target/test-sandbox/IndexDiskCacheUnitTest");
-        IndexedDiskCache<String, String> diskCache = new IndexedDiskCache<>(cattr);
+        final IndexedDiskCache<String, String> diskCache = new IndexedDiskCache<>(cattr);
 
-        String key = "myKey";
-        String value = "myValue";
-        ICacheElement<String, String> ce1 = new CacheElement<>(cacheName, key, value);
+        final String key = "myKey";
+        final String value = "myValue";
+        final ICacheElement<String, String> ce1 = new CacheElement<>(cacheName, key, value);
 
         // DO WORK
         diskCache.processUpdate(ce1);
-        long fileSize1 = diskCache.getDataFileSize();
+        final long fileSize1 = diskCache.getDataFileSize();
 
         // DO WORK
-        ICacheElement<String, String> ce2 = new CacheElement<>(cacheName, key, value);
+        final ICacheElement<String, String> ce2 = new CacheElement<>(cacheName, key, value);
         diskCache.processUpdate(ce2);
-        ICacheElement<String, String> result = diskCache.processGet(key);
+        final ICacheElement<String, String> result = diskCache.processGet(key);
 
         // VERIFY
         assertNotNull("Should have a result", result);
-        long fileSize2 = diskCache.getDataFileSize();
+        final long fileSize2 = diskCache.getDataFileSize();
         assertEquals("File should be the same", fileSize1, fileSize2);
-        int binSize = diskCache.getRecyleBinSize();
+        final int binSize = diskCache.getRecyleBinSize();
         assertEquals("Should be nothing in the bin.", 0, binSize);
     }
 
@@ -872,32 +872,32 @@
     public void testProcessUpdate_SameKeySmallerSize() throws IOException
     {
         // SETUP
-        String cacheName = "testProcessUpdate_SameKeySmallerSize";
-        IndexedDiskCacheAttributes cattr = getCacheAttributes();
+        final String cacheName = "testProcessUpdate_SameKeySmallerSize";
+        final IndexedDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName(cacheName);
         cattr.setMaxKeySize(100);
         cattr.setDiskPath("target/test-sandbox/IndexDiskCacheUnitTest");
-        IndexedDiskCache<String, String> diskCache = new IndexedDiskCache<>(cattr);
+        final IndexedDiskCache<String, String> diskCache = new IndexedDiskCache<>(cattr);
 
-        String key = "myKey";
-        String value = "myValue";
-        String value2 = "myValu";
-        ICacheElement<String, String> ce1 = new CacheElement<>(cacheName, key, value);
+        final String key = "myKey";
+        final String value = "myValue";
+        final String value2 = "myValu";
+        final ICacheElement<String, String> ce1 = new CacheElement<>(cacheName, key, value);
 
         // DO WORK
         diskCache.processUpdate(ce1);
-        long fileSize1 = diskCache.getDataFileSize();
+        final long fileSize1 = diskCache.getDataFileSize();
 
         // DO WORK
-        ICacheElement<String, String> ce2 = new CacheElement<>(cacheName, key, value2);
+        final ICacheElement<String, String> ce2 = new CacheElement<>(cacheName, key, value2);
         diskCache.processUpdate(ce2);
-        ICacheElement<String, String> result = diskCache.processGet(key);
+        final ICacheElement<String, String> result = diskCache.processGet(key);
 
         // VERIFY
         assertNotNull("Should have a result", result);
-        long fileSize2 = diskCache.getDataFileSize();
+        final long fileSize2 = diskCache.getDataFileSize();
         assertEquals("File should be the same", fileSize1, fileSize2);
-        int binSize = diskCache.getRecyleBinSize();
+        final int binSize = diskCache.getRecyleBinSize();
         assertEquals("Should be nothing in the bin.", 0, binSize);
     }
 
@@ -910,32 +910,32 @@
     public void testProcessUpdate_SameKeyBiggerSize() throws IOException
     {
         // SETUP
-        String cacheName = "testProcessUpdate_SameKeyBiggerSize";
-        IndexedDiskCacheAttributes cattr = getCacheAttributes();
+        final String cacheName = "testProcessUpdate_SameKeyBiggerSize";
+        final IndexedDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName(cacheName);
         cattr.setMaxKeySize(100);
         cattr.setDiskPath("target/test-sandbox/IndexDiskCacheUnitTest");
-        IndexedDiskCache<String, String> diskCache = new IndexedDiskCache<>(cattr);
+        final IndexedDiskCache<String, String> diskCache = new IndexedDiskCache<>(cattr);
 
-        String key = "myKey";
-        String value = "myValue";
-        String value2 = "myValue2";
-        ICacheElement<String, String> ce1 = new CacheElement<>(cacheName, key, value);
+        final String key = "myKey";
+        final String value = "myValue";
+        final String value2 = "myValue2";
+        final ICacheElement<String, String> ce1 = new CacheElement<>(cacheName, key, value);
 
         // DO WORK
         diskCache.processUpdate(ce1);
-        long fileSize1 = diskCache.getDataFileSize();
+        final long fileSize1 = diskCache.getDataFileSize();
 
         // DO WORK
-        ICacheElement<String, String> ce2 = new CacheElement<>(cacheName, key, value2);
+        final ICacheElement<String, String> ce2 = new CacheElement<>(cacheName, key, value2);
         diskCache.processUpdate(ce2);
-        ICacheElement<String, String> result = diskCache.processGet(key);
+        final ICacheElement<String, String> result = diskCache.processGet(key);
 
         // VERIFY
         assertNotNull("Should have a result", result);
-        long fileSize2 = diskCache.getDataFileSize();
+        final long fileSize2 = diskCache.getDataFileSize();
         assertTrue("File should be greater.", fileSize1 < fileSize2);
-        int binSize = diskCache.getRecyleBinSize();
+        final int binSize = diskCache.getRecyleBinSize();
         assertEquals("Should be one in the bin.", 1, binSize);
     }
 
@@ -951,7 +951,7 @@
     {
         // initialize object to be stored
         String string = "IÒtÎrn‚tiÙn‡lizÊti¯n";
-        StringBuilder sb = new StringBuilder();
+        final StringBuilder sb = new StringBuilder();
         sb.append(string);
         for (int i = 0; i < 4; i++)
         {
@@ -960,8 +960,8 @@
         string = sb.toString();
 
         // initialize cache
-        String cacheName = "testLoadFromDisk";
-        IndexedDiskCacheAttributes cattr = getCacheAttributes();
+        final String cacheName = "testLoadFromDisk";
+        final IndexedDiskCacheAttributes cattr = getCacheAttributes();
         cattr.setCacheName(cacheName);
         cattr.setMaxKeySize(100);
         cattr.setDiskPath("target/test-sandbox/BlockDiskCacheUnitTest");
@@ -981,7 +981,7 @@
 
         for (int i = 0; i < 50; i++)
         {
-            ICacheElement<String, String> afterElement = diskCache.get("x" + i);
+            final ICacheElement<String, String> afterElement = diskCache.get("x" + i);
             assertNotNull("Missing element from cache. Cache size: " + diskCache.getSize() + " element: x" + i, afterElement);
             assertEquals("wrong string after retrieval", string, afterElement.getVal());
         }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheConcurrentNoDeadLockUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheConcurrentNoDeadLockUnitTest.java
index 8fce991..7c2caab 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheConcurrentNoDeadLockUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheConcurrentNoDeadLockUnitTest.java
@@ -42,7 +42,7 @@
      *
      * @param testName
      */
-    public IndexedDiskCacheConcurrentNoDeadLockUnitTest( String testName )
+    public IndexedDiskCacheConcurrentNoDeadLockUnitTest( final String testName )
     {
         super( testName );
     }
@@ -52,9 +52,9 @@
      *
      * @param args
      */
-    public static void main( String args[] )
+    public static void main( final String args[] )
     {
-        String[] testCaseName = { IndexedDiskCacheConcurrentNoDeadLockUnitTest.class.getName() };
+        final String[] testCaseName = { IndexedDiskCacheConcurrentNoDeadLockUnitTest.class.getName() };
         TestRunner.main( testCaseName );
     }
 
@@ -65,7 +65,7 @@
      */
     public static Test suite()
     {
-        ActiveTestSuite suite = new ActiveTestSuite();
+        final ActiveTestSuite suite = new ActiveTestSuite();
 
         suite.addTest( new IndexedDiskCacheRandomConcurrentTestUtil( "testIndexedDiskCache1" )
         {
@@ -137,10 +137,10 @@
     {
         try
         {
-            CompositeCacheManager cacheMgr = CompositeCacheManager.getInstance();
+            final CompositeCacheManager cacheMgr = CompositeCacheManager.getInstance();
             cacheMgr.shutDown();
         }
-        catch ( Exception e )
+        catch ( final Exception e )
         {
             // log.error(e);
         }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheConcurrentUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheConcurrentUnitTest.java
index c0efe32..18016cd 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheConcurrentUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheConcurrentUnitTest.java
@@ -51,7 +51,7 @@
      *
      * @param testName
      */
-    public IndexedDiskCacheConcurrentUnitTest( String testName )
+    public IndexedDiskCacheConcurrentUnitTest( final String testName )
     {
         super( testName );
     }
@@ -61,9 +61,9 @@
      *
      * @param args
      */
-    public static void main( String args[] )
+    public static void main( final String args[] )
     {
-        String[] testCaseName = { IndexedDiskCacheConcurrentUnitTest.class.getName() };
+        final String[] testCaseName = { IndexedDiskCacheConcurrentUnitTest.class.getName() };
         junit.textui.TestRunner.main( testCaseName );
     }
 
@@ -74,7 +74,7 @@
      */
     public static Test suite()
     {
-        ActiveTestSuite suite = new ActiveTestSuite();
+        final ActiveTestSuite suite = new ActiveTestSuite();
 
         suite.addTest( new IndexedDiskCacheConcurrentUnitTest( "testIndexedDiskCache1" )
         {
@@ -138,10 +138,10 @@
      * @throws Exception
      *                If an error occurs
      */
-    public void runTestForRegion( String region )
+    public void runTestForRegion( final String region )
         throws Exception
     {
-        CacheAccess<String, String> jcs = JCS.getInstance( region );
+        final CacheAccess<String, String> jcs = JCS.getInstance( region );
 
         // Add items to cache
         for ( int i = 0; i <= items; i++ )
@@ -152,22 +152,22 @@
         // Test that all items are in cache
         for ( int i = 0; i <= items; i++ )
         {
-            String value = jcs.get( i + ":key" );
+            final String value = jcs.get( i + ":key" );
 
             assertEquals( region + " data " + i, value );
         }
 
         // Test that getElements returns all the expected values
-        Set<String> keys = new HashSet<>();
+        final Set<String> keys = new HashSet<>();
         for ( int i = 0; i <= items; i++ )
         {
             keys.add( i + ":key" );
         }
 
-        Map<String, ICacheElement<String, String>> elements = jcs.getCacheElements( keys );
+        final Map<String, ICacheElement<String, String>> elements = jcs.getCacheElements( keys );
         for ( int i = 0; i <= items; i++ )
         {
-            ICacheElement<String, String> element = elements.get( i + ":key" );
+            final ICacheElement<String, String> element = elements.get( i + ":key" );
             assertNotNull( "element " + i + ":key is missing", element );
             assertEquals( "value " + i + ":key", region + " data " + i, element.getVal() );
         }
@@ -199,10 +199,10 @@
      * @throws Exception
      *                If an error occurs
      */
-    public void runTestForRegionInRange( String region, int start, int end )
+    public void runTestForRegionInRange( final String region, final int start, final int end )
         throws Exception
     {
-        CacheAccess<String, String> jcs = JCS.getInstance( region );
+        final CacheAccess<String, String> jcs = JCS.getInstance( region );
 
         // Add items to cache
         for ( int i = start; i <= end; i++ )
@@ -213,22 +213,22 @@
         // Test that all items are in cache
         for ( int i = start; i <= end; i++ )
         {
-            String value = jcs.get( i + ":key" );
+            final String value = jcs.get( i + ":key" );
 
             assertEquals( region + " data " + i, value );
         }
 
         // Test that getElements returns all the expected values
-        Set<String> keys = new HashSet<>();
+        final Set<String> keys = new HashSet<>();
         for ( int i = start; i <= end; i++ )
         {
             keys.add( i + ":key" );
         }
 
-        Map<String, ICacheElement<String, String>> elements = jcs.getCacheElements( keys );
+        final Map<String, ICacheElement<String, String>> elements = jcs.getCacheElements( keys );
         for ( int i = start; i <= end; i++ )
         {
-            ICacheElement<String, String> element = elements.get( i + ":key" );
+            final ICacheElement<String, String> element = elements.get( i + ":key" );
             assertNotNull( "element " + i + ":key is missing", element );
             assertEquals( "value " + i + ":key", region + " data " + i, element.getVal() );
         }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheDefragPerformanceTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheDefragPerformanceTest.java
index d64f88f..6e540c1 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheDefragPerformanceTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheDefragPerformanceTest.java
@@ -75,15 +75,15 @@
         throws Exception
     {
         JCS.setConfigFilename( "/TestDiskCacheDefragPerformance.ccf" );
-        CacheAccess<Integer, Tile> jcs = JCS.getInstance( "defrag" );
+        final CacheAccess<Integer, Tile> jcs = JCS.getInstance( "defrag" );
 
         Tile tile;
         System.out.println( "Cache Defrag Test" );
 
-        Random random = new Random( 89 );
+        final Random random = new Random( 89 );
         for ( int i = 0; i < TOTAL_ELEMENTS; i++ )
         {
-            int bytes = random.nextInt( 20 );
+            final int bytes = random.nextInt( 20 );
             // 4-24 KB
             tile = new Tile( Integer.valueOf( i ), new byte[( bytes + 4 ) * 1024] );
             // images
@@ -124,10 +124,10 @@
      */
     private static void logMemoryUsage()
     {
-        long byte2MB = 1024 * 1024;
-        long total = rt.totalMemory() / byte2MB;
-        long free = rt.freeMemory() / byte2MB;
-        long used = total - free;
+        final long byte2MB = 1024 * 1024;
+        final long total = rt.totalMemory() / byte2MB;
+        final long free = rt.freeMemory() / byte2MB;
+        final long used = total - free;
         System.out.println( LOG_DIVIDER );
         System.out.println( "Memory:" + " Used:" + format.format( used ) + "MB" + " Free:" + format.format( free )
             + "MB" + " Total:" + format.format( total ) + "MB" );
@@ -156,7 +156,7 @@
          * @param id
          * @param imageBytes
          */
-        public Tile( Integer id, byte[] imageBytes )
+        public Tile( final Integer id, final byte[] imageBytes )
         {
             this.id = id;
             this.imageBytes = imageBytes;
@@ -166,14 +166,14 @@
     /**
      * @param args
      */
-    public static void main( String args[] )
+    public static void main( final String args[] )
     {
         try
         {
-            IndexedDiskCacheDefragPerformanceTest tester = new IndexedDiskCacheDefragPerformanceTest();
+            final IndexedDiskCacheDefragPerformanceTest tester = new IndexedDiskCacheDefragPerformanceTest();
             tester.testRealTimeOptimization();
         }
-        catch ( Exception e )
+        catch ( final Exception e )
         {
             e.printStackTrace();
         }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheKeyStoreUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheKeyStoreUnitTest.java
index 7abaab5..db73cbb 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheKeyStoreUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheKeyStoreUnitTest.java
@@ -46,27 +46,27 @@
     public void testStoreKeys()
         throws Exception
     {
-        IndexedDiskCacheAttributes cattr = new IndexedDiskCacheAttributes();
+        final IndexedDiskCacheAttributes cattr = new IndexedDiskCacheAttributes();
         cattr.setCacheName( "testStoreKeys" );
         cattr.setMaxKeySize( 100 );
         cattr.setDiskPath( "target/test-sandbox/KeyStoreUnitTest" );
-        IndexedDiskCache<String, String> disk = new IndexedDiskCache<>( cattr );
+        final IndexedDiskCache<String, String> disk = new IndexedDiskCache<>( cattr );
 
         disk.processRemoveAll();
 
-        int cnt = 25;
+        final int cnt = 25;
         for ( int i = 0; i < cnt; i++ )
         {
-            IElementAttributes eAttr = new ElementAttributes();
+            final IElementAttributes eAttr = new ElementAttributes();
             eAttr.setIsSpool( true );
-            ICacheElement<String, String> element = new CacheElement<>( cattr.getCacheName(), "key:" + i, "data:" + i );
+            final ICacheElement<String, String> element = new CacheElement<>( cattr.getCacheName(), "key:" + i, "data:" + i );
             element.setElementAttributes( eAttr );
             disk.processUpdate( element );
         }
 
         for ( int i = 0; i < cnt; i++ )
         {
-            ICacheElement<String, String> element = disk.processGet( "key:" + i );
+            final ICacheElement<String, String> element = disk.processGet( "key:" + i );
             assertNotNull( "presave, Should have received an element.", element );
             assertEquals( "presave, element is wrong.", "data:" + i, element.getVal() );
         }
@@ -79,7 +79,7 @@
 
         for ( int i = 0; i < cnt; i++ )
         {
-            ICacheElement<String, String> element = disk.processGet( "key:" + i );
+            final ICacheElement<String, String> element = disk.processGet( "key:" + i );
             assertNotNull( "postsave, Should have received an element.", element );
             assertEquals( "postsave, element is wrong.", "data:" + i, element.getVal() );
         }
@@ -100,49 +100,49 @@
     public void testOptiimize()
         throws Exception
     {
-        IndexedDiskCacheAttributes cattr = new IndexedDiskCacheAttributes();
+        final IndexedDiskCacheAttributes cattr = new IndexedDiskCacheAttributes();
         cattr.setCacheName( "testOptimize" );
         cattr.setMaxKeySize( 100 );
         cattr.setDiskPath( "target/test-sandbox/KeyStoreUnitTest" );
-        IndexedDiskCache<String, String> disk = new IndexedDiskCache<>( cattr );
+        final IndexedDiskCache<String, String> disk = new IndexedDiskCache<>( cattr );
 
         disk.processRemoveAll();
 
-        int cnt = 25;
+        final int cnt = 25;
         for ( int i = 0; i < cnt; i++ )
         {
-            IElementAttributes eAttr = new ElementAttributes();
+            final IElementAttributes eAttr = new ElementAttributes();
             eAttr.setIsSpool( true );
-            ICacheElement<String, String> element = new CacheElement<>( cattr.getCacheName(), "key:" + i, "data:" + i );
+            final ICacheElement<String, String> element = new CacheElement<>( cattr.getCacheName(), "key:" + i, "data:" + i );
             element.setElementAttributes( eAttr );
             disk.processUpdate( element );
         }
 
-        long preAddRemoveSize = disk.getDataFileSize();
+        final long preAddRemoveSize = disk.getDataFileSize();
 
-        IElementAttributes eAttr = new ElementAttributes();
+        final IElementAttributes eAttr = new ElementAttributes();
         eAttr.setIsSpool( true );
-        ICacheElement<String, String> elementSetup = new CacheElement<>( cattr.getCacheName(), "key:" + "A", "data:" + "A" );
+        final ICacheElement<String, String> elementSetup = new CacheElement<>( cattr.getCacheName(), "key:" + "A", "data:" + "A" );
         elementSetup.setElementAttributes( eAttr );
         disk.processUpdate( elementSetup );
 
-        ICacheElement<String, String> elementRet = disk.processGet( "key:" + "A" );
+        final ICacheElement<String, String> elementRet = disk.processGet( "key:" + "A" );
         assertNotNull( "postsave, Should have received an element.", elementRet );
         assertEquals( "postsave, element is wrong.", "data:" + "A", elementRet.getVal() );
 
         disk.remove( "key:" + "A" );
 
-        long preSize = disk.getDataFileSize();
+        final long preSize = disk.getDataFileSize();
         // synchronous versoin
         disk.optimizeFile(); //deoptimizeRealTime();
-        long postSize = disk.getDataFileSize();
+        final long postSize = disk.getDataFileSize();
 
         assertTrue( "Should be smaller. postsize="+postSize+" preSize="+preSize, postSize < preSize );
         assertEquals( "Should be the same size after optimization as before add and remove.", preAddRemoveSize, postSize );
 
         for ( int i = 0; i < cnt; i++ )
         {
-            ICacheElement<String, String> element = disk.processGet( "key:" + i );
+            final ICacheElement<String, String> element = disk.processGet( "key:" + i );
             assertNotNull( "postsave, Should have received an element.", element );
             assertEquals( "postsave, element is wrong.", "data:" + i, element.getVal() );
         }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheNoMemoryUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheNoMemoryUnitTest.java
index ed63a59..709c3e2 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheNoMemoryUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheNoMemoryUnitTest.java
@@ -48,7 +48,7 @@
     /**
      * @param testName
      */
-    public IndexedDiskCacheNoMemoryUnitTest( String testName )
+    public IndexedDiskCacheNoMemoryUnitTest( final String testName )
     {
         super( testName );
     }
@@ -58,9 +58,9 @@
      * <p>
      * @param args
      */
-    public static void main( String args[] )
+    public static void main( final String args[] )
     {
-        String[] testCaseName = { IndexedDiskCacheNoMemoryUnitTest.class.getName() };
+        final String[] testCaseName = { IndexedDiskCacheNoMemoryUnitTest.class.getName() };
         junit.textui.TestRunner.main( testCaseName );
     }
 
@@ -71,7 +71,7 @@
      */
     public static Test suite()
     {
-        ActiveTestSuite suite = new ActiveTestSuite();
+        final ActiveTestSuite suite = new ActiveTestSuite();
 
         suite.addTest( new IndexedDiskCacheNoMemoryUnitTest( "testIndexedDiskCache1" )
         {
@@ -125,10 +125,10 @@
      * @throws Exception
      *                If an error occurs
      */
-    public void runTestForRegion( String region )
+    public void runTestForRegion( final String region )
         throws Exception
     {
-        CacheAccess<String, String> jcs = JCS.getInstance( region );
+        final CacheAccess<String, String> jcs = JCS.getInstance( region );
 
         // Add items to cache
 
@@ -141,22 +141,22 @@
 
         for ( int i = 0; i <= items; i++ )
         {
-            String value = jcs.get( i + ":key" );
+            final String value = jcs.get( i + ":key" );
 
             assertEquals( region + " data " + i, value );
         }
 
         // Test that getElements returns all the expected values
-        Set<String> keys = new HashSet<>();
+        final Set<String> keys = new HashSet<>();
         for ( int i = 0; i <= items; i++ )
         {
             keys.add( i + ":key" );
         }
 
-        Map<String, ICacheElement<String, String>> elements = jcs.getCacheElements( keys );
+        final Map<String, ICacheElement<String, String>> elements = jcs.getCacheElements( keys );
         for ( int i = 0; i <= items; i++ )
         {
-            ICacheElement<String, String> element = elements.get( i + ":key" );
+            final ICacheElement<String, String> element = elements.get( i + ":key" );
             assertNotNull( "element " + i + ":key is missing", element );
             assertEquals( "value " + i + ":key", region + " data " + i, element.getVal() );
         }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheOptimizationUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheOptimizationUnitTest.java
index 2e07116..6da2b51 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheOptimizationUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheOptimizationUnitTest.java
@@ -42,19 +42,19 @@
         throws Exception
     {
         // SETUP
-        int removeCount = 50;
+        final int removeCount = 50;
 
-        IndexedDiskCacheAttributes cattr = new IndexedDiskCacheAttributes();
+        final IndexedDiskCacheAttributes cattr = new IndexedDiskCacheAttributes();
         cattr.setCacheName( "testOptimization" );
         cattr.setMaxKeySize( removeCount * 2 );
         cattr.setOptimizeAtRemoveCount( removeCount );
         cattr.setDiskPath( "target/test-sandbox/testOptimization" );
-        IndexedDiskCache<Integer, DiskTestObject> disk = new IndexedDiskCache<>( cattr );
+        final IndexedDiskCache<Integer, DiskTestObject> disk = new IndexedDiskCache<>( cattr );
 
         disk.removeAll();
 
-        int numberToInsert = removeCount * 3;
-        ICacheElement<Integer, DiskTestObject>[] elements = DiskTestObjectUtil
+        final int numberToInsert = removeCount * 3;
+        final ICacheElement<Integer, DiskTestObject>[] elements = DiskTestObjectUtil
             .createCacheElementsWithTestObjectsOfVariableSizes( numberToInsert, cattr.getCacheName() );
 
         for ( int i = 0; i < elements.length; i++ )
@@ -64,7 +64,7 @@
 
 
         Thread.sleep( 1000 );
-        long sizeBeforeRemove = disk.getDataFileSize();
+        final long sizeBeforeRemove = disk.getDataFileSize();
         // System.out.println( "file sizeBeforeRemove " + sizeBeforeRemove );
         // System.out.println( "totalSize inserted " + DiskTestObjectUtil.totalSize( elements, numberToInsert ) );
 
@@ -78,8 +78,8 @@
 
         disk.optimizeFile();
         // VERIFY
-        long sizeAfterRemove = disk.getDataFileSize();
-        long expectedSizeAfterRemove = DiskTestObjectUtil.totalSize( elements, removeCount, elements.length );
+        final long sizeAfterRemove = disk.getDataFileSize();
+        final long expectedSizeAfterRemove = DiskTestObjectUtil.totalSize( elements, removeCount, elements.length );
 
         // test is prone to failure for timing reasons.
         if ( expectedSizeAfterRemove != sizeAfterRemove )
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheRandomConcurrentTestUtil.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheRandomConcurrentTestUtil.java
index a557892..6556352 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheRandomConcurrentTestUtil.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheRandomConcurrentTestUtil.java
@@ -37,7 +37,7 @@
      *
      * @param testName
      */
-    public IndexedDiskCacheRandomConcurrentTestUtil( String testName )
+    public IndexedDiskCacheRandomConcurrentTestUtil( final String testName )
     {
         super( testName );
     }
@@ -56,21 +56,21 @@
      * @throws Exception
      *                If an error occurs
      */
-    public void runTestForRegion( String region, int range, int numOps, int testNum )
+    public void runTestForRegion( final String region, final int range, final int numOps, final int testNum )
         throws Exception
     {
         // run a rondom operation test to detect deadlocks
-        TestCacheAccess tca = new TestCacheAccess( "/TestDiskCacheCon.ccf" );
+        final TestCacheAccess tca = new TestCacheAccess( "/TestDiskCacheCon.ccf" );
         tca.setRegion( region );
         tca.random( range, numOps );
 
         // make sure a simple put then get works
         // this may fail if the other tests are flooding the disk cache
-        CacheAccess<String, String> jcs = JCS.getInstance( region );
-        String key = "testKey" + testNum;
-        String data = "testData" + testNum;
+        final CacheAccess<String, String> jcs = JCS.getInstance( region );
+        final String key = "testKey" + testNum;
+        final String data = "testData" + testNum;
         jcs.put( key, data );
-        String value = jcs.get( key );
+        final String value = jcs.get( key );
         assertEquals( data, value );
 
     }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheSameRegionConcurrentUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheSameRegionConcurrentUnitTest.java
index 21fd45a..8ef1887 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheSameRegionConcurrentUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheSameRegionConcurrentUnitTest.java
@@ -43,7 +43,7 @@
      *
      * @param testName
      */
-    public IndexedDiskCacheSameRegionConcurrentUnitTest( String testName )
+    public IndexedDiskCacheSameRegionConcurrentUnitTest( final String testName )
     {
         super( testName );
     }
@@ -53,9 +53,9 @@
      *
      * @param args
      */
-    public static void main( String args[] )
+    public static void main( final String args[] )
     {
-        String[] testCaseName = { IndexedDiskCacheSameRegionConcurrentUnitTest.class.getName() };
+        final String[] testCaseName = { IndexedDiskCacheSameRegionConcurrentUnitTest.class.getName() };
         junit.textui.TestRunner.main( testCaseName );
     }
 
@@ -66,7 +66,7 @@
      */
     public static Test suite()
     {
-        ActiveTestSuite suite = new ActiveTestSuite();
+        final ActiveTestSuite suite = new ActiveTestSuite();
 
         suite.addTest( new IndexedDiskCacheSameRegionConcurrentUnitTest( "testIndexedDiskCache1" )
         {
@@ -160,10 +160,10 @@
      * @throws Exception
      *                If an error occurs
      */
-    public void runTestForRegion( String region, int start, int end )
+    public void runTestForRegion( final String region, final int start, final int end )
         throws Exception
     {
-        CacheAccess<String, String> jcs = JCS.getInstance( region );
+        final CacheAccess<String, String> jcs = JCS.getInstance( region );
 
         // Add items to cache
 
@@ -176,23 +176,23 @@
 
         for ( int i = start; i <= end; i++ )
         {
-            String key = i + ":key";
-            String value = jcs.get( key );
+            final String key = i + ":key";
+            final String value = jcs.get( key );
 
             assertEquals( "Wrong value for key [" + key + "]", region + " data " + i, value );
         }
 
         // Test that getElements returns all the expected values
-        Set<String> keys = new HashSet<>();
+        final Set<String> keys = new HashSet<>();
         for ( int i = start; i <= end; i++ )
         {
             keys.add( i + ":key" );
         }
 
-        Map<String, ICacheElement<String, String>> elements = jcs.getCacheElements( keys );
+        final Map<String, ICacheElement<String, String>> elements = jcs.getCacheElements( keys );
         for ( int i = start; i <= end; i++ )
         {
-            ICacheElement<String, String> element = elements.get( i + ":key" );
+            final ICacheElement<String, String> element = elements.get( i + ":key" );
             assertNotNull( "element " + i + ":key is missing", element );
             assertEquals( "value " + i + ":key", region + " data " + i, element.getVal() );
         }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheSteadyLoadTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheSteadyLoadTest.java
index ad700ac..292e510 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheSteadyLoadTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/IndexedDiskCacheSteadyLoadTest.java
@@ -61,16 +61,16 @@
 
         logMemoryUsage();
 
-        int numPerRun = 200;
-        long pauseBetweenRuns = 1000;
+        final int numPerRun = 200;
+        final long pauseBetweenRuns = 1000;
         int runCount = 0;
-        int runs = 1000;
-        int upperKB = 50;
+        final int runs = 1000;
+        final int upperKB = 50;
 
-        CacheAccess<String, DiskTestObject> jcs = JCS.getInstance( ( numPerRun / 2 ) + "aSecond" );
+        final CacheAccess<String, DiskTestObject> jcs = JCS.getInstance( ( numPerRun / 2 ) + "aSecond" );
 
-        ElapsedTimer timer = new ElapsedTimer();
-        int numToGet = numPerRun * ( runs / 10 );
+        final ElapsedTimer timer = new ElapsedTimer();
+        final int numToGet = numPerRun * ( runs / 10 );
         for ( int i = 0; i < numToGet; i++ )
         {
             jcs.get( String.valueOf( i ) );
@@ -88,18 +88,18 @@
         long totalSize = 0;
         int totalPut = 0;
 
-        Random random = new Random( 89 );
+        final Random random = new Random( 89 );
         while ( runCount < runs )
         {
             runCount++;
             for ( int i = 0; i < numPerRun; i++ )
             {
                 // 1/2 upper to upperKB-4 KB
-                int kiloBytes = Math.max( upperKB / 2, random.nextInt( upperKB ) );
-                int bytes = ( kiloBytes ) * 1024;
+                final int kiloBytes = Math.max( upperKB / 2, random.nextInt( upperKB ) );
+                final int bytes = ( kiloBytes ) * 1024;
                 totalSize += bytes;
                 totalPut++;
-                DiskTestObject object = new DiskTestObject( Integer.valueOf( i ), new byte[bytes] );
+                final DiskTestObject object = new DiskTestObject( Integer.valueOf( i ), new byte[bytes] );
                 jcs.put( String.valueOf( totalPut ), object );
             }
 
@@ -143,10 +143,10 @@
      */
     private static void logMemoryUsage()
     {
-        long byte2MB = 1024 * 1024;
-        long total = rt.totalMemory() / byte2MB;
-        long free = rt.freeMemory() / byte2MB;
-        long used = total - free;
+        final long byte2MB = 1024 * 1024;
+        final long total = rt.totalMemory() / byte2MB;
+        final long free = rt.freeMemory() / byte2MB;
+        final long used = total - free;
         System.out.println( LOG_DIVIDER );
         System.out.println( "Memory:" + " Used:" + format.format( used ) + "MB" + " Free:" + format.format( free )
             + "MB" + " Total:" + format.format( total ) + "MB" );
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/LRUMapSizeVsCount.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/LRUMapSizeVsCount.java
index 3a742a6..9b84e29 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/LRUMapSizeVsCount.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/indexed/LRUMapSizeVsCount.java
@@ -56,7 +56,7 @@
     /**
      * @param testName
      */
-    public LRUMapSizeVsCount( String testName )
+    public LRUMapSizeVsCount( final String testName )
     {
         super( testName );
     }
@@ -110,14 +110,14 @@
 
         try
         {
-        	IndexedDiskCacheAttributes cattr = new IndexedDiskCacheAttributes();
+        	final IndexedDiskCacheAttributes cattr = new IndexedDiskCacheAttributes();
         	cattr.setName("junit");
         	cattr.setCacheName("junit");
         	cattr.setDiskPath(".");
-        	IndexedDiskCache<String, String> idc = new IndexedDiskCache<>(cattr);
+        	final IndexedDiskCache<String, String> idc = new IndexedDiskCache<>(cattr);
 
-			Map<String, IndexedDiskElementDescriptor> cacheCount = idc.new LRUMapCountLimited( tries );
-			Map<String, IndexedDiskElementDescriptor> cacheSize = idc.new LRUMapSizeLimited( tries/1024/2 );
+			final Map<String, IndexedDiskElementDescriptor> cacheCount = idc.new LRUMapCountLimited( tries );
+			final Map<String, IndexedDiskElementDescriptor> cacheSize = idc.new LRUMapSizeLimited( tries/1024/2 );
 
             for ( int j = 0; j < loops; j++ )
             {
@@ -180,16 +180,16 @@
                 System.out.println( "\n" );
             }
         }
-        catch ( Exception e )
+        catch ( final Exception e )
         {
             e.printStackTrace( System.out );
             System.out.println( e );
         }
 
-        long putAvCount = putTotalCount / loops;
-        long getAvCount = getTotalCount / loops;
-        long putAvSize = putTotalSize / loops;
-        long getAvSize = getTotalSize / loops;
+        final long putAvCount = putTotalCount / loops;
+        final long getAvCount = getTotalCount / loops;
+        final long putAvSize = putTotalSize / loops;
+        final long getAvSize = getTotalSize / loops;
 
         System.out.println( "Finished " + loops + " loops of " + tries + " gets and puts" );
 
@@ -227,9 +227,9 @@
     /**
      * @param args
      */
-    public static void main( String args[] )
+    public static void main( final String args[] )
     {
-    	LRUMapSizeVsCount test = new LRUMapSizeVsCount( "command" );
+    	final LRUMapSizeVsCount test = new LRUMapSizeVsCount( "command" );
         test.doWork();
     }
 
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/HsqlSetupTableUtil.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/HsqlSetupTableUtil.java
index 7246109..400e35c 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/HsqlSetupTableUtil.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/HsqlSetupTableUtil.java
@@ -35,9 +35,9 @@
      *
      * @throws SQLException if database problems occur
      */
-    public static void setupTABLE( Connection cConn, String tableName ) throws SQLException
+    public static void setupTABLE( final Connection cConn, final String tableName ) throws SQLException
     {
-        HsqlSetupTableUtil util = new HsqlSetupTableUtil();
+        final HsqlSetupTableUtil util = new HsqlSetupTableUtil();
         util.setupTable(cConn, tableName);
     }
 }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/JDBCDataSourceFactoryUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/JDBCDataSourceFactoryUnitTest.java
index 37d6280..4564665 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/JDBCDataSourceFactoryUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/JDBCDataSourceFactoryUnitTest.java
@@ -48,16 +48,16 @@
     public void testConfigureDataSourceFactory_Simple() throws SQLException
     {
         // SETUP
-        String poolName = "testConfigurePoolAccessAttributes_Simple";
+        final String poolName = "testConfigurePoolAccessAttributes_Simple";
 
-        String url = "adfads";
-        String userName = "zvzvz";
-        String password = "qewrrewq";
-        int maxActive = 10;
-        String driverClassName = "org.hsqldb.jdbcDriver";
+        final String url = "adfads";
+        final String userName = "zvzvz";
+        final String password = "qewrrewq";
+        final int maxActive = 10;
+        final String driverClassName = "org.hsqldb.jdbcDriver";
 
-        Properties props = new Properties();
-        String prefix = JDBCDiskCacheFactory.POOL_CONFIGURATION_PREFIX
+        final Properties props = new Properties();
+        final String prefix = JDBCDiskCacheFactory.POOL_CONFIGURATION_PREFIX
     		+ poolName
             + JDBCDiskCacheFactory.ATTRIBUTE_PREFIX;
         props.put( prefix + ".url", url );
@@ -66,17 +66,17 @@
         props.put( prefix + ".maxActive", String.valueOf( maxActive ) );
         props.put( prefix + ".driverClassName", driverClassName );
 
-        JDBCDiskCacheFactory factory = new JDBCDiskCacheFactory();
+        final JDBCDiskCacheFactory factory = new JDBCDiskCacheFactory();
         factory.initialize();
 
-        JDBCDiskCacheAttributes cattr = new JDBCDiskCacheAttributes();
+        final JDBCDiskCacheAttributes cattr = new JDBCDiskCacheAttributes();
         cattr.setConnectionPoolName( poolName );
 
         // DO WORK
-        DataSourceFactory result = factory.getDataSourceFactory( cattr, props );
+        final DataSourceFactory result = factory.getDataSourceFactory( cattr, props );
         assertTrue("Should be a shared pool data source factory", result instanceof SharedPoolDataSourceFactory);
 
-        SharedPoolDataSource spds = (SharedPoolDataSource) result.getDataSource();
+        final SharedPoolDataSource spds = (SharedPoolDataSource) result.getDataSource();
         assertNotNull( "Should have a data source class", spds );
 
         // VERIFY
@@ -90,16 +90,16 @@
     public void testConfigureDataSourceFactory_Attributes() throws SQLException
     {
         // SETUP
-        String url = "adfads";
-        String userName = "zvzvz";
-        String password = "qewrrewq";
-        int maxActive = 10;
-        String driverClassName = "org.hsqldb.jdbcDriver";
+        final String url = "adfads";
+        final String userName = "zvzvz";
+        final String password = "qewrrewq";
+        final int maxActive = 10;
+        final String driverClassName = "org.hsqldb.jdbcDriver";
 
-        JDBCDiskCacheFactory factory = new JDBCDiskCacheFactory();
+        final JDBCDiskCacheFactory factory = new JDBCDiskCacheFactory();
         factory.initialize();
 
-        JDBCDiskCacheAttributes cattr = new JDBCDiskCacheAttributes();
+        final JDBCDiskCacheAttributes cattr = new JDBCDiskCacheAttributes();
         cattr.setUrl(url);
         cattr.setUserName(userName);
         cattr.setPassword(password);
@@ -107,10 +107,10 @@
         cattr.setDriverClassName(driverClassName);
 
         // DO WORK
-        DataSourceFactory result = factory.getDataSourceFactory( cattr, null );
+        final DataSourceFactory result = factory.getDataSourceFactory( cattr, null );
         assertTrue("Should be a shared pool data source factory", result instanceof SharedPoolDataSourceFactory);
 
-        SharedPoolDataSource spds = (SharedPoolDataSource) result.getDataSource();
+        final SharedPoolDataSource spds = (SharedPoolDataSource) result.getDataSource();
         assertNotNull( "Should have a data source class", spds );
 
         // VERIFY
@@ -123,23 +123,23 @@
     public void testConfigureDataSourceFactory_JNDI() throws SQLException
     {
         // SETUP
-        String jndiPath = "java:comp/env/jdbc/MyDB";
-        long ttl = 300000L;
+        final String jndiPath = "java:comp/env/jdbc/MyDB";
+        final long ttl = 300000L;
 
         System.setProperty(Context.INITIAL_CONTEXT_FACTORY,
                 MockInitialContextFactory.class.getName());
 
         MockInitialContextFactory.bind(jndiPath, new BasicDataSource());
 
-        JDBCDiskCacheFactory factory = new JDBCDiskCacheFactory();
+        final JDBCDiskCacheFactory factory = new JDBCDiskCacheFactory();
         factory.initialize();
 
-        JDBCDiskCacheAttributes cattr = new JDBCDiskCacheAttributes();
+        final JDBCDiskCacheAttributes cattr = new JDBCDiskCacheAttributes();
         cattr.setJndiPath(jndiPath);
         cattr.setJndiTTL(ttl);
 
         // DO WORK
-        DataSourceFactory result = factory.getDataSourceFactory( cattr, null );
+        final DataSourceFactory result = factory.getDataSourceFactory( cattr, null );
         assertTrue("Should be a JNDI data source factory", result instanceof JndiDataSourceFactory);
     }
 
@@ -157,13 +157,13 @@
                     Map<String, Object> bindings = new HashMap<>();
 
                     @Override
-                    public void bind(String name, Object obj) throws NamingException
+                    public void bind(final String name, final Object obj) throws NamingException
                     {
                         bindings.put(name, obj);
                     }
 
                     @Override
-                    public Object lookup(String name) throws NamingException
+                    public Object lookup(final String name) throws NamingException
                     {
                         return bindings.get(name);
                     }
@@ -175,7 +175,7 @@
                     }
                 };
             }
-            catch (NamingException e)
+            catch (final NamingException e)
             {
             	// can't happen.
                 throw new RuntimeException(e);
@@ -183,18 +183,18 @@
         }
 
         @Override
-		public Context getInitialContext(Hashtable<?, ?> environment) throws NamingException
+		public Context getInitialContext(final Hashtable<?, ?> environment) throws NamingException
         {
             return context;
         }
 
-        public static void bind(String name, Object obj)
+        public static void bind(final String name, final Object obj)
         {
             try
             {
                 context.bind(name, obj);
             }
-            catch (NamingException e)
+            catch (final NamingException e)
             {
             	// can't happen.
                 throw new RuntimeException(e);
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/JDBCDiskCacheRemovalUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/JDBCDiskCacheRemovalUnitTest.java
index c103a81..2868b7f 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/JDBCDiskCacheRemovalUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/JDBCDiskCacheRemovalUnitTest.java
@@ -58,23 +58,23 @@
         // SETUP
         setupDatabase();
 
-        String keyPart1 = "part1";
-        String keyPart2 = "part2";
-        String region = "testCache1";
-        String data = "adfadsfasfddsafasasd";
+        final String keyPart1 = "part1";
+        final String keyPart2 = "part2";
+        final String region = "testCache1";
+        final String data = "adfadsfasfddsafasasd";
 
-        CacheAccess<String, String> jcs = JCS.getInstance( region );
+        final CacheAccess<String, String> jcs = JCS.getInstance( region );
 
         // DO WORK
         jcs.put( keyPart1 + ":" + keyPart2, data );
         Thread.sleep( 1000 );
 
         // VERIFY
-        String resultBeforeRemove = jcs.get( keyPart1 + ":" + keyPart2 );
+        final String resultBeforeRemove = jcs.get( keyPart1 + ":" + keyPart2 );
         assertEquals( "Wrong result", data, resultBeforeRemove );
 
         jcs.remove( keyPart1 + ":" );
-        String resultAfterRemove = jcs.get( keyPart1 + ":" + keyPart2 );
+        final String resultAfterRemove = jcs.get( keyPart1 + ":" + keyPart2 );
         assertNull( "Should not have a result after removal.", resultAfterRemove );
 
 //        System.out.println( jcs.getStats() );
@@ -92,17 +92,17 @@
     {
         System.setProperty( "hsqldb.cache_scale", "8" );
 
-        String rafroot = "target";
-        Properties p = new Properties();
-        String driver = p.getProperty( "driver", "org.hsqldb.jdbcDriver" );
-        String url = p.getProperty( "url", "jdbc:hsqldb:" );
-        String database = p.getProperty( "database", rafroot + "/JDBCDiskCacheRemovalUnitTest" );
-        String user = p.getProperty( "user", "sa" );
-        String password = p.getProperty( "password", "" );
+        final String rafroot = "target";
+        final Properties p = new Properties();
+        final String driver = p.getProperty( "driver", "org.hsqldb.jdbcDriver" );
+        final String url = p.getProperty( "url", "jdbc:hsqldb:" );
+        final String database = p.getProperty( "database", rafroot + "/JDBCDiskCacheRemovalUnitTest" );
+        final String user = p.getProperty( "user", "sa" );
+        final String password = p.getProperty( "password", "" );
 
         new org.hsqldb.jdbcDriver();
         Class.forName( driver ).newInstance();
-        Connection cConn = DriverManager.getConnection( url + database, user, password );
+        final Connection cConn = DriverManager.getConnection( url + database, user, password );
 
         HsqlSetupTableUtil.setupTABLE( cConn, databaseName );
     }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/JDBCDiskCacheSharedPoolUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/JDBCDiskCacheSharedPoolUnitTest.java
index 7a2d233..0bc3952 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/JDBCDiskCacheSharedPoolUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/JDBCDiskCacheSharedPoolUnitTest.java
@@ -56,17 +56,17 @@
     {
         System.setProperty( "hsqldb.cache_scale", "8" );
 
-        String rafroot = "target";
-        Properties p = new Properties();
-        String driver = p.getProperty( "driver", "org.hsqldb.jdbcDriver" );
-        String url = p.getProperty( "url", "jdbc:hsqldb:" );
-        String database = p.getProperty( "database", rafroot + "/cache_hsql_db_sharedpool" );
-        String user = p.getProperty( "user", "sa" );
-        String password = p.getProperty( "password", "" );
+        final String rafroot = "target";
+        final Properties p = new Properties();
+        final String driver = p.getProperty( "driver", "org.hsqldb.jdbcDriver" );
+        final String url = p.getProperty( "url", "jdbc:hsqldb:" );
+        final String database = p.getProperty( "database", rafroot + "/cache_hsql_db_sharedpool" );
+        final String user = p.getProperty( "user", "sa" );
+        final String password = p.getProperty( "password", "" );
 
         new org.hsqldb.jdbcDriver();
         Class.forName( driver ).newInstance();
-        Connection cConn = DriverManager.getConnection( url + database, user, password );
+        final Connection cConn = DriverManager.getConnection( url + database, user, password );
 
         HsqlSetupTableUtil.setupTABLE( cConn, "JCS_STORE_0" );
 
@@ -83,10 +83,10 @@
      * @param items
      * @throws Exception If an error occurs
      */
-    public void runTestForRegion( String region, int items )
+    public void runTestForRegion( final String region, final int items )
         throws Exception
     {
-        CacheAccess<String, String> jcs = JCS.getInstance( region );
+        final CacheAccess<String, String> jcs = JCS.getInstance( region );
 
 //        System.out.println( "BEFORE PUT \n" + jcs.getStats() );
 
@@ -107,22 +107,22 @@
 
         for ( int i = 0; i <= items; i++ )
         {
-            String value = jcs.get( i + ":key" );
+            final String value = jcs.get( i + ":key" );
 
             assertEquals( "key = [" + i + ":key] value = [" + value + "]", region + " data " + i, value );
         }
 
         // Test that getElements returns all the expected values
-        Set<String> keys = new HashSet<>();
+        final Set<String> keys = new HashSet<>();
         for ( int i = 0; i <= items; i++ )
         {
             keys.add( i + ":key" );
         }
 
-        Map<String, ICacheElement<String, String>> elements = jcs.getCacheElements( keys );
+        final Map<String, ICacheElement<String, String>> elements = jcs.getCacheElements( keys );
         for ( int i = 0; i <= items; i++ )
         {
-            ICacheElement<String, String> element = elements.get( i + ":key" );
+            final ICacheElement<String, String> element = elements.get( i + ":key" );
             assertNotNull( "element " + i + ":key is missing", element );
             assertEquals( "value " + i + ":key", region + " data " + i, element.getVal() );
         }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/JDBCDiskCacheShrinkUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/JDBCDiskCacheShrinkUnitTest.java
index 264be54..e5942ad 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/JDBCDiskCacheShrinkUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/JDBCDiskCacheShrinkUnitTest.java
@@ -51,17 +51,17 @@
     {
         System.setProperty( "hsqldb.cache_scale", "8" );
 
-        String rafroot = "target";
-        Properties p = new Properties();
-        String driver = p.getProperty( "driver", "org.hsqldb.jdbcDriver" );
-        String url = p.getProperty( "url", "jdbc:hsqldb:" );
-        String database = p.getProperty( "database", rafroot + "/JDBCDiskCacheShrinkUnitTest" );
-        String user = p.getProperty( "user", "sa" );
-        String password = p.getProperty( "password", "" );
+        final String rafroot = "target";
+        final Properties p = new Properties();
+        final String driver = p.getProperty( "driver", "org.hsqldb.jdbcDriver" );
+        final String url = p.getProperty( "url", "jdbc:hsqldb:" );
+        final String database = p.getProperty( "database", rafroot + "/JDBCDiskCacheShrinkUnitTest" );
+        final String user = p.getProperty( "user", "sa" );
+        final String password = p.getProperty( "password", "" );
 
         new org.hsqldb.jdbcDriver();
         Class.forName( driver ).newInstance();
-        Connection cConn = DriverManager.getConnection( url + database, user, password );
+        final Connection cConn = DriverManager.getConnection( url + database, user, password );
 
         HsqlSetupTableUtil.setupTABLE( cConn, "JCS_STORE_SHRINK" );
     }
@@ -85,10 +85,10 @@
     public void testExpireInBackground()
         throws Exception
     {
-        String regionExpire = "expire1Second";
-        int items = 200;
+        final String regionExpire = "expire1Second";
+        final int items = 200;
 
-        CacheAccess<String, String> jcsExpire = JCS.getInstance( regionExpire );
+        final CacheAccess<String, String> jcsExpire = JCS.getInstance( regionExpire );
 
 //        System.out.println( "BEFORE PUT \n" + jcsExpire.getStats() );
 
@@ -123,10 +123,10 @@
     public void testDidNotExpire()
         throws CacheException, InterruptedException
     {
-        String region = "expire100Second";
-        int items = 200;
+        final String region = "expire100Second";
+        final int items = 200;
 
-        CacheAccess<String, String> jcs = JCS.getInstance( region );
+        final CacheAccess<String, String> jcs = JCS.getInstance( region );
 
 //        System.out.println( "BEFORE PUT \n" + jcs.getStats() );
 
@@ -147,7 +147,7 @@
 
         for ( int i = 0; i <= items; i++ )
         {
-            String value = jcs.get( i + ":key" );
+            final String value = jcs.get( i + ":key" );
 
             assertEquals( "key = [" + i + ":key] value = [" + value + "]", region + " data " + i, value );
         }
@@ -176,10 +176,10 @@
     public void testDidNotExpireEternal()
         throws CacheException, InterruptedException
     {
-        String region = "eternal";
-        int items = 200;
+        final String region = "eternal";
+        final int items = 200;
 
-        CacheAccess<String, String> jcs = JCS.getInstance( region );
+        final CacheAccess<String, String> jcs = JCS.getInstance( region );
 
 //        System.out.println( "BEFORE PUT \n" + jcs.getStats() );
 
@@ -200,7 +200,7 @@
 
         for ( int i = 0; i <= items; i++ )
         {
-            String value = jcs.get( i + ":key" );
+            final String value = jcs.get( i + ":key" );
 
             assertEquals( "key = [" + i + ":key] value = [" + value + "]", region + " data " + i, value );
         }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/JDBCDiskCacheUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/JDBCDiskCacheUnitTest.java
index 7a0243a..680582e 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/JDBCDiskCacheUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/JDBCDiskCacheUnitTest.java
@@ -61,17 +61,17 @@
     {
         System.setProperty( "hsqldb.cache_scale", "8" );
 
-        String rafroot = "target";
-        Properties p = new Properties();
-        String driver = p.getProperty( "driver", "org.hsqldb.jdbcDriver" );
-        String url = p.getProperty( "url", "jdbc:hsqldb:" );
-        String database = p.getProperty( "database", rafroot + "/cache_hsql_db" );
-        String user = p.getProperty( "user", "sa" );
-        String password = p.getProperty( "password", "" );
+        final String rafroot = "target";
+        final Properties p = new Properties();
+        final String driver = p.getProperty( "driver", "org.hsqldb.jdbcDriver" );
+        final String url = p.getProperty( "url", "jdbc:hsqldb:" );
+        final String database = p.getProperty( "database", rafroot + "/cache_hsql_db" );
+        final String user = p.getProperty( "user", "sa" );
+        final String password = p.getProperty( "password", "" );
 
         new org.hsqldb.jdbcDriver();
         Class.forName( driver ).newInstance();
-        Connection cConn = DriverManager.getConnection( url + database, user, password );
+        final Connection cConn = DriverManager.getConnection( url + database, user, password );
 
         HsqlSetupTableUtil.setupTABLE( cConn, "JCS_STORE2" );
 
@@ -86,10 +86,10 @@
      * @param items
      * @throws Exception If an error occurs
      */
-    public void runTestForRegion( String region, int items )
+    public void runTestForRegion( final String region, final int items )
         throws Exception
     {
-        CacheAccess<String, String> jcs = JCS.getInstance( region );
+        final CacheAccess<String, String> jcs = JCS.getInstance( region );
 
 //        System.out.println( "BEFORE PUT \n" + jcs.getStats() );
 
@@ -110,22 +110,22 @@
 
         for ( int i = 0; i <= items; i++ )
         {
-            String value = jcs.get( i + ":key" );
+            final String value = jcs.get( i + ":key" );
 
             assertEquals( "key = [" + i + ":key] value = [" + value + "]", region + " data " + i, value );
         }
 
         // Test that getElements returns all the expected values
-        Set<String> keys = new HashSet<>();
+        final Set<String> keys = new HashSet<>();
         for ( int i = 0; i <= items; i++ )
         {
             keys.add( i + ":key" );
         }
 
-        Map<String, ICacheElement<String, String>> elements = jcs.getCacheElements( keys );
+        final Map<String, ICacheElement<String, String>> elements = jcs.getCacheElements( keys );
         for ( int i = 0; i <= items; i++ )
         {
-            ICacheElement<String, String> element = elements.get( i + ":key" );
+            final ICacheElement<String, String> element = elements.get( i + ":key" );
             assertNotNull( "element " + i + ":key is missing", element );
             assertEquals( "value " + i + ":key", region + " data " + i, element.getVal() );
         }
@@ -152,16 +152,16 @@
         throws Exception
     {
         // SETUP
-        String poolName = "testInitializePoolAccess_withPoolName";
+        final String poolName = "testInitializePoolAccess_withPoolName";
 
-        String url = "jdbc:hsqldb:";
-        String userName = "sa";
-        String password = "";
-        int maxActive = 10;
-        String driverClassName = "org.hsqldb.jdbcDriver";
+        final String url = "jdbc:hsqldb:";
+        final String userName = "sa";
+        final String password = "";
+        final int maxActive = 10;
+        final String driverClassName = "org.hsqldb.jdbcDriver";
 
-        Properties props = new Properties();
-        String prefix = JDBCDiskCacheFactory.POOL_CONFIGURATION_PREFIX
+        final Properties props = new Properties();
+        final String prefix = JDBCDiskCacheFactory.POOL_CONFIGURATION_PREFIX
     		+ poolName
             + JDBCDiskCacheFactory.ATTRIBUTE_PREFIX;
         props.put( prefix + ".url", url );
@@ -170,22 +170,22 @@
         props.put( prefix + ".maxActive", String.valueOf( maxActive ) );
         props.put( prefix + ".driverClassName", driverClassName );
 
-        JDBCDiskCacheAttributes cattr = new JDBCDiskCacheAttributes();
+        final JDBCDiskCacheAttributes cattr = new JDBCDiskCacheAttributes();
         cattr.setConnectionPoolName( poolName );
         cattr.setTableName("JCSTESTTABLE_InitializePoolAccess");
 
-        MockCompositeCacheManager compositeCacheManager = new MockCompositeCacheManager();
+        final MockCompositeCacheManager compositeCacheManager = new MockCompositeCacheManager();
         compositeCacheManager.setConfigurationProperties( props );
-        JDBCDiskCacheFactory dcFactory = new JDBCDiskCacheFactory();
+        final JDBCDiskCacheFactory dcFactory = new JDBCDiskCacheFactory();
         dcFactory.initialize();
         dcFactory.setScheduledExecutorService(Executors.newScheduledThreadPool(2,
         	new DaemonThreadFactory("JCS-JDBCDiskCacheManager-", Thread.MIN_PRIORITY)));
 
-        JDBCDiskCache<String, String> diskCache = dcFactory.createCache( cattr, compositeCacheManager, null, new StandardSerializer() );
+        final JDBCDiskCache<String, String> diskCache = dcFactory.createCache( cattr, compositeCacheManager, null, new StandardSerializer() );
         assertNotNull( "Should have a cache instance", diskCache );
 
         // DO WORK
-        DataSourceFactory result = dcFactory.getDataSourceFactory(cattr, props);
+        final DataSourceFactory result = dcFactory.getDataSourceFactory(cattr, props);
 
         // VERIFY
         assertNotNull( "Should have a data source factory class", result );
@@ -193,12 +193,12 @@
 
         System.setProperty( "hsqldb.cache_scale", "8" );
 
-        String rafroot = "target";
-        String database = rafroot + "/cache_hsql_db";
+        final String rafroot = "target";
+        final String database = rafroot + "/cache_hsql_db";
 
         new org.hsqldb.jdbcDriver();
         Class.forName( driverClassName ).newInstance();
-        Connection cConn = DriverManager.getConnection( url + database, userName, password );
+        final Connection cConn = DriverManager.getConnection( url + database, userName, password );
 
         HsqlSetupTableUtil.setupTABLE( cConn, "JCSTESTTABLE_InitializePoolAccess" );
 
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/hsql/HSQLDiskCacheConcurrentUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/hsql/HSQLDiskCacheConcurrentUnitTest.java
index c85a6e6..2518567 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/hsql/HSQLDiskCacheConcurrentUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/hsql/HSQLDiskCacheConcurrentUnitTest.java
@@ -47,7 +47,7 @@
      * Constructor for the TestDiskCache object.
      * @param testName
      */
-    public HSQLDiskCacheConcurrentUnitTest( String testName )
+    public HSQLDiskCacheConcurrentUnitTest( final String testName )
     {
         super( testName );
     }
@@ -59,7 +59,7 @@
      */
     public static Test suite()
     {
-        ActiveTestSuite suite = new ActiveTestSuite();
+        final ActiveTestSuite suite = new ActiveTestSuite();
 
         suite.addTest( new HSQLDiskCacheConcurrentUnitTest( "testHSQLDiskCache1" )
         {
@@ -110,10 +110,10 @@
      * @param region Name of the region to access
      * @throws Exception If an error occurs
      */
-    public void runTestForRegion( String region )
+    public void runTestForRegion( final String region )
         throws Exception
     {
-        CacheAccess<String, String> jcs = JCS.getInstance( region );
+        final CacheAccess<String, String> jcs = JCS.getInstance( region );
 
         // Add items to cache
         for ( int i = 0; i <= items; i++ )
@@ -126,22 +126,22 @@
         // Test that all items are in cache
         for ( int i = 0; i <= items; i++ )
         {
-            String value = jcs.get( i + ":key" );
+            final String value = jcs.get( i + ":key" );
 
             assertEquals( "key = [" + i + ":key] value = [" + value + "]", region + " data " + i, value );
         }
 
         // Test that getElements returns all the expected values
-        Set<String> keys = new HashSet<>();
+        final Set<String> keys = new HashSet<>();
         for ( int i = 0; i <= items; i++ )
         {
             keys.add( i + ":key" );
         }
 
-        Map<String, ICacheElement<String, String>> elements = jcs.getCacheElements( keys );
+        final Map<String, ICacheElement<String, String>> elements = jcs.getCacheElements( keys );
         for ( int i = 0; i <= items; i++ )
         {
-            ICacheElement<String, String> element = elements.get( i + ":key" );
+            final ICacheElement<String, String> element = elements.get( i + ":key" );
             assertNotNull( "element " + i + ":key is missing", element );
             assertEquals( "value " + i + ":key", region + " data " + i, element.getVal() );
         }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/hsql/HSQLDiskCacheUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/hsql/HSQLDiskCacheUnitTest.java
index cf5132d..741b8c5 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/hsql/HSQLDiskCacheUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/hsql/HSQLDiskCacheUnitTest.java
@@ -54,11 +54,11 @@
     public void testBasicPutRemove()
         throws Exception
     {
-        int items = 20;
+        final int items = 20;
 
-        String region = "testBasicPutRemove";
+        final String region = "testBasicPutRemove";
 
-        CacheAccess<String, String> jcs = JCS.getInstance( region );
+        final CacheAccess<String, String> jcs = JCS.getInstance( region );
 
         // Add items to cache
         for ( int i = 0; i <= items; i++ )
@@ -69,21 +69,21 @@
         // Test that all items are in cache
         for ( int i = 0; i <= items; i++ )
         {
-            String value = jcs.get( i + ":key" );
+            final String value = jcs.get( i + ":key" );
             assertEquals( "key = [" + i + ":key] value = [" + value + "]", region + " data " + i, value );
         }
 
         // Test that getElements returns all the expected values
-        Set<String> keys = new HashSet<>();
+        final Set<String> keys = new HashSet<>();
         for ( int i = 0; i <= items; i++ )
         {
             keys.add( i + ":key" );
         }
 
-        Map<String, ICacheElement<String, String>> elements = jcs.getCacheElements( keys );
+        final Map<String, ICacheElement<String, String>> elements = jcs.getCacheElements( keys );
         for ( int i = 0; i <= items; i++ )
         {
-            ICacheElement<String, String> element = elements.get( i + ":key" );
+            final ICacheElement<String, String> element = elements.get( i + ":key" );
             assertNotNull( "element " + i + ":key is missing", element );
             assertEquals( "value " + i + ":key", region + " data " + i, element.getVal() );
         }
@@ -110,10 +110,10 @@
     public void testRemoveAll()
         throws CacheException, InterruptedException
     {
-        String region = "removeAllAllowed";
-        CacheAccess<String, String> jcs = JCS.getInstance( region );
+        final String region = "removeAllAllowed";
+        final CacheAccess<String, String> jcs = JCS.getInstance( region );
 
-        int items = 20;
+        final int items = 20;
 
         // Add items to cache
         for ( int i = 0; i <= items; i++ )
@@ -134,7 +134,7 @@
 
         for ( int i = 0; i <= items; i++ )
         {
-            String value = jcs.get( i + ":key" );
+            final String value = jcs.get( i + ":key" );
             assertNull( "value should be null key = [" + i + ":key] value = [" + value + "]", value );
         }
     }
@@ -148,10 +148,10 @@
     public void testRemoveAllProhibition()
         throws CacheException, InterruptedException
     {
-        String region = "noRemoveAll";
-        CacheAccess<String, String> jcs = JCS.getInstance( region );
+        final String region = "noRemoveAll";
+        final CacheAccess<String, String> jcs = JCS.getInstance( region );
 
-        int items = 20;
+        final int items = 20;
 
         // Add items to cache
         for ( int i = 0; i <= items; i++ )
@@ -166,7 +166,7 @@
 
         for ( int i = 0; i <= items; i++ )
         {
-            String value = jcs.get( i + ":key" );
+            final String value = jcs.get( i + ":key" );
             assertEquals( "key = [" + i + ":key] value = [" + value + "]", region + " data " + i, value );
         }
     }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLDiskCacheHsqlBackedUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLDiskCacheHsqlBackedUnitTest.java
index d876b5d..628a4ce 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLDiskCacheHsqlBackedUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLDiskCacheHsqlBackedUnitTest.java
@@ -53,14 +53,14 @@
     {
         System.setProperty( "hsqldb.cache_scale", "8" );
 
-        String rafroot = "target";
-        String url = "jdbc:hsqldb:";
-        String database = rafroot + "/MySQLDiskCacheHsqlBackedUnitTest";
-        String user = "sa";
-        String password = "";
+        final String rafroot = "target";
+        final String url = "jdbc:hsqldb:";
+        final String database = rafroot + "/MySQLDiskCacheHsqlBackedUnitTest";
+        final String user = "sa";
+        final String password = "";
 
         new org.hsqldb.jdbcDriver();
-        Connection cConn = DriverManager.getConnection( url + database, user, password );
+        final Connection cConn = DriverManager.getConnection( url + database, user, password );
 
         HsqlSetupTableUtil.setupTABLE( cConn, "JCS_STORE_MYSQL" );
     }
@@ -93,10 +93,10 @@
      * @param items
      * @throws Exception If an error occurs
      */
-    public void runTestForRegion( String region, int items )
+    public void runTestForRegion( final String region, final int items )
         throws Exception
     {
-        CacheAccess<String, String> jcs = JCS.getInstance( region );
+        final CacheAccess<String, String> jcs = JCS.getInstance( region );
         //System.out.println( "BEFORE PUT \n" + jcs.getStats() );
 
         // Add items to cache
@@ -112,22 +112,22 @@
         // Test that all items are in cache
         for ( int i = 0; i < items; i++ )
         {
-            String value = jcs.get( i + ":key" );
+            final String value = jcs.get( i + ":key" );
 
             assertEquals( "key = [" + i + ":key] value = [" + value + "]", region + " data " + i, value );
         }
 
         // Test that getElements returns all the expected values
-        Set<String> keys = new HashSet<>();
+        final Set<String> keys = new HashSet<>();
         for ( int i = 0; i < items; i++ )
         {
             keys.add( i + ":key" );
         }
 
-        Map<String, ICacheElement<String, String>> elements = jcs.getCacheElements( keys );
+        final Map<String, ICacheElement<String, String>> elements = jcs.getCacheElements( keys );
         for ( int i = 0; i < items; i++ )
         {
-            ICacheElement<String, String> element = elements.get( i + ":key" );
+            final ICacheElement<String, String> element = elements.get( i + ":key" );
             assertNotNull( "element " + i + ":key is missing", element );
             assertEquals( "value " + i + ":key", region + " data " + i, element.getVal() );
         }
@@ -156,9 +156,9 @@
         throws Exception
     {
         // SETUP
-        int items = 200;
-        String region = "testCache2";
-        CacheAccess<String, String> jcs = JCS.getInstance( region );
+        final int items = 200;
+        final String region = "testCache2";
+        final CacheAccess<String, String> jcs = JCS.getInstance( region );
 //        System.out.println( "BEFORE PUT \n" + jcs.getStats() );
 
         // DO WORK
@@ -168,7 +168,7 @@
         }
         Thread.sleep( 1000 );
 
-        Map<String, ICacheElement<String, String>> matchingResults = jcs.getMatchingCacheElements( "1.8.+" );
+        final Map<String, ICacheElement<String, String>> matchingResults = jcs.getMatchingCacheElements( "1.8.+" );
 
         // VERIFY
         assertEquals( "Wrong number returned", 10, matchingResults.size() );
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLDiskCacheUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLDiskCacheUnitTest.java
index 6b317be..0f2849f 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLDiskCacheUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLDiskCacheUnitTest.java
@@ -47,22 +47,22 @@
     public void testBalkOnGet() throws SQLException
     {
         // SETUP
-        MySQLDiskCacheAttributes attributes = new MySQLDiskCacheAttributes();
-        String tableName = "JCS_TEST";
+        final MySQLDiskCacheAttributes attributes = new MySQLDiskCacheAttributes();
+        final String tableName = "JCS_TEST";
         // Just use something that exists
         attributes.setDriverClassName( "org.hsqldb.jdbcDriver" );
         attributes.setTableName( tableName );
         attributes.setBalkDuringOptimization( true );
-        SharedPoolDataSourceFactory dsFactory = new SharedPoolDataSourceFactory();
+        final SharedPoolDataSourceFactory dsFactory = new SharedPoolDataSourceFactory();
         dsFactory.initialize(attributes);
 
-        TableState tableState = new TableState( tableName );
+        final TableState tableState = new TableState( tableName );
         tableState.setState( TableState.OPTIMIZATION_RUNNING );
 
-        MySQLDiskCache<String, String> cache = new MySQLDiskCache<>(attributes, dsFactory, tableState);
+        final MySQLDiskCache<String, String> cache = new MySQLDiskCache<>(attributes, dsFactory, tableState);
 
         // DO WORK
-        Object result = cache.processGet( "myKey" );
+        final Object result = cache.processGet( "myKey" );
 
         // VERIFY
         assertNull( "The result should be null", result );
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/util/ScheduleParserUtilUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/util/ScheduleParserUtilUnitTest.java
index 62319e5..3624579 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/util/ScheduleParserUtilUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/util/ScheduleParserUtilUnitTest.java
@@ -44,7 +44,7 @@
 
             fail( "Should have thrown an exception" );
         }
-        catch ( ParseException e )
+        catch ( final ParseException e )
         {
             // expected
         }
@@ -61,7 +61,7 @@
 
             fail( "Should have thrown an exception" );
         }
-        catch ( ParseException e )
+        catch ( final ParseException e )
         {
             // expected
         }
@@ -74,8 +74,8 @@
     public void testGetsDatesSingle()
         throws ParseException
     {
-        String schedule = "12:34:56";
-        Date[] dates = ScheduleParser.createDatesForSchedule( schedule );
+        final String schedule = "12:34:56";
+        final Date[] dates = ScheduleParser.createDatesForSchedule( schedule );
 
         assertEquals( "Wrong number of dates returned.", 1, dates.length );
     }
@@ -86,8 +86,8 @@
     public void testGetsDatesMultiple()
         throws ParseException
     {
-        String schedule = "12:34:56,03:51:00,12:34:12";
-        Date[] dates = ScheduleParser.createDatesForSchedule( schedule );
+        final String schedule = "12:34:56,03:51:00,12:34:12";
+        final Date[] dates = ScheduleParser.createDatesForSchedule( schedule );
         //System.out.println( dates );
         assertEquals( "Wrong number of dates returned.", 3, dates.length );
     }
@@ -99,12 +99,12 @@
     {
         try
         {
-            String schedule = "12:34:56,03:51:00,123234";
+            final String schedule = "12:34:56,03:51:00,123234";
             ScheduleParser.createDatesForSchedule( schedule );
 
             fail( "Should have thrown an exception for a malformed date" );
         }
-        catch ( ParseException e )
+        catch ( final ParseException e )
         {
             // expected
         }
@@ -116,12 +116,12 @@
     {
         try
         {
-            String schedule = "12:34:56,03:51:00,aa:12:12";
+            final String schedule = "12:34:56,03:51:00,aa:12:12";
             ScheduleParser.createDatesForSchedule( schedule );
 
             fail( "Should have thrown an exception for a malformed date" );
         }
-        catch ( ParseException e )
+        catch ( final ParseException e )
         {
             // expected
         }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/lateral/LateralCacheNoWaitFacadeUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/lateral/LateralCacheNoWaitFacadeUnitTest.java
index 7373b85..02eb6f8 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/lateral/LateralCacheNoWaitFacadeUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/lateral/LateralCacheNoWaitFacadeUnitTest.java
@@ -36,14 +36,15 @@
     {
         // SETUP
         @SuppressWarnings("unchecked")
+        final
         LateralCacheNoWait<String, String>[] noWaits = new LateralCacheNoWait[0];
-        ILateralCacheAttributes cattr = new LateralCacheAttributes();
+        final ILateralCacheAttributes cattr = new LateralCacheAttributes();
         cattr.setCacheName( "testCache1" );
 
-        LateralCacheNoWaitFacade<String, String> facade = new LateralCacheNoWaitFacade<>( null, noWaits, cattr );
+        final LateralCacheNoWaitFacade<String, String> facade = new LateralCacheNoWaitFacade<>( null, noWaits, cattr );
 
-        LateralCache<String, String> cache = new LateralCache<>( cattr );
-        LateralCacheNoWait<String, String> noWait = new LateralCacheNoWait<>( cache );
+        final LateralCache<String, String> cache = new LateralCache<>( cattr );
+        final LateralCacheNoWait<String, String> noWait = new LateralCacheNoWait<>( cache );
 
         // DO WORK
         facade.addNoWait( noWait );
@@ -66,15 +67,16 @@
     {
         // SETUP
         @SuppressWarnings("unchecked")
+        final
         LateralCacheNoWait<String, String>[] noWaits = new LateralCacheNoWait[0];
-        ILateralCacheAttributes cattr = new LateralCacheAttributes();
+        final ILateralCacheAttributes cattr = new LateralCacheAttributes();
         cattr.setCacheName( "testCache1" );
 
-        LateralCacheNoWaitFacade<String, String> facade = new LateralCacheNoWaitFacade<>( null, noWaits, cattr );
+        final LateralCacheNoWaitFacade<String, String> facade = new LateralCacheNoWaitFacade<>( null, noWaits, cattr );
 
-        LateralCache<String, String> cache = new LateralCache<>( cattr );
-        LateralCacheNoWait<String, String> noWait = new LateralCacheNoWait<>( cache );
-        LateralCacheNoWait<String, String> noWait2 = new LateralCacheNoWait<>( cache );
+        final LateralCache<String, String> cache = new LateralCache<>( cattr );
+        final LateralCacheNoWait<String, String> noWait = new LateralCacheNoWait<>( cache );
+        final LateralCacheNoWait<String, String> noWait2 = new LateralCacheNoWait<>( cache );
 
         // DO WORK
         facade.addNoWait( noWait );
@@ -101,14 +103,15 @@
     {
         // SETUP
         @SuppressWarnings("unchecked")
+        final
         LateralCacheNoWait<String, String>[] noWaits = new LateralCacheNoWait[0];
-        ILateralCacheAttributes cattr = new LateralCacheAttributes();
+        final ILateralCacheAttributes cattr = new LateralCacheAttributes();
         cattr.setCacheName( "testCache1" );
 
-        LateralCacheNoWaitFacade<String, String> facade = new LateralCacheNoWaitFacade<>( null, noWaits, cattr );
+        final LateralCacheNoWaitFacade<String, String> facade = new LateralCacheNoWaitFacade<>( null, noWaits, cattr );
 
-        LateralCache<String, String> cache = new LateralCache<>( cattr );
-        LateralCacheNoWait<String, String> noWait = new LateralCacheNoWait<>( cache );
+        final LateralCache<String, String> cache = new LateralCache<>( cattr );
+        final LateralCacheNoWait<String, String> noWait = new LateralCacheNoWait<>( cache );
 
         // DO WORK
         facade.addNoWait( noWait );
@@ -126,14 +129,15 @@
     {
         // SETUP
         @SuppressWarnings("unchecked")
+        final
         LateralCacheNoWait<String, String>[] noWaits = new LateralCacheNoWait[0];
-        ILateralCacheAttributes cattr = new LateralCacheAttributes();
+        final ILateralCacheAttributes cattr = new LateralCacheAttributes();
         cattr.setCacheName( "testCache1" );
 
-        LateralCacheNoWaitFacade<String, String> facade = new LateralCacheNoWaitFacade<>( null, noWaits, cattr );
+        final LateralCacheNoWaitFacade<String, String> facade = new LateralCacheNoWaitFacade<>( null, noWaits, cattr );
 
-        LateralCache<String, String> cache = new LateralCache<>( cattr );
-        LateralCacheNoWait<String, String> noWait = new LateralCacheNoWait<>( cache );
+        final LateralCache<String, String> cache = new LateralCache<>( cattr );
+        final LateralCacheNoWait<String, String> noWait = new LateralCacheNoWait<>( cache );
 
         // DO WORK
         facade.removeNoWait( noWait );
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPConcurrentRandomTestUtil.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPConcurrentRandomTestUtil.java
index 17d74c7..c2c7a85 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPConcurrentRandomTestUtil.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPConcurrentRandomTestUtil.java
@@ -43,7 +43,7 @@
      *
      * @param testName
      */
-    public LateralTCPConcurrentRandomTestUtil( String testName )
+    public LateralTCPConcurrentRandomTestUtil( final String testName )
     {
         super( testName );
     }
@@ -71,14 +71,14 @@
      * @throws Exception
      *                If an error occurs
      */
-    public void runTestForRegion( String region, int range, int numOps, int testNum )
+    public void runTestForRegion( final String region, final int range, final int numOps, final int testNum )
         throws Exception
     {
-        boolean show = true;//false;
+        final boolean show = true;//false;
 
-        CacheAccess<String, String> cache = JCS.getInstance( region );
+        final CacheAccess<String, String> cache = JCS.getInstance( region );
 
-        TCPLateralCacheAttributes lattr2 = new TCPLateralCacheAttributes();
+        final TCPLateralCacheAttributes lattr2 = new TCPLateralCacheAttributes();
         lattr2.setTcpListenerPort( 1103 );
         lattr2.setTransmissionTypeName( "TCP" );
         lattr2.setTcpServer( "localhost:1102" );
@@ -86,20 +86,20 @@
         // this service will put and remove using the lateral to
         // the cache instance above
         // the cache thinks it is different since the listenerid is different
-        LateralTCPService<String, String> service = new LateralTCPService<>( lattr2 );
+        final LateralTCPService<String, String> service = new LateralTCPService<>( lattr2 );
         service.setListenerId( 123456 );
 
         try
         {
             for ( int i = 1; i < numOps; i++ )
             {
-                Random ran = new Random( i );
-                int n = ran.nextInt( 4 );
-                int kn = ran.nextInt( range );
-                String key = "key" + kn;
+                final Random ran = new Random( i );
+                final int n = ran.nextInt( 4 );
+                final int kn = ran.nextInt( range );
+                final String key = "key" + kn;
                 if ( n == 1 )
                 {
-                    ICacheElement<String, String> element = new CacheElement<>( region, key, region + ":data" + i
+                    final ICacheElement<String, String> element = new CacheElement<>( region, key, region + ":data" + i
                         + " junk asdfffffffadfasdfasf " + kn + ":" + n );
                     service.update( element );
                     if ( show )
@@ -122,13 +122,13 @@
                     // slightly greater chance of get
                     try
                     {
-                        Object obj = service.get( region, key );
+                        final Object obj = service.get( region, key );
                         if ( show && obj != null )
                         {
                             p( obj.toString() );
                         }
                     }
-                    catch ( Exception e )
+                    catch ( final Exception e )
                     {
                         // consider failing, some timeouts are expected
                         e.printStackTrace();
@@ -143,25 +143,25 @@
             }
             p( "Finished random cycle of " + numOps );
         }
-        catch ( Exception e )
+        catch ( final Exception e )
         {
             p( e.toString() );
             e.printStackTrace( System.out );
             throw e;
         }
 
-        CacheAccess<String, String> jcs = JCS.getInstance( region );
-        String key = "testKey" + testNum;
-        String data = "testData" + testNum;
+        final CacheAccess<String, String> jcs = JCS.getInstance( region );
+        final String key = "testKey" + testNum;
+        final String data = "testData" + testNum;
         jcs.put( key, data );
-        String value = jcs.get( key );
+        final String value = jcs.get( key );
         assertEquals( "Couldn't put normally.", data, value );
 
         // make sure the items we can find are in the correct region.
         for ( int i = 1; i < numOps; i++ )
         {
-            String keyL = "key" + i;
-            String dataL = jcs.get( keyL );
+            final String keyL = "key" + i;
+            final String dataL = jcs.get( keyL );
             if ( dataL != null )
             {
                 assertTrue( "Incorrect region detected.", dataL.startsWith( region ) );
@@ -186,7 +186,7 @@
     /**
      * @param s string to print
      */
-    public static void p( String s )
+    public static void p( final String s )
     {
         if ( isSysOut )
         {
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPDiscoveryListenerUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPDiscoveryListenerUnitTest.java
index d6ced53..b4041a4 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPDiscoveryListenerUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPDiscoveryListenerUnitTest.java
@@ -74,14 +74,15 @@
     public void testAddNoWaitFacade_NotInList()
     {
         // SETUP
-        String cacheName = "testAddNoWaitFacade_NotInList";
+        final String cacheName = "testAddNoWaitFacade_NotInList";
 
         @SuppressWarnings("unchecked")
+        final
         LateralCacheNoWait<String, String>[] noWaits = new LateralCacheNoWait[0];
-        ILateralCacheAttributes cattr = new LateralCacheAttributes();
+        final ILateralCacheAttributes cattr = new LateralCacheAttributes();
         cattr.setCacheName( cacheName );
 
-        LateralCacheNoWaitFacade<String, String> facade = new LateralCacheNoWaitFacade<>( null, noWaits, cattr );
+        final LateralCacheNoWaitFacade<String, String> facade = new LateralCacheNoWaitFacade<>( null, noWaits, cattr );
 
         // DO WORK
         listener.addNoWaitFacade( cacheName, facade );
@@ -96,21 +97,22 @@
     public void testAddNoWait_FacadeInList()
     {
         // SETUP
-        String cacheName = "testAddNoWaitFacade_FacadeInList";
+        final String cacheName = "testAddNoWaitFacade_FacadeInList";
 
         @SuppressWarnings("unchecked")
+        final
         LateralCacheNoWait<String, String>[] noWaits = new LateralCacheNoWait[0];
-        ILateralCacheAttributes cattr = new LateralCacheAttributes();
+        final ILateralCacheAttributes cattr = new LateralCacheAttributes();
         cattr.setCacheName( cacheName );
 
-        LateralCacheNoWaitFacade<String, String> facade = new LateralCacheNoWaitFacade<>( null, noWaits, cattr );
+        final LateralCacheNoWaitFacade<String, String> facade = new LateralCacheNoWaitFacade<>( null, noWaits, cattr );
         listener.addNoWaitFacade( cacheName, facade );
 
-        LateralCache<String, String> cache = new LateralCache<>( cattr );
-        LateralCacheNoWait<String, String> noWait = new LateralCacheNoWait<>( cache );
+        final LateralCache<String, String> cache = new LateralCache<>( cattr );
+        final LateralCacheNoWait<String, String> noWait = new LateralCacheNoWait<>( cache );
 
         // DO WORK
-        boolean result = listener.addNoWait( noWait );
+        final boolean result = listener.addNoWait( noWait );
 
         // VERIFY
         assertTrue( "Should have added the no wait.", result );
@@ -122,15 +124,15 @@
     public void testAddNoWait_FacadeNotInList()
     {
         // SETUP
-        String cacheName = "testAddNoWaitFacade_FacadeInList";
-        ILateralCacheAttributes cattr = new LateralCacheAttributes();
+        final String cacheName = "testAddNoWaitFacade_FacadeInList";
+        final ILateralCacheAttributes cattr = new LateralCacheAttributes();
         cattr.setCacheName( cacheName );
 
-        LateralCache<String, String> cache = new LateralCache<>( cattr );
-        LateralCacheNoWait<String, String> noWait = new LateralCacheNoWait<>( cache );
+        final LateralCache<String, String> cache = new LateralCache<>( cattr );
+        final LateralCacheNoWait<String, String> noWait = new LateralCacheNoWait<>( cache );
 
         // DO WORK
-        boolean result = listener.addNoWait( noWait );
+        final boolean result = listener.addNoWait( noWait );
 
         // VERIFY
         assertFalse( "Should not have added the no wait.", result );
@@ -142,15 +144,15 @@
     public void testRemoveNoWait_FacadeNotInList()
     {
         // SETUP
-        String cacheName = "testRemoveNoWaitFacade_FacadeNotInList";
-        ILateralCacheAttributes cattr = new LateralCacheAttributes();
+        final String cacheName = "testRemoveNoWaitFacade_FacadeNotInList";
+        final ILateralCacheAttributes cattr = new LateralCacheAttributes();
         cattr.setCacheName( cacheName );
 
-        LateralCache<String, String> cache = new LateralCache<>( cattr );
-        LateralCacheNoWait<String, String> noWait = new LateralCacheNoWait<>( cache );
+        final LateralCache<String, String> cache = new LateralCache<>( cattr );
+        final LateralCacheNoWait<String, String> noWait = new LateralCacheNoWait<>( cache );
 
         // DO WORK
-        boolean result = listener.removeNoWait( noWait );
+        final boolean result = listener.removeNoWait( noWait );
 
         // VERIFY
         assertFalse( "Should not have removed the no wait.", result );
@@ -162,21 +164,22 @@
     public void testRemoveNoWait_FacadeInList_NoWaitNot()
     {
         // SETUP
-        String cacheName = "testAddNoWaitFacade_FacadeInList";
+        final String cacheName = "testAddNoWaitFacade_FacadeInList";
 
         @SuppressWarnings("unchecked")
+        final
         LateralCacheNoWait<String, String>[] noWaits = new LateralCacheNoWait[0];
-        ILateralCacheAttributes cattr = new LateralCacheAttributes();
+        final ILateralCacheAttributes cattr = new LateralCacheAttributes();
         cattr.setCacheName( cacheName );
 
-        LateralCacheNoWaitFacade<String, String> facade = new LateralCacheNoWaitFacade<>( null, noWaits, cattr );
+        final LateralCacheNoWaitFacade<String, String> facade = new LateralCacheNoWaitFacade<>( null, noWaits, cattr );
         listener.addNoWaitFacade( cacheName, facade );
 
-        LateralCache<String, String> cache = new LateralCache<>( cattr );
-        LateralCacheNoWait<String, String> noWait = new LateralCacheNoWait<>( cache );
+        final LateralCache<String, String> cache = new LateralCache<>( cattr );
+        final LateralCacheNoWait<String, String> noWait = new LateralCacheNoWait<>( cache );
 
         // DO WORK
-        boolean result = listener.removeNoWait( noWait );
+        final boolean result = listener.removeNoWait( noWait );
 
         // VERIFY
         assertFalse( "Should not have removed the no wait.", result );
@@ -188,22 +191,23 @@
     public void testRemoveNoWait_FacadeInList_NoWaitIs()
     {
         // SETUP
-        String cacheName = "testRemoveNoWaitFacade_FacadeInListNoWaitIs";
+        final String cacheName = "testRemoveNoWaitFacade_FacadeInListNoWaitIs";
 
         @SuppressWarnings("unchecked")
+        final
         LateralCacheNoWait<String, String>[] noWaits = new LateralCacheNoWait[0];
-        ILateralCacheAttributes cattr = new LateralCacheAttributes();
+        final ILateralCacheAttributes cattr = new LateralCacheAttributes();
         cattr.setCacheName( cacheName );
 
-        LateralCacheNoWaitFacade<String, String> facade = new LateralCacheNoWaitFacade<>( null, noWaits, cattr );
+        final LateralCacheNoWaitFacade<String, String> facade = new LateralCacheNoWaitFacade<>( null, noWaits, cattr );
         listener.addNoWaitFacade( cacheName, facade );
 
-        LateralCache<String, String> cache = new LateralCache<>( cattr );
-        LateralCacheNoWait<String, String> noWait = new LateralCacheNoWait<>( cache );
+        final LateralCache<String, String> cache = new LateralCache<>( cattr );
+        final LateralCacheNoWait<String, String> noWait = new LateralCacheNoWait<>( cache );
         listener.addNoWait( noWait );
 
         // DO WORK
-        boolean result = listener.removeNoWait( noWait );
+        final boolean result = listener.removeNoWait( noWait );
 
         // VERIFY
         assertTrue( "Should have removed the no wait.", result );
@@ -215,31 +219,32 @@
     public void testAddDiscoveredService_FacadeInList_NoWaitNot()
     {
         // SETUP
-        String cacheName = "testAddDiscoveredService_FacadeInList_NoWaitNot";
+        final String cacheName = "testAddDiscoveredService_FacadeInList_NoWaitNot";
 
-        ArrayList<String> cacheNames = new ArrayList<>();
+        final ArrayList<String> cacheNames = new ArrayList<>();
         cacheNames.add( cacheName );
 
-        DiscoveredService service = new DiscoveredService();
+        final DiscoveredService service = new DiscoveredService();
         service.setCacheNames( cacheNames );
         service.setServiceAddress( "localhost" );
         service.setServicePort( 9999 );
 
         // since the no waits are compared by object equality, I have to do this
         // TODO add an equals method to the noWait.  the problem if is figuring out what to compare.
-        ITCPLateralCacheAttributes lca = new TCPLateralCacheAttributes();
+        final ITCPLateralCacheAttributes lca = new TCPLateralCacheAttributes();
         lca.setTransmissionType( LateralCacheAttributes.Type.TCP );
         lca.setTcpServer( service.getServiceAddress() + ":" + service.getServicePort() );
         lca.setCacheName(cacheName);
-        LateralCacheNoWait<String, String> noWait = factory.createCacheNoWait(lca, cacheEventLogger, elementSerializer);
+        final LateralCacheNoWait<String, String> noWait = factory.createCacheNoWait(lca, cacheEventLogger, elementSerializer);
         // this is the normal process, the discovery service expects it there
         cacheMgr.addAuxiliaryCache(factory.getName(), cacheName, noWait);
 
         @SuppressWarnings("unchecked")
+        final
         LateralCacheNoWait<String, String>[] noWaits = new LateralCacheNoWait[0];
-        ILateralCacheAttributes cattr = new LateralCacheAttributes();
+        final ILateralCacheAttributes cattr = new LateralCacheAttributes();
         cattr.setCacheName( cacheName );
-        LateralCacheNoWaitFacade<String, String> facade = new LateralCacheNoWaitFacade<>( null, noWaits, cattr );
+        final LateralCacheNoWaitFacade<String, String> facade = new LateralCacheNoWaitFacade<>( null, noWaits, cattr );
         listener.addNoWaitFacade( cacheName, facade );
 
         // DO WORK
@@ -255,31 +260,32 @@
     public void testRemoveDiscoveredService_FacadeInList_NoWaitIs()
     {
         // SETUP
-        String cacheName = "testRemoveDiscoveredService_FacadeInList_NoWaitIs";
+        final String cacheName = "testRemoveDiscoveredService_FacadeInList_NoWaitIs";
 
-        ArrayList<String> cacheNames = new ArrayList<>();
+        final ArrayList<String> cacheNames = new ArrayList<>();
         cacheNames.add( cacheName );
 
-        DiscoveredService service = new DiscoveredService();
+        final DiscoveredService service = new DiscoveredService();
         service.setCacheNames( cacheNames );
         service.setServiceAddress( "localhost" );
         service.setServicePort( 9999 );
 
         // since the no waits are compared by object equality, I have to do this
         // TODO add an equals method to the noWait.  the problem if is figuring out what to compare.
-        ITCPLateralCacheAttributes lca = new TCPLateralCacheAttributes();
+        final ITCPLateralCacheAttributes lca = new TCPLateralCacheAttributes();
         lca.setTransmissionType( LateralCacheAttributes.Type.TCP );
         lca.setTcpServer( service.getServiceAddress() + ":" + service.getServicePort() );
         lca.setCacheName(cacheName);
-        LateralCacheNoWait<String, String> noWait = factory.createCacheNoWait(lca, cacheEventLogger, elementSerializer);
+        final LateralCacheNoWait<String, String> noWait = factory.createCacheNoWait(lca, cacheEventLogger, elementSerializer);
         // this is the normal process, the discovery service expects it there
         cacheMgr.addAuxiliaryCache(factory.getName(), cacheName, noWait);
 
         @SuppressWarnings("unchecked")
+        final
         LateralCacheNoWait<String, String>[] noWaits = new LateralCacheNoWait[0];
-        ILateralCacheAttributes cattr = new LateralCacheAttributes();
+        final ILateralCacheAttributes cattr = new LateralCacheAttributes();
         cattr.setCacheName( cacheName );
-        LateralCacheNoWaitFacade<String, String> facade = new LateralCacheNoWaitFacade<>( null, noWaits, cattr );
+        final LateralCacheNoWaitFacade<String, String> facade = new LateralCacheNoWaitFacade<>( null, noWaits, cattr );
         listener.addNoWaitFacade( cacheName, facade );
         listener.addDiscoveredService( service );
 
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPFilterRemoveHashCodeUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPFilterRemoveHashCodeUnitTest.java
index 8cb1979..bccd146 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPFilterRemoveHashCodeUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPFilterRemoveHashCodeUnitTest.java
@@ -45,7 +45,7 @@
      *
      * @param testName
      */
-    public LateralTCPFilterRemoveHashCodeUnitTest( String testName )
+    public LateralTCPFilterRemoveHashCodeUnitTest( final String testName )
     {
         super( testName );
     }
@@ -82,14 +82,14 @@
      * @throws Exception
      *                If an error occurs
      */
-    public void runTestForRegion( String region, int numOps, int testNum )
+    public void runTestForRegion( final String region, final int numOps, final int testNum )
         throws Exception
     {
-        CacheAccess<String, Serializable> cache = JCS.getInstance( region );
+        final CacheAccess<String, Serializable> cache = JCS.getInstance( region );
 
         Thread.sleep( 100 );
 
-        TCPLateralCacheAttributes lattr2 = new TCPLateralCacheAttributes();
+        final TCPLateralCacheAttributes lattr2 = new TCPLateralCacheAttributes();
         lattr2.setTcpListenerPort( 1102 );
         lattr2.setTransmissionTypeName( "TCP" );
         lattr2.setTcpServer( "localhost:" + serverPort );
@@ -100,14 +100,14 @@
         // this service will put and remove using the lateral to
         // the cache instance above
         // the cache thinks it is different since the listenerid is different
-        LateralTCPService<String, Serializable> service = new LateralTCPService<>( lattr2 );
+        final LateralTCPService<String, Serializable> service = new LateralTCPService<>( lattr2 );
         service.setListenerId( 123456 );
 
-        String keyToBeRemovedOnPut = "test1";
+        final String keyToBeRemovedOnPut = "test1";
 
-        String keyToNotBeRemovedOnPut = "test2";
+        final String keyToNotBeRemovedOnPut = "test2";
 
-        Serializable dataToPassHashCodeCompare = new Serializable()
+        final Serializable dataToPassHashCodeCompare = new Serializable()
         {
             private static final long serialVersionUID = 1L;
 
@@ -123,12 +123,12 @@
         // dataToPassHashCodeCompare.hashCode() );
 
         cache.put( keyToBeRemovedOnPut, "this should get removed." );
-        ICacheElement<String, Serializable> element1 = new CacheElement<>( region, keyToBeRemovedOnPut, region
+        final ICacheElement<String, Serializable> element1 = new CacheElement<>( region, keyToBeRemovedOnPut, region
             + ":data-this shouldn't get there" );
         service.update( element1 );
 
         cache.put( keyToNotBeRemovedOnPut, dataToPassHashCodeCompare );
-        ICacheElement<String, Serializable> element2 = new CacheElement<>( region, keyToNotBeRemovedOnPut, dataToPassHashCodeCompare );
+        final ICacheElement<String, Serializable> element2 = new CacheElement<>( region, keyToNotBeRemovedOnPut, dataToPassHashCodeCompare );
         service.update( element2 );
 
         /*
@@ -145,18 +145,18 @@
          * e.toString() ); e.printStackTrace( System.out ); throw e; }
          */
 
-        CacheAccess<String, String> jcs = JCS.getInstance( region );
-        String key = "testKey" + testNum;
-        String data = "testData" + testNum;
+        final CacheAccess<String, String> jcs = JCS.getInstance( region );
+        final String key = "testKey" + testNum;
+        final String data = "testData" + testNum;
         jcs.put( key, data );
-        String value = jcs.get( key );
+        final String value = jcs.get( key );
         assertEquals( "Couldn't put normally.", data, value );
 
         // make sure the items we can find are in the correct region.
         for ( int i = 1; i < numOps; i++ )
         {
-            String keyL = "key" + i;
-            String dataL = jcs.get( keyL );
+            final String keyL = "key" + i;
+            final String dataL = jcs.get( keyL );
             if ( dataL != null )
             {
                 assertTrue( "Incorrect region detected.", dataL.startsWith( region ) );
@@ -166,11 +166,11 @@
 
         Thread.sleep( 200 );
 
-        Object testObj1 = cache.get( keyToBeRemovedOnPut );
+        final Object testObj1 = cache.get( keyToBeRemovedOnPut );
         p( "test object1 = " + testObj1 );
         assertNull( "The test object should have been remvoed by a put.", testObj1 );
 
-        Object testObj2 = cache.get( keyToNotBeRemovedOnPut );
+        final Object testObj2 = cache.get( keyToNotBeRemovedOnPut );
         p( "test object2 = " + testObj2 + " hashCode = " );
         if ( testObj2 != null )
         {
@@ -183,7 +183,7 @@
     /**
      * @param s String to print
      */
-    public static void p( String s )
+    public static void p( final String s )
     {
         if ( isSysOut )
         {
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPIssueRemoveOnPutUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPIssueRemoveOnPutUnitTest.java
index 4466620..068d315 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPIssueRemoveOnPutUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPIssueRemoveOnPutUnitTest.java
@@ -46,7 +46,7 @@
      * <p>
      * @param testName
      */
-    public LateralTCPIssueRemoveOnPutUnitTest( String testName )
+    public LateralTCPIssueRemoveOnPutUnitTest( final String testName )
     {
         super( testName );
     }
@@ -80,13 +80,13 @@
     public void testStandardPut()
         throws Exception
     {
-        String region = "region1";
+        final String region = "region1";
 
-        CacheAccess<String, String> cache = JCS.getInstance( region );
+        final CacheAccess<String, String> cache = JCS.getInstance( region );
 
         Thread.sleep( 100 );
 
-        TCPLateralCacheAttributes lattr2 = new TCPLateralCacheAttributes();
+        final TCPLateralCacheAttributes lattr2 = new TCPLateralCacheAttributes();
         lattr2.setTcpListenerPort( 1102 );
         lattr2.setTransmissionTypeName( "TCP" );
         lattr2.setTcpServer( "localhost:" + serverPort );
@@ -97,18 +97,18 @@
         // Using the lateral, this service will put to and remove from
         // the cache instance above.
         // The cache thinks it is different since the listenerid is different
-        LateralTCPService<String, String> service = new LateralTCPService<>( lattr2 );
+        final LateralTCPService<String, String> service = new LateralTCPService<>( lattr2 );
         service.setListenerId( 123456 );
 
-        String keyToBeRemovedOnPut = "test1_notremoved";
+        final String keyToBeRemovedOnPut = "test1_notremoved";
 
-        ICacheElement<String, String> element1 = new CacheElement<>( region, keyToBeRemovedOnPut, region
+        final ICacheElement<String, String> element1 = new CacheElement<>( region, keyToBeRemovedOnPut, region
             + ":data-this shouldn't get removed, it should get to the cache." );
         service.update( element1 );
 
         Thread.sleep( 1000 );
 
-        Object testObj = cache.get( keyToBeRemovedOnPut );
+        final Object testObj = cache.get( keyToBeRemovedOnPut );
         p( "testStandardPut, test object = " + testObj );
         assertNotNull( "The test object should not have been removed by a put.", testObj );
     }
@@ -123,17 +123,17 @@
      * @param testNum
      * @throws Exception If an error occurs
      */
-    public void runTestForRegion( String region, int range, int numOps, int testNum )
+    public void runTestForRegion( final String region, final int range, final int numOps, final int testNum )
         throws Exception
     {
 
-        boolean show = false;
+        final boolean show = false;
 
-        CacheAccess<String, String> cache = JCS.getInstance( region );
+        final CacheAccess<String, String> cache = JCS.getInstance( region );
 
         Thread.sleep( 100 );
 
-        TCPLateralCacheAttributes lattr2 = new TCPLateralCacheAttributes();
+        final TCPLateralCacheAttributes lattr2 = new TCPLateralCacheAttributes();
         lattr2.setTcpListenerPort( 1102 );
         lattr2.setTransmissionTypeName( "TCP" );
         lattr2.setTcpServer( "localhost:" + serverPort );
@@ -144,13 +144,13 @@
         // Using the lateral, this service will put to and remove from
         // the cache instance above.
         // The cache thinks it is different since the listenerid is different
-        LateralTCPService<String, String> service = new LateralTCPService<>( lattr2 );
+        final LateralTCPService<String, String> service = new LateralTCPService<>( lattr2 );
         service.setListenerId( 123456 );
 
-        String keyToBeRemovedOnPut = "test1";
+        final String keyToBeRemovedOnPut = "test1";
         cache.put( keyToBeRemovedOnPut, "this should get removed." );
 
-        ICacheElement<String, String> element1 = new CacheElement<>( region, keyToBeRemovedOnPut, region
+        final ICacheElement<String, String> element1 = new CacheElement<>( region, keyToBeRemovedOnPut, region
             + ":data-this shouldn't get there" );
         service.update( element1 );
 
@@ -158,12 +158,12 @@
         {
             for ( int i = 1; i < numOps; i++ )
             {
-                Random ran = new Random( i );
-                int n = ran.nextInt( 4 );
-                int kn = ran.nextInt( range );
-                String key = "key" + kn;
+                final Random ran = new Random( i );
+                final int n = ran.nextInt( 4 );
+                final int kn = ran.nextInt( range );
+                final String key = "key" + kn;
 
-                ICacheElement<String, String> element = new CacheElement<>( region, key, region + ":data" + i
+                final ICacheElement<String, String> element = new CacheElement<>( region, key, region + ":data" + i
                     + " junk asdfffffffadfasdfasf " + kn + ":" + n );
                 service.update( element );
                 if ( show )
@@ -179,25 +179,25 @@
             }
             p( "Finished cycle of " + numOps );
         }
-        catch ( Exception e )
+        catch ( final Exception e )
         {
             p( e.toString() );
             e.printStackTrace( System.out );
             throw e;
         }
 
-        CacheAccess<String, String> jcs = JCS.getInstance( region );
-        String key = "testKey" + testNum;
-        String data = "testData" + testNum;
+        final CacheAccess<String, String> jcs = JCS.getInstance( region );
+        final String key = "testKey" + testNum;
+        final String data = "testData" + testNum;
         jcs.put( key, data );
-        String value = jcs.get( key );
+        final String value = jcs.get( key );
         assertEquals( "Couldn't put normally.", data, value );
 
         // make sure the items we can find are in the correct region.
         for ( int i = 1; i < numOps; i++ )
         {
-            String keyL = "key" + i;
-            String dataL = jcs.get( keyL );
+            final String keyL = "key" + i;
+            final String dataL = jcs.get( keyL );
             if ( dataL != null )
             {
                 assertTrue( "Incorrect region detected.", dataL.startsWith( region ) );
@@ -207,7 +207,7 @@
 
         Thread.sleep( 200 );
 
-        Object testObj = cache.get( keyToBeRemovedOnPut );
+        final Object testObj = cache.get( keyToBeRemovedOnPut );
         p( "runTestForRegion, test object = " + testObj );
         assertNull( "The test object should have been removed by a put.", testObj );
 
@@ -216,7 +216,7 @@
     /**
      * @param s String to be printed
      */
-    public static void p( String s )
+    public static void p( final String s )
     {
         if ( isSysOut )
         {
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPNoDeadLockConcurrentTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPNoDeadLockConcurrentTest.java
index d19d85e..739a376 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPNoDeadLockConcurrentTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/LateralTCPNoDeadLockConcurrentTest.java
@@ -38,7 +38,7 @@
      *
      * @param testName
      */
-    public LateralTCPNoDeadLockConcurrentTest( String testName )
+    public LateralTCPNoDeadLockConcurrentTest( final String testName )
     {
         super( testName );
     }
@@ -48,9 +48,9 @@
      *
      * @param args
      */
-    public static void main( String args[] )
+    public static void main( final String args[] )
     {
-        String[] testCaseName = { LateralTCPNoDeadLockConcurrentTest.class.getName() };
+        final String[] testCaseName = { LateralTCPNoDeadLockConcurrentTest.class.getName() };
         junit.textui.TestRunner.main( testCaseName );
     }
 
@@ -64,7 +64,7 @@
 
         System.setProperty( "jcs.auxiliary.LTCP.attributes.PutOnlyMode", "false" );
 
-        ActiveTestSuite suite = new ActiveTestSuite();
+        final ActiveTestSuite suite = new ActiveTestSuite();
 
         suite.addTest( new LateralTCPConcurrentRandomTestUtil( "testLateralTCPCache1" )
         {
@@ -136,10 +136,10 @@
     {
         try
         {
-            CompositeCacheManager cacheMgr = CompositeCacheManager.getInstance();
+            final CompositeCacheManager cacheMgr = CompositeCacheManager.getInstance();
             cacheMgr.shutDown();
         }
-        catch ( Exception e )
+        catch ( final Exception e )
         {
             e.printStackTrace();
         }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/TestTCPLateralUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/TestTCPLateralUnitTest.java
index dd241fd..e5a7759 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/TestTCPLateralUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/TestTCPLateralUnitTest.java
@@ -69,26 +69,26 @@
         // force initialization
         JCS.getInstance( "test" );
 
-        TCPLateralCacheAttributes lac = new TCPLateralCacheAttributes();
+        final TCPLateralCacheAttributes lac = new TCPLateralCacheAttributes();
         lac.setTransmissionType( LateralCacheAttributes.Type.TCP );
         lac.setTcpServer( "localhost" + ":" + 8111 );
         lac.setTcpListenerPort( 8111 );
 
-        ICompositeCacheManager cacheMgr = CompositeCacheManager.getInstance();
+        final ICompositeCacheManager cacheMgr = CompositeCacheManager.getInstance();
 
         // start the listener
-        LateralTCPListener<String, String> listener = LateralTCPListener.getInstance( lac, cacheMgr );
+        final LateralTCPListener<String, String> listener = LateralTCPListener.getInstance( lac, cacheMgr );
 
         // send to the listener
-        LateralTCPSender lur = new LateralTCPSender( lac );
+        final LateralTCPSender lur = new LateralTCPSender( lac );
 
         // DO WORK
-        int numMes = 10;
+        final int numMes = 10;
         for ( int i = 0; i < numMes; i++ )
         {
-            String message = "adsfasasfasfasdasf";
-            CacheElement<String, String> ce = new CacheElement<>( "test", "test", message );
-            LateralElementDescriptor<String, String> led = new LateralElementDescriptor<>( ce );
+            final String message = "adsfasasfasfasdasf";
+            final CacheElement<String, String> ce = new CacheElement<>( "test", "test", message );
+            final LateralElementDescriptor<String, String> led = new LateralElementDescriptor<>( ce );
             led.command = LateralCommand.UPDATE;
             led.requesterId = 1;
             lur.send( led );
@@ -107,27 +107,27 @@
         throws Exception
     {
         // VERIFY
-        TCPLateralCacheAttributes lattr = new TCPLateralCacheAttributes();
+        final TCPLateralCacheAttributes lattr = new TCPLateralCacheAttributes();
         lattr.setTcpListenerPort( 1101 );
         lattr.setTransmissionTypeName( "TCP" );
-        MockCompositeCacheManager cacheMgr = new MockCompositeCacheManager();
+        final MockCompositeCacheManager cacheMgr = new MockCompositeCacheManager();
 //        System.out.println( "mock cache = " + cacheMgr.getCache( "test" ) );
 
         LateralTCPListener.getInstance( lattr, cacheMgr );
 
-        TCPLateralCacheAttributes lattr2 = new TCPLateralCacheAttributes();
+        final TCPLateralCacheAttributes lattr2 = new TCPLateralCacheAttributes();
         lattr2.setTcpListenerPort( 1102 );
         lattr2.setTransmissionTypeName( "TCP" );
         lattr2.setTcpServer( "localhost:1101" );
 
-        LateralTCPService<String, String> service = new LateralTCPService<>( lattr2 );
+        final LateralTCPService<String, String> service = new LateralTCPService<>( lattr2 );
         service.setListenerId( 123456 );
 
         // DO WORK
-        int cnt = 100;
+        final int cnt = 100;
         for ( int i = 0; i < cnt; i++ )
         {
-            ICacheElement<String, String> element = new CacheElement<>( "test", "key" + i, "value1" );
+            final ICacheElement<String, String> element = new CacheElement<>( "test", "key" + i, "value1" );
             service.update( element );
         }
 
@@ -147,10 +147,10 @@
     {
         // SETUP
         // setup a listener
-        TCPLateralCacheAttributes lattr = new TCPLateralCacheAttributes();
+        final TCPLateralCacheAttributes lattr = new TCPLateralCacheAttributes();
         lattr.setTcpListenerPort( 1103 );
-        MockCompositeCacheManager cacheMgr = new MockCompositeCacheManager();
-        CompositeCache<String, String> cache = cacheMgr.getCache( "test" );
+        final MockCompositeCacheManager cacheMgr = new MockCompositeCacheManager();
+        final CompositeCache<String, String> cache = cacheMgr.getCache( "test" );
 //        System.out.println( "mock cache = " + cache );
 
         // get the listener started
@@ -159,26 +159,26 @@
         LateralTCPListener.getInstance( lattr, cacheMgr );
 
         // setup a service to talk to the listener started above.
-        TCPLateralCacheAttributes lattr2 = new TCPLateralCacheAttributes();
+        final TCPLateralCacheAttributes lattr2 = new TCPLateralCacheAttributes();
         lattr2.setTcpListenerPort( 1104 );
         lattr2.setTcpServer( "localhost:1103" );
 
-        LateralTCPService<String, String> service = new LateralTCPService<>( lattr2 );
+        final LateralTCPService<String, String> service = new LateralTCPService<>( lattr2 );
         service.setListenerId( 123456 );
 
         // DO WORK
-        ICacheElement<String, String> element = new CacheElement<>( "test", "key", "value1" );
+        final ICacheElement<String, String> element = new CacheElement<>( "test", "key", "value1" );
         service.update( element );
 
         SleepUtil.sleepAtLeast( 300 );
 
-        ICacheElement<String, String> element2 = new CacheElement<>( "test", "key", "value2" );
+        final ICacheElement<String, String> element2 = new CacheElement<>( "test", "key", "value2" );
         service.update( element2 );
 
         SleepUtil.sleepAtLeast( 1000 );
 
         // VERIFY
-        ICacheElement<String, String> cacheElement = cache.get( "key" );
+        final ICacheElement<String, String> cacheElement = cache.get( "key" );
         assertEquals( "Didn't get the correct object "+ cacheElement, element2.getVal(), cacheElement.getVal() );
     }
 
@@ -190,11 +190,11 @@
     public void testSameKeyObjectDifferentValueObject()
         throws Exception
     {
-        TCPLateralCacheAttributes lattr = new TCPLateralCacheAttributes();
+        final TCPLateralCacheAttributes lattr = new TCPLateralCacheAttributes();
         lattr.setTcpListenerPort( 1105 );
         lattr.setTransmissionTypeName( "TCP" );
-        MockCompositeCacheManager cacheMgr = new MockCompositeCacheManager();
-        CompositeCache<String, String> cache = cacheMgr.getCache( "test" );
+        final MockCompositeCacheManager cacheMgr = new MockCompositeCacheManager();
+        final CompositeCache<String, String> cache = cacheMgr.getCache( "test" );
 //        System.out.println( "mock cache = " + cache );
 
         // get the listener started
@@ -202,28 +202,28 @@
         //LateralTCPListener listener = (LateralTCPListener)
         LateralTCPListener.getInstance( lattr, cacheMgr );
 
-        TCPLateralCacheAttributes lattr2 = new TCPLateralCacheAttributes();
+        final TCPLateralCacheAttributes lattr2 = new TCPLateralCacheAttributes();
         lattr2.setTcpListenerPort( 1106 );
         lattr2.setTransmissionTypeName( "TCP" );
         lattr2.setTcpServer( "localhost:1105" );
 
-        LateralTCPService<String, String> service = new LateralTCPService<>( lattr2 );
+        final LateralTCPService<String, String> service = new LateralTCPService<>( lattr2 );
         service.setListenerId( 123456 );
 
         // DO WORK
-        String key = "key";
-        ICacheElement<String, String> element = new CacheElement<>( "test", key, "value1" );
+        final String key = "key";
+        final ICacheElement<String, String> element = new CacheElement<>( "test", key, "value1" );
         service.update( element );
 
         SleepUtil.sleepAtLeast( 300 );
 
-        ICacheElement<String, String> element2 = new CacheElement<>( "test", key, "value2" );
+        final ICacheElement<String, String> element2 = new CacheElement<>( "test", key, "value2" );
         service.update( element2 );
 
         SleepUtil.sleepAtLeast( 1000 );
 
         // VERIFY
-        ICacheElement<String, String> cacheElement = cache.get( "key" );
+        final ICacheElement<String, String> cacheElement = cache.get( "key" );
         assertEquals( "Didn't get the correct object: " + cacheElement , element2.getVal(), cacheElement.getVal() );
     }
 
@@ -238,10 +238,10 @@
     {
         // SETUP
         // setup a listener
-        TCPLateralCacheAttributes lattr = new TCPLateralCacheAttributes();
+        final TCPLateralCacheAttributes lattr = new TCPLateralCacheAttributes();
         lattr.setTcpListenerPort( 1107 );
-        MockCompositeCacheManager cacheMgr = new MockCompositeCacheManager();
-        CompositeCache<String, String> cache = cacheMgr.getCache( "test" );
+        final MockCompositeCacheManager cacheMgr = new MockCompositeCacheManager();
+        final CompositeCache<String, String> cache = cacheMgr.getCache( "test" );
 //        System.out.println( "mock cache = " + cache );
 
         // get the listener started
@@ -249,21 +249,21 @@
         LateralTCPListener.getInstance( lattr, cacheMgr );
 
         // add the item to the listeners cache
-        ICacheElement<String, String> element = new CacheElement<>( "test", "key", "value1" );
+        final ICacheElement<String, String> element = new CacheElement<>( "test", "key", "value1" );
         cache.update( element );
 
         // setup a service to talk to the listener started above.
-        TCPLateralCacheAttributes lattr2 = new TCPLateralCacheAttributes();
+        final TCPLateralCacheAttributes lattr2 = new TCPLateralCacheAttributes();
         lattr2.setTcpListenerPort( 1108 );
         lattr2.setTcpServer( "localhost:1107" );
 
-        LateralTCPService<String, String> service = new LateralTCPService<>( lattr2 );
+        final LateralTCPService<String, String> service = new LateralTCPService<>( lattr2 );
         service.setListenerId( 123456 );
 
         SleepUtil.sleepAtLeast( 300 );
 
         // DO WORK
-        ICacheElement<String, String> result = service.get( "test", "key" );
+        final ICacheElement<String, String> result = service.get( "test", "key" );
 
         // VERIFY
         assertNotNull( "Result should not be null.", result );
@@ -280,10 +280,10 @@
     {
         // SETUP
         // setup a listener
-        TCPLateralCacheAttributes lattr = new TCPLateralCacheAttributes();
+        final TCPLateralCacheAttributes lattr = new TCPLateralCacheAttributes();
         lattr.setTcpListenerPort( 1150 );
-        MockCompositeCacheManager cacheMgr = new MockCompositeCacheManager();
-        CompositeCache<GroupAttrName<String>, String> cache = cacheMgr.getCache( "test" );
+        final MockCompositeCacheManager cacheMgr = new MockCompositeCacheManager();
+        final CompositeCache<GroupAttrName<String>, String> cache = cacheMgr.getCache( "test" );
 //        System.out.println( "mock cache = " + cache );
 
         // get the listener started
@@ -291,24 +291,24 @@
         LateralTCPListener.getInstance( lattr, cacheMgr );
 
         // add the item to the listeners cache
-        GroupAttrName<String> groupKey = new GroupAttrName<>(new GroupId("test", "group"), "key");
-        ICacheElement<GroupAttrName<String>, String> element =
+        final GroupAttrName<String> groupKey = new GroupAttrName<>(new GroupId("test", "group"), "key");
+        final ICacheElement<GroupAttrName<String>, String> element =
             new CacheElement<>( "test", groupKey, "value1" );
         cache.update( element );
 
         // setup a service to talk to the listener started above.
-        TCPLateralCacheAttributes lattr2 = new TCPLateralCacheAttributes();
+        final TCPLateralCacheAttributes lattr2 = new TCPLateralCacheAttributes();
         lattr2.setTcpListenerPort( 1151 );
         lattr2.setTcpServer( "localhost:1150" );
 
-        LateralTCPService<GroupAttrName<String>, String> service =
+        final LateralTCPService<GroupAttrName<String>, String> service =
             new LateralTCPService<>( lattr2 );
         service.setListenerId( 123459 );
 
         SleepUtil.sleepAtLeast( 500 );
 
         // DO WORK
-        Set<GroupAttrName<String>> result = service.getKeySet("test");
+        final Set<GroupAttrName<String>> result = service.getKeySet("test");
 
        // SleepUtil.sleepAtLeast( 5000000 );
 
@@ -328,38 +328,38 @@
     {
         // SETUP
         // setup a listener
-        TCPLateralCacheAttributes lattr = new TCPLateralCacheAttributes();
+        final TCPLateralCacheAttributes lattr = new TCPLateralCacheAttributes();
         lattr.setTcpListenerPort( 1108 );
-        MockCompositeCacheManager cacheMgr = new MockCompositeCacheManager();
-        CompositeCache<String, Integer> cache = cacheMgr.getCache( "test" );
+        final MockCompositeCacheManager cacheMgr = new MockCompositeCacheManager();
+        final CompositeCache<String, Integer> cache = cacheMgr.getCache( "test" );
 //        System.out.println( "mock cache = " + cache );
 
         // get the listener started
         // give it our mock cache manager
         LateralTCPListener.getInstance( lattr, cacheMgr );
 
-        String keyprefix1 = "MyPrefix1";
-        int numToInsertPrefix1 = 10;
+        final String keyprefix1 = "MyPrefix1";
+        final int numToInsertPrefix1 = 10;
         // insert with prefix1
         for ( int i = 0; i < numToInsertPrefix1; i++ )
         {
             // add the item to the listeners cache
-            ICacheElement<String, Integer> element = new CacheElement<>( "test", keyprefix1 + String.valueOf( i ), Integer.valueOf( i ) );
+            final ICacheElement<String, Integer> element = new CacheElement<>( "test", keyprefix1 + String.valueOf( i ), Integer.valueOf( i ) );
             cache.update( element );
         }
 
         // setup a service to talk to the listener started above.
-        TCPLateralCacheAttributes lattr2 = new TCPLateralCacheAttributes();
+        final TCPLateralCacheAttributes lattr2 = new TCPLateralCacheAttributes();
         lattr2.setTcpListenerPort( 1108 );
         lattr2.setTcpServer( "localhost:1108" );
 
-        LateralTCPService<String, Integer> service = new LateralTCPService<>( lattr2 );
+        final LateralTCPService<String, Integer> service = new LateralTCPService<>( lattr2 );
         service.setListenerId( 123456 );
 
         SleepUtil.sleepAtLeast( 300 );
 
         // DO WORK
-        Map<String, ICacheElement<String, Integer>> result = service.getMatching( "test", keyprefix1 + ".+" );
+        final Map<String, ICacheElement<String, Integer>> result = service.getMatching( "test", keyprefix1 + ".+" );
 
         // VERIFY
         assertNotNull( "Result should not be null.", result );
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/MockRemoteCacheClient.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/MockRemoteCacheClient.java
index 4526969..d6cae29 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/MockRemoteCacheClient.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/MockRemoteCacheClient.java
@@ -76,7 +76,7 @@
      */
     @Override
     @SuppressWarnings("unchecked") // Don't know how to do this properly
-    public void fixCache( ICacheServiceNonLocal<?, ?> remote )
+    public void fixCache( final ICacheServiceNonLocal<?, ?> remote )
     {
         fixed = (ICacheServiceNonLocal<K, V>)remote;
     }
@@ -103,7 +103,7 @@
      * Adds the argument to the updatedList.
      */
     @Override
-    public void update( ICacheElement<K, V> ce )
+    public void update( final ICacheElement<K, V> ce )
     {
         updateList.add( ce );
     }
@@ -112,7 +112,7 @@
      * Looks in the getSetupMap for a value.
      */
     @Override
-    public ICacheElement<K, V> get( K key )
+    public ICacheElement<K, V> get( final K key )
     {
         log.info( "get [" + key + "]" );
         return getSetupMap.get( key );
@@ -126,7 +126,7 @@
      *         data in cache for any of these keys
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMultiple(Set<K> keys)
+    public Map<K, ICacheElement<K, V>> getMultiple(final Set<K> keys)
     {
         log.info( "get [" + keys + "]" );
         return getMultipleSetupMap.get( keys );
@@ -136,7 +136,7 @@
      * Adds the key to the remove list.
      */
     @Override
-    public boolean remove( K key )
+    public boolean remove( final K key )
     {
         removeList.add( key );
         return false;
@@ -242,7 +242,7 @@
      * @throws IOException
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMatching(String pattern)
+    public Map<K, ICacheElement<K, V>> getMatching(final String pattern)
         throws IOException
     {
         return new HashMap<>();
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/MockRemoteCacheListener.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/MockRemoteCacheListener.java
index bb88c6a..fed912e 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/MockRemoteCacheListener.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/MockRemoteCacheListener.java
@@ -108,7 +108,7 @@
      * @throws IOException
      */
     @Override
-    public void setListenerId( long id )
+    public void setListenerId( final long id )
         throws IOException
     {
         listenerId = id;
@@ -119,7 +119,7 @@
      * @throws IOException
      */
     @Override
-    public void handleDispose( String cacheName )
+    public void handleDispose( final String cacheName )
         throws IOException
     {
         // TODO Auto-generated method stub
@@ -133,7 +133,7 @@
      * @throws IOException
      */
     @Override
-    public void handlePut( ICacheElement<K, V> item )
+    public void handlePut( final ICacheElement<K, V> item )
         throws IOException
     {
         putCount++;
@@ -148,7 +148,7 @@
      * @throws IOException
      */
     @Override
-    public void handleRemove( String cacheName, K key )
+    public void handleRemove( final String cacheName, final K key )
         throws IOException
     {
         removeCount++;
@@ -160,7 +160,7 @@
      * @throws IOException
      */
     @Override
-    public void handleRemoveAll( String cacheName )
+    public void handleRemoveAll( final String cacheName )
         throws IOException
     {
         // TODO Auto-generated method stub
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/MockRemoteCacheService.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/MockRemoteCacheService.java
index 19ba06f..08b82d0 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/MockRemoteCacheService.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/MockRemoteCacheService.java
@@ -67,7 +67,7 @@
      * @return null
      */
     @Override
-    public ICacheElement<K, V> get( String cacheName, K key, long requesterId )
+    public ICacheElement<K, V> get( final String cacheName, final K key, final long requesterId )
     {
         lastGetKey = key;
         return null;
@@ -78,7 +78,7 @@
      * @return empty set
      */
     @Override
-    public Set<K> getKeySet( String cacheName )
+    public Set<K> getKeySet( final String cacheName )
     {
         return new HashSet<>();
     }
@@ -91,7 +91,7 @@
      * @param requesterId
      */
     @Override
-    public void remove( String cacheName, K key, long requesterId )
+    public void remove( final String cacheName, final K key, final long requesterId )
     {
         lastRemoveKey = key;
     }
@@ -100,7 +100,7 @@
      * Set the lastRemoveAllCacheName to the cacheName.
      */
     @Override
-    public void removeAll( String cacheName, long requesterId )
+    public void removeAll( final String cacheName, final long requesterId )
         throws IOException
     {
         lastRemoveAllCacheName = cacheName;
@@ -113,7 +113,7 @@
      * @param requesterId
      */
     @Override
-    public void update( ICacheElement<K, V> item, long requesterId )
+    public void update( final ICacheElement<K, V> item, final long requesterId )
     {
         lastUpdate = item;
         updateRequestList.add( item );
@@ -126,7 +126,7 @@
      * @param cacheName
      */
     @Override
-    public void dispose( String cacheName )
+    public void dispose( final String cacheName )
     {
         return;
     }
@@ -137,7 +137,7 @@
      * @return null
      */
     @Override
-    public ICacheElement<K, V> get( String cacheName, K key )
+    public ICacheElement<K, V> get( final String cacheName, final K key )
     {
         return get( cacheName, key, 0 );
     }
@@ -158,7 +158,7 @@
      * @param key
      */
     @Override
-    public void remove( String cacheName, K key )
+    public void remove( final String cacheName, final K key )
     {
         lastRemoveKey = key;
     }
@@ -169,7 +169,7 @@
      * @param cacheName
      */
     @Override
-    public void removeAll( String cacheName )
+    public void removeAll( final String cacheName )
     {
         lastRemoveAllCacheName = cacheName;
     }
@@ -180,7 +180,7 @@
      * @param item
      */
     @Override
-    public void update( ICacheElement<K, V> item )
+    public void update( final ICacheElement<K, V> item )
     {
         lastUpdate = item;
     }
@@ -192,7 +192,7 @@
      * @return empty map
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMultiple( String cacheName, Set<K> keys, long requesterId )
+    public Map<K, ICacheElement<K, V>> getMultiple( final String cacheName, final Set<K> keys, final long requesterId )
     {
         lastGetMultipleKeys = keys;
         return new HashMap<>();
@@ -204,7 +204,7 @@
      * @return empty map
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMultiple( String cacheName, Set<K> keys )
+    public Map<K, ICacheElement<K, V>> getMultiple( final String cacheName, final Set<K> keys )
     {
         return getMultiple( cacheName, keys, 0 );
     }
@@ -218,7 +218,7 @@
      * @throws IOException
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMatching( String cacheName, String pattern )
+    public Map<K, ICacheElement<K, V>> getMatching( final String cacheName, final String pattern )
         throws IOException
     {
         return getMatching( cacheName, pattern, 0 );
@@ -232,7 +232,7 @@
      * @throws IOException
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMatching( String cacheName, String pattern, long requesterId )
+    public Map<K, ICacheElement<K, V>> getMatching( final String cacheName, final String pattern, final long requesterId )
         throws IOException
     {
         lastGetMatchingPattern = pattern;
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheClientTester.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheClientTester.java
index 9884871..2ecdda0 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheClientTester.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheClientTester.java
@@ -81,7 +81,7 @@
      * @throws NotBoundException
      * @throws IOException
      */
-    public RemoteCacheClientTester( int count )
+    public RemoteCacheClientTester( final int count )
         throws MalformedURLException, NotBoundException, IOException
     {
         this( count, true, true, false );
@@ -97,7 +97,7 @@
      * @throws NotBoundException
      * @throws IOException
      */
-    public RemoteCacheClientTester( int count, boolean write, boolean read, boolean delete )
+    public RemoteCacheClientTester( final int count, final boolean write, final boolean read, final boolean delete )
         throws MalformedURLException, NotBoundException, IOException
     {
         this( "", Registry.REGISTRY_PORT, count, write, read, delete );
@@ -116,7 +116,7 @@
      * @throws IOException
      */
     @SuppressWarnings("unchecked")
-    public RemoteCacheClientTester( String host, int port, int count, boolean write, boolean read, boolean delete )
+    public RemoteCacheClientTester( final String host, final int port, final int count, final boolean write, final boolean read, final boolean delete )
         throws MalformedURLException, NotBoundException, IOException
     {
         this.count = count;
@@ -132,7 +132,7 @@
             // using an anonymous port.
             UnicastRemoteObject.exportObject( this );
         }
-        catch ( ExportException e )
+        catch ( final ExportException e )
         {
             // use already exported object; remember exception
             ee = e;
@@ -144,11 +144,11 @@
         {
             service = REMOTE_CACHE_SERVICE_VAL;
         }
-        String registry = RemoteUtils.getNamingURL(host, port, service);
+        final String registry = RemoteUtils.getNamingURL(host, port, service);
 
         p( "looking up server " + registry );
 
-        Object obj = Naming.lookup( registry );
+        final Object obj = Naming.lookup( registry );
 
         p( "server found" );
 
@@ -178,7 +178,7 @@
                 {
                     cache.update( cb );
                 }
-                catch ( ObjectExistsException oee )
+                catch ( final ObjectExistsException oee )
                 {
                     p( oee.toString() );
                 }
@@ -187,10 +187,10 @@
             {
                 try
                 {
-                    Object val = cache.get( cb.getCacheName(), cb.getKey() );
+                    final Object val = cache.get( cb.getCacheName(), cb.getKey() );
                     p( "get " + cb.getKey() + " returns " + val );
                 }
-                catch ( CacheException onfe )
+                catch ( final CacheException onfe )
                 {
                     // nothing
                 }
@@ -203,7 +203,7 @@
      * @throws IOException
      */
     @Override
-    public void handlePut( ICacheElement<String, String> cb )
+    public void handlePut( final ICacheElement<String, String> cb )
         throws IOException
     {
         p( "handlePut> cb=" + cb );
@@ -215,7 +215,7 @@
      * @throws IOException
      */
     @Override
-    public void handleRemove( String cacheName, String key )
+    public void handleRemove( final String cacheName, final String key )
         throws IOException
     {
         p( "handleRemove> cacheName=" + cacheName + ", key=" + key );
@@ -226,7 +226,7 @@
      * @throws IOException
      */
     @Override
-    public void handleRemoveAll( String cacheName )
+    public void handleRemoveAll( final String cacheName )
         throws IOException
     {
         p( "handleRemove> cacheName=" + cacheName );
@@ -237,7 +237,7 @@
      * @throws IOException
      */
     @Override
-    public void handleDispose( String cacheName )
+    public void handleDispose( final String cacheName )
         throws IOException
     {
         p( "handleDispose> cacheName=" + cacheName );
@@ -251,7 +251,7 @@
      * @param args The command line arguments
      * @throws Exception
      */
-    public static void main( String[] args )
+    public static void main( final String[] args )
         throws Exception
     {
         int count = 0;
@@ -290,7 +290,7 @@
      * @throws IOException
      */
     @Override
-    public void setListenerId( long id )
+    public void setListenerId( final long id )
         throws IOException
     {
         listenerId = id;
@@ -313,7 +313,7 @@
      * Helper for output, this is an user run test class
      * @param s
      */
-    private static void p( String s )
+    private static void p( final String s )
     {
         System.out.println( s );
     }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheListenerUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheListenerUnitTest.java
index 9c5894d..4101214 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheListenerUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheListenerUnitTest.java
@@ -52,20 +52,20 @@
         throws Exception
     {
         // SETUP
-        IRemoteCacheAttributes irca = new RemoteCacheAttributes();
+        final IRemoteCacheAttributes irca = new RemoteCacheAttributes();
         irca.setRemoveUponRemotePut( false );
-        ICompositeCacheManager cacheMgr = new MockCompositeCacheManager();
-        RemoteCacheListener<String, String> listener = new RemoteCacheListener<>( irca, cacheMgr, new StandardSerializer() );
+        final ICompositeCacheManager cacheMgr = new MockCompositeCacheManager();
+        final RemoteCacheListener<String, String> listener = new RemoteCacheListener<>( irca, cacheMgr, new StandardSerializer() );
 
-        String cacheName = "testName";
-        String key = "key";
-        String value = "value fdsadf dsafdsa fdsaf dsafdsaf dsafdsaf dsaf dsaf dsaf dsafa dsaf dsaf dsafdsaf";
-        IElementAttributes attr = new ElementAttributes();
+        final String cacheName = "testName";
+        final String key = "key";
+        final String value = "value fdsadf dsafdsa fdsaf dsafdsaf dsafdsaf dsaf dsaf dsaf dsafa dsaf dsaf dsafdsaf";
+        final IElementAttributes attr = new ElementAttributes();
         attr.setMaxLife(34);
 
-        IElementSerializer elementSerializer = new StandardSerializer();
+        final IElementSerializer elementSerializer = new StandardSerializer();
 
-        ICacheElementSerialized<String, String> element =
+        final ICacheElementSerialized<String, String> element =
             new CacheElementSerialized<>( cacheName, key, elementSerializer
             .serialize( value ), attr );
 
@@ -73,8 +73,8 @@
         listener.handlePut( element );
 
         // VERIFY
-        ICache<String, String> cache = cacheMgr.getCache( cacheName );
-        ICacheElement<String, String> after = cache.get( key );
+        final ICache<String, String> cache = cacheMgr.getCache( cacheName );
+        final ICacheElement<String, String> after = cache.get( key );
 
         assertNotNull( "Should have a deserialized object.", after );
         assertEquals( "Values should be the same.", value, after.getVal() );
@@ -95,20 +95,20 @@
         throws Exception
     {
         // SETUP
-        IRemoteCacheAttributes irca = new RemoteCacheAttributes();
+        final IRemoteCacheAttributes irca = new RemoteCacheAttributes();
         irca.setRemoveUponRemotePut( true );
-        ICompositeCacheManager cacheMgr = new MockCompositeCacheManager();
-        RemoteCacheListener<String, String> listener = new RemoteCacheListener<>( irca, cacheMgr, new StandardSerializer() );
+        final ICompositeCacheManager cacheMgr = new MockCompositeCacheManager();
+        final RemoteCacheListener<String, String> listener = new RemoteCacheListener<>( irca, cacheMgr, new StandardSerializer() );
 
-        String cacheName = "testName";
-        String key = "key";
-        String value = "value fdsadf dsafdsa fdsaf dsafdsaf dsafdsaf dsaf dsaf dsaf dsafa dsaf dsaf dsafdsaf";
-        IElementAttributes attr = new ElementAttributes();
+        final String cacheName = "testName";
+        final String key = "key";
+        final String value = "value fdsadf dsafdsa fdsaf dsafdsaf dsafdsaf dsaf dsaf dsaf dsafa dsaf dsaf dsafdsaf";
+        final IElementAttributes attr = new ElementAttributes();
         attr.setMaxLife(34);
 
-        IElementSerializer elementSerializer = new StandardSerializer();
+        final IElementSerializer elementSerializer = new StandardSerializer();
 
-        ICacheElementSerialized<String, String> element =
+        final ICacheElementSerialized<String, String> element =
             new CacheElementSerialized<>( cacheName, key, elementSerializer
             .serialize( value ), attr );
 
@@ -116,8 +116,8 @@
         listener.handlePut( element );
 
         // VERIFY
-        ICache<String, String> cache = cacheMgr.getCache( cacheName );
-        ICacheElement<String, String> after = cache.get( key );
+        final ICache<String, String> cache = cacheMgr.getCache( cacheName );
+        final ICacheElement<String, String> after = cache.get( key );
 
         assertNull( "Should not have a deserialized object since remove on put is true.", after );
     }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheNoWaitFacadeUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheNoWaitFacadeUnitTest.java
index ec30bd6..4f7e4fc 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheNoWaitFacadeUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheNoWaitFacadeUnitTest.java
@@ -38,15 +38,15 @@
     public void testAddNoWait_InList()
     {
         // SETUP
-        List<RemoteCacheNoWait<String, String>> noWaits = new ArrayList<>();
-        IRemoteCacheAttributes cattr = new RemoteCacheAttributes();
+        final List<RemoteCacheNoWait<String, String>> noWaits = new ArrayList<>();
+        final IRemoteCacheAttributes cattr = new RemoteCacheAttributes();
         cattr.setCacheName( "testCache1" );
 
-        RemoteCache<String, String> client = new RemoteCache<>(cattr, null, null, null);
-        RemoteCacheNoWait<String, String> noWait = new RemoteCacheNoWait<>( client );
+        final RemoteCache<String, String> client = new RemoteCache<>(cattr, null, null, null);
+        final RemoteCacheNoWait<String, String> noWait = new RemoteCacheNoWait<>( client );
         noWaits.add( noWait );
 
-        RemoteCacheNoWaitFacade<String, String> facade = new RemoteCacheNoWaitFacade<>(noWaits, cattr, null, null, null );
+        final RemoteCacheNoWaitFacade<String, String> facade = new RemoteCacheNoWaitFacade<>(noWaits, cattr, null, null, null );
 
         // VERIFY
         assertEquals( "Should have one entry.", 1, facade.noWaits.size() );
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheNoWaitUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheNoWaitUnitTest.java
index 55e5d24..be78171 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheNoWaitUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheNoWaitUnitTest.java
@@ -48,10 +48,10 @@
         throws Exception
     {
         // SETUP
-        MockRemoteCacheClient<String, String> client = new MockRemoteCacheClient<>();
-        RemoteCacheNoWait<String, String> noWait = new RemoteCacheNoWait<>( client );
+        final MockRemoteCacheClient<String, String> client = new MockRemoteCacheClient<>();
+        final RemoteCacheNoWait<String, String> noWait = new RemoteCacheNoWait<>( client );
 
-        ICacheElement<String, String> element = new CacheElement<>( "testUpdate", "key", "value" );
+        final ICacheElement<String, String> element = new CacheElement<>( "testUpdate", "key", "value" );
 
         // DO WORK
         noWait.update( element );
@@ -72,14 +72,14 @@
         throws Exception
     {
         // SETUP
-        MockRemoteCacheClient<String, String> client = new MockRemoteCacheClient<>();
-        RemoteCacheNoWait<String, String> noWait = new RemoteCacheNoWait<>( client );
+        final MockRemoteCacheClient<String, String> client = new MockRemoteCacheClient<>();
+        final RemoteCacheNoWait<String, String> noWait = new RemoteCacheNoWait<>( client );
 
-        ICacheElement<String, String> input = new CacheElement<>( "testUpdate", "key", "value" );
+        final ICacheElement<String, String> input = new CacheElement<>( "testUpdate", "key", "value" );
         client.getSetupMap.put( "key", input );
 
         // DO WORK
-        ICacheElement<String, String> result = noWait.get( "key" );
+        final ICacheElement<String, String> result = noWait.get( "key" );
 
         // VERIFY
         assertEquals( "Wrong element", input, result );
@@ -94,20 +94,20 @@
         throws Exception
     {
         // SETUP
-        MockRemoteCacheClient<String, String> client = new MockRemoteCacheClient<>();
-        RemoteCacheNoWait<String, String> noWait = new RemoteCacheNoWait<>( client );
+        final MockRemoteCacheClient<String, String> client = new MockRemoteCacheClient<>();
+        final RemoteCacheNoWait<String, String> noWait = new RemoteCacheNoWait<>( client );
 
-        ICacheElement<String, String> inputElement = new CacheElement<>( "testUpdate", "key", "value" );
-        Map<String, ICacheElement<String, String>> inputMap = new HashMap<>();
+        final ICacheElement<String, String> inputElement = new CacheElement<>( "testUpdate", "key", "value" );
+        final Map<String, ICacheElement<String, String>> inputMap = new HashMap<>();
         inputMap.put( "key", inputElement );
 
-        Set<String> keys = new HashSet<>();
+        final Set<String> keys = new HashSet<>();
         keys.add( "key" );
 
         client.getMultipleSetupMap.put( keys, inputMap );
 
         // DO WORK
-        Map<String, ICacheElement<String, String>> result = noWait.getMultiple( keys );
+        final Map<String, ICacheElement<String, String>> result = noWait.getMultiple( keys );
 
         // VERIFY
         assertEquals( "elements map", inputMap, result );
@@ -122,10 +122,10 @@
         throws Exception
     {
         // SETUP
-        MockRemoteCacheClient<String, String> client = new MockRemoteCacheClient<>();
-        RemoteCacheNoWait<String, String> noWait = new RemoteCacheNoWait<>( client );
+        final MockRemoteCacheClient<String, String> client = new MockRemoteCacheClient<>();
+        final RemoteCacheNoWait<String, String> noWait = new RemoteCacheNoWait<>( client );
 
-        String input = "MyKey";
+        final String input = "MyKey";
 
         // DO WORK
         noWait.remove( input );
@@ -146,12 +146,12 @@
         throws Exception
     {
         // SETUP
-        MockRemoteCacheClient<String, String> client = new MockRemoteCacheClient<>();
+        final MockRemoteCacheClient<String, String> client = new MockRemoteCacheClient<>();
         client.status = CacheStatus.ALIVE;
-        RemoteCacheNoWait<String, String> noWait = new RemoteCacheNoWait<>( client );
+        final RemoteCacheNoWait<String, String> noWait = new RemoteCacheNoWait<>( client );
 
         // DO WORK
-        String result = noWait.getStats();
+        final String result = noWait.getStats();
 
         // VERIFY
         assertTrue( "Status should contain 'ALIVE'", result.indexOf( "ALIVE" ) != -1 );
@@ -166,12 +166,12 @@
         throws Exception
     {
         // SETUP
-        MockRemoteCacheClient<String, String> client = new MockRemoteCacheClient<>();
+        final MockRemoteCacheClient<String, String> client = new MockRemoteCacheClient<>();
         client.status = CacheStatus.ERROR;
-        RemoteCacheNoWait<String, String> noWait = new RemoteCacheNoWait<>( client );
+        final RemoteCacheNoWait<String, String> noWait = new RemoteCacheNoWait<>( client );
 
         // DO WORK
-        CacheStatus result = noWait.getStatus();
+        final CacheStatus result = noWait.getStatus();
 
         // VERIFY
         assertEquals( "Wrong status", CacheStatus.ERROR, result );
@@ -187,13 +187,13 @@
         throws Exception
     {
         // SETUP
-        MockRemoteCacheClient<String, String> client = new MockRemoteCacheClient<>();
+        final MockRemoteCacheClient<String, String> client = new MockRemoteCacheClient<>();
         client.status = CacheStatus.ALIVE;
-        RemoteCacheNoWait<String, String> noWait = new RemoteCacheNoWait<>( client );
+        final RemoteCacheNoWait<String, String> noWait = new RemoteCacheNoWait<>( client );
 
-        MockRemoteCacheService<String, String> service = new MockRemoteCacheService<>();
+        final MockRemoteCacheService<String, String> service = new MockRemoteCacheService<>();
 
-        ICacheElement<String, String> element = new CacheElement<>( "testUpdate", "key", "value" );
+        final ICacheElement<String, String> element = new CacheElement<>( "testUpdate", "key", "value" );
 
         // DO WORK
         noWait.update( element );
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheUnitTest.java
index 9c2058c..23edb5f 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheUnitTest.java
@@ -66,21 +66,21 @@
         throws Exception
     {
         // SETUP
-        long listenerId = 123;
+        final long listenerId = 123;
         listener.setListenerId( listenerId );
 
-        RemoteCache<String, String> remoteCache = new RemoteCache<>( cattr, service, listener, monitor );
+        final RemoteCache<String, String> remoteCache = new RemoteCache<>( cattr, service, listener, monitor );
 
-        String cacheName = "testUpdate";
+        final String cacheName = "testUpdate";
 
         // DO WORK
-        ICacheElement<String, String> element = new CacheElement<>( cacheName, "key", "value" );
+        final ICacheElement<String, String> element = new CacheElement<>( cacheName, "key", "value" );
         remoteCache.update( element );
 
         // VERIFY
         assertTrue( "The element should be in the serialized wrapper.",
                     service.lastUpdate instanceof ICacheElementSerialized );
-        ICacheElement<String, String> result = SerializationConversionUtil
+        final ICacheElement<String, String> result = SerializationConversionUtil
             .getDeSerializedCacheElement( (ICacheElementSerialized<String, String>) service.lastUpdate, remoteCache
                 .getElementSerializer() );
         assertEquals( "Wrong element updated.", element.getVal(), result.getVal() );
@@ -96,15 +96,15 @@
         throws Exception
     {
         // SETUP
-        ZombieCacheServiceNonLocal<String, String> zombie = new ZombieCacheServiceNonLocal<>( 10 );
+        final ZombieCacheServiceNonLocal<String, String> zombie = new ZombieCacheServiceNonLocal<>( 10 );
 
         // set the zombie
-        RemoteCache<String, String> remoteCache = new RemoteCache<>( cattr, zombie, listener, monitor );
+        final RemoteCache<String, String> remoteCache = new RemoteCache<>( cattr, zombie, listener, monitor );
 
-        String cacheName = "testUpdate";
+        final String cacheName = "testUpdate";
 
         // DO WORK
-        ICacheElement<String, String> element = new CacheElement<>( cacheName, "key", "value" );
+        final ICacheElement<String, String> element = new CacheElement<>( cacheName, "key", "value" );
         remoteCache.update( element );
         // set the new service, this should call propagate
         remoteCache.fixCache( service );
@@ -112,7 +112,7 @@
         // VERIFY
         assertTrue( "The element should be in the serialized warapper.",
                     service.lastUpdate instanceof ICacheElementSerialized );
-        ICacheElement<String, String> result = SerializationConversionUtil
+        final ICacheElement<String, String> result = SerializationConversionUtil
             .getDeSerializedCacheElement( (ICacheElementSerialized<String, String>) service.lastUpdate, remoteCache
                 .getElementSerializer() );
         assertEquals( "Wrong element updated.", element.getVal(), result.getVal() );
@@ -126,12 +126,12 @@
     public void testUpdate_simple()
         throws Exception
     {
-        RemoteCache<String, String> remoteCache = new RemoteCache<>( cattr, service, listener, monitor );
+        final RemoteCache<String, String> remoteCache = new RemoteCache<>( cattr, service, listener, monitor );
 
-        MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
+        final MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
         remoteCache.setCacheEventLogger( cacheEventLogger );
 
-        ICacheElement<String, String> item = new CacheElement<>( "region", "key", "value" );
+        final ICacheElement<String, String> item = new CacheElement<>( "region", "key", "value" );
 
         // DO WORK
         remoteCache.update( item );
@@ -149,9 +149,9 @@
     public void testGet_simple()
         throws Exception
     {
-        RemoteCache<String, String> remoteCache = new RemoteCache<>( cattr, service, listener, monitor );
+        final RemoteCache<String, String> remoteCache = new RemoteCache<>( cattr, service, listener, monitor );
 
-        MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
+        final MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
         remoteCache.setCacheEventLogger( cacheEventLogger );
 
         // DO WORK
@@ -170,9 +170,9 @@
     public void testGetMultiple_simple()
         throws Exception
     {
-        RemoteCache<String, String> remoteCache = new RemoteCache<>( cattr, service, listener, monitor );
+        final RemoteCache<String, String> remoteCache = new RemoteCache<>( cattr, service, listener, monitor );
 
-        MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
+        final MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
         remoteCache.setCacheEventLogger( cacheEventLogger );
 
         // DO WORK
@@ -191,9 +191,9 @@
     public void testRemove_simple()
         throws Exception
     {
-        RemoteCache<String, String> remoteCache = new RemoteCache<>( cattr, service, listener, monitor );
+        final RemoteCache<String, String> remoteCache = new RemoteCache<>( cattr, service, listener, monitor );
 
-        MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
+        final MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
         remoteCache.setCacheEventLogger( cacheEventLogger );
 
         // DO WORK
@@ -212,9 +212,9 @@
     public void testRemoveAll_simple()
         throws Exception
     {
-        RemoteCache<String, String> remoteCache = new RemoteCache<>( cattr, service, listener, monitor );
+        final RemoteCache<String, String> remoteCache = new RemoteCache<>( cattr, service, listener, monitor );
 
-        MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
+        final MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
         remoteCache.setCacheEventLogger( cacheEventLogger );
 
         // DO WORK
@@ -234,15 +234,15 @@
         throws Exception
     {
         // SETUP
-        String pattern = "adsfasdfasd.?";
+        final String pattern = "adsfasdfasd.?";
 
-        RemoteCache<String, String> remoteCache = new RemoteCache<>( cattr, service, listener, monitor );
+        final RemoteCache<String, String> remoteCache = new RemoteCache<>( cattr, service, listener, monitor );
 
-        MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
+        final MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
         remoteCache.setCacheEventLogger( cacheEventLogger );
 
         // DO WORK
-        Map<String, ICacheElement<String, String>> result = remoteCache.getMatching( pattern );
+        final Map<String, ICacheElement<String, String>> result = remoteCache.getMatching( pattern );
 
         // VERIFY
         assertNotNull( "Should have a map", result );
@@ -258,9 +258,9 @@
     public void testDispose_simple()
         throws Exception
     {
-        RemoteCache<String, String> remoteCache = new RemoteCache<>( cattr, service, listener, monitor );
+        final RemoteCache<String, String> remoteCache = new RemoteCache<>( cattr, service, listener, monitor );
 
-        MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
+        final MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
         remoteCache.setCacheEventLogger( cacheEventLogger );
 
         // DO WORK
@@ -280,9 +280,9 @@
         throws Exception
     {
         // SETUP
-        RemoteCache<String, String> remoteCache = new RemoteCache<>( cattr, service, null, monitor );
+        final RemoteCache<String, String> remoteCache = new RemoteCache<>( cattr, service, null, monitor );
 
-        MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
+        final MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
         remoteCache.setCacheEventLogger( cacheEventLogger );
 
         // DO WORK
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/RemoteUtilsUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/RemoteUtilsUnitTest.java
index 1074b16..352a3eb 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/RemoteUtilsUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/RemoteUtilsUnitTest.java
@@ -38,7 +38,7 @@
      */
     public void testCreateRegistry()
     {
-        Registry registry = RemoteUtils.createRegistry( 1102 );
+        final Registry registry = RemoteUtils.createRegistry( 1102 );
         assertNotNull("Registry should not be null", registry);
     }
 
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/TestRemoteCache.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/TestRemoteCache.java
index ec0cdfb..f280fd2 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/TestRemoteCache.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/TestRemoteCache.java
@@ -53,11 +53,11 @@
         {
             System.out.println( "main> creating registry on the localhost" );
             RemoteUtils.createRegistry( 1101 );
-            Properties config = RemoteUtils.loadProps("/TestRemoteServer.ccf");
+            final Properties config = RemoteUtils.loadProps("/TestRemoteServer.ccf");
 
             RemoteCacheServerFactory.startup( "localhost", 1101, config);
         }
-        catch ( Exception e )
+        catch ( final Exception e )
         {
             e.printStackTrace();
         }
@@ -82,7 +82,7 @@
     {
         log.info( "testSimpleSend" );
 
-        CacheAccess<String, String> cache = JCS.getInstance( "testCache" );
+        final CacheAccess<String, String> cache = JCS.getInstance( "testCache" );
 
         log.info( "cache = " + cache );
 
@@ -104,22 +104,22 @@
 
         Thread.sleep( 100 );
 
-        ICompositeCacheManager cacheMgr = new MockCompositeCacheManager();
+        final ICompositeCacheManager cacheMgr = new MockCompositeCacheManager();
 
-        RemoteCacheAttributes rca = new RemoteCacheAttributes();
+        final RemoteCacheAttributes rca = new RemoteCacheAttributes();
         rca.setRemoteLocation( "localhost", 1101 );
         rca.setCacheName( "testCache" );
 
-        RemoteCacheFactory factory = new RemoteCacheFactory();
+        final RemoteCacheFactory factory = new RemoteCacheFactory();
         factory.initialize();
-        RemoteCacheManager mgr = factory.getManager( rca, cacheMgr, new MockCacheEventLogger(), new MockElementSerializer() );
-        AuxiliaryCache<String, String> cache = mgr.getCache( rca );
+        final RemoteCacheManager mgr = factory.getManager( rca, cacheMgr, new MockCacheEventLogger(), new MockElementSerializer() );
+        final AuxiliaryCache<String, String> cache = mgr.getCache( rca );
 
-        int numMes = 100;
+        final int numMes = 100;
         for ( int i = 0; i < numMes; i++ )
         {
-            String message = "adsfasasfasfasdasf";
-            CacheElement<String, String> ce = new CacheElement<>( "key" + 1, "data" + i, message );
+            final String message = "adsfasasfasfasdasf";
+            final CacheElement<String, String> ce = new CacheElement<>( "key" + 1, "data" + i, message );
             cache.update( ce );
 //            System.out.println( "put " + ce );
         }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/ZombieRemoteCacheServiceUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/ZombieRemoteCacheServiceUnitTest.java
index ead3b81..618c187 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/ZombieRemoteCacheServiceUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/ZombieRemoteCacheServiceUnitTest.java
@@ -40,14 +40,14 @@
         throws Exception
     {
         // SETUP
-        MockRemoteCacheService<String, String> service = new MockRemoteCacheService<>();
+        final MockRemoteCacheService<String, String> service = new MockRemoteCacheService<>();
 
-        ZombieCacheServiceNonLocal<String, String> zombie = new ZombieCacheServiceNonLocal<>( 10 );
+        final ZombieCacheServiceNonLocal<String, String> zombie = new ZombieCacheServiceNonLocal<>( 10 );
 
-        String cacheName = "testUpdate";
+        final String cacheName = "testUpdate";
 
         // DO WORK
-        ICacheElement<String, String> element = new CacheElement<>( cacheName, "key", "value" );
+        final ICacheElement<String, String> element = new CacheElement<>( cacheName, "key", "value" );
         zombie.update( element, 123l );
         zombie.propagateEvents( service );
 
@@ -64,14 +64,14 @@
         throws Exception
     {
         // SETUP
-        MockRemoteCacheService<String, String> service = new MockRemoteCacheService<>();
+        final MockRemoteCacheService<String, String> service = new MockRemoteCacheService<>();
 
-        ZombieCacheServiceNonLocal<String, String> zombie = new ZombieCacheServiceNonLocal<>( 0 );
+        final ZombieCacheServiceNonLocal<String, String> zombie = new ZombieCacheServiceNonLocal<>( 0 );
 
-        String cacheName = "testUpdate";
+        final String cacheName = "testUpdate";
 
         // DO WORK
-        ICacheElement<String, String> element = new CacheElement<>( cacheName, "key", "value" );
+        final ICacheElement<String, String> element = new CacheElement<>( cacheName, "key", "value" );
         zombie.update( element, 123l );
         zombie.propagateEvents( service );
 
@@ -88,12 +88,12 @@
         throws Exception
     {
         // SETUP
-        MockRemoteCacheService<String, String> service = new MockRemoteCacheService<>();
+        final MockRemoteCacheService<String, String> service = new MockRemoteCacheService<>();
 
-        ZombieCacheServiceNonLocal<String, String> zombie = new ZombieCacheServiceNonLocal<>( 10 );
+        final ZombieCacheServiceNonLocal<String, String> zombie = new ZombieCacheServiceNonLocal<>( 10 );
 
-        String cacheName = "testRemoveThenWalk";
-        String key = "myKey";
+        final String cacheName = "testRemoveThenWalk";
+        final String key = "myKey";
 
         // DO WORK
         zombie.remove( cacheName, key, 123l );
@@ -112,11 +112,11 @@
         throws Exception
     {
         // SETUP
-        MockRemoteCacheService<String, String> service = new MockRemoteCacheService<>();
+        final MockRemoteCacheService<String, String> service = new MockRemoteCacheService<>();
 
-        ZombieCacheServiceNonLocal<String, String> zombie = new ZombieCacheServiceNonLocal<>( 10 );
+        final ZombieCacheServiceNonLocal<String, String> zombie = new ZombieCacheServiceNonLocal<>( 10 );
 
-        String cacheName = "testRemoveThenWalk";
+        final String cacheName = "testRemoveThenWalk";
 
         // DO WORK
         zombie.removeAll( cacheName, 123l );
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/http/client/MockRemoteCacheDispatcher.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/http/client/MockRemoteCacheDispatcher.java
index 575bd33..2334e87 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/http/client/MockRemoteCacheDispatcher.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/http/client/MockRemoteCacheDispatcher.java
@@ -44,7 +44,7 @@
     @Override
     @SuppressWarnings("unchecked")
     public <K, V, T>
-        RemoteCacheResponse<T> dispatchRequest( RemoteCacheRequest<K, V> remoteCacheRequest )
+        RemoteCacheResponse<T> dispatchRequest( final RemoteCacheRequest<K, V> remoteCacheRequest )
         throws IOException
     {
         this.lastRemoteCacheRequest = remoteCacheRequest;
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCacheClientUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCacheClientUnitTest.java
index f70f30f..d6a0272 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCacheClientUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCacheClientUnitTest.java
@@ -45,19 +45,19 @@
         throws IOException
     {
         // SETUP
-        RemoteHttpCacheAttributes attributes = new RemoteHttpCacheAttributes();
-        RemoteHttpCacheClient<String, String> client = new RemoteHttpCacheClient<>( attributes );
+        final RemoteHttpCacheAttributes attributes = new RemoteHttpCacheAttributes();
+        final RemoteHttpCacheClient<String, String> client = new RemoteHttpCacheClient<>( attributes );
 
-        MockRemoteCacheDispatcher mockDispatcher = new MockRemoteCacheDispatcher();
+        final MockRemoteCacheDispatcher mockDispatcher = new MockRemoteCacheDispatcher();
         client.setRemoteDispatcher( mockDispatcher );
 
-        String cacheName = "test";
-        String key = "key";
+        final String cacheName = "test";
+        final String key = "key";
 
         mockDispatcher.setupRemoteCacheResponse = null;
 
         // DO WORK
-        ICacheElement<String, String> result = client.get( cacheName, key );
+        final ICacheElement<String, String> result = client.get( cacheName, key );
 
         // VERIFY
         assertNull( "Wrong result.", result );
@@ -74,24 +74,24 @@
         throws IOException
     {
         // SETUP
-        RemoteHttpCacheAttributes attributes = new RemoteHttpCacheAttributes();
-        RemoteHttpCacheClient<String, String> client = new RemoteHttpCacheClient<>( attributes );
+        final RemoteHttpCacheAttributes attributes = new RemoteHttpCacheAttributes();
+        final RemoteHttpCacheClient<String, String> client = new RemoteHttpCacheClient<>( attributes );
 
-        MockRemoteCacheDispatcher mockDispatcher = new MockRemoteCacheDispatcher();
+        final MockRemoteCacheDispatcher mockDispatcher = new MockRemoteCacheDispatcher();
         client.setRemoteDispatcher( mockDispatcher );
 
-        String cacheName = "test";
-        String key = "key";
+        final String cacheName = "test";
+        final String key = "key";
 
-        ICacheElement<String, String> expected = new CacheElement<>( cacheName, key, "value" );
-        RemoteCacheResponse<ICacheElement<String, String>> remoteHttpCacheResponse =
+        final ICacheElement<String, String> expected = new CacheElement<>( cacheName, key, "value" );
+        final RemoteCacheResponse<ICacheElement<String, String>> remoteHttpCacheResponse =
             new RemoteCacheResponse<>();
         remoteHttpCacheResponse.setPayload( expected );
 
         mockDispatcher.setupRemoteCacheResponse = remoteHttpCacheResponse;
 
         // DO WORK
-        ICacheElement<String, String> result = client.get( cacheName, key );
+        final ICacheElement<String, String> result = client.get( cacheName, key );
 
         // VERIFY
         assertEquals( "Wrong result.", expected, result );
@@ -108,26 +108,26 @@
         throws IOException
     {
         // SETUP
-        RemoteHttpCacheAttributes attributes = new RemoteHttpCacheAttributes();
-        RemoteHttpCacheClient<String, String> client = new RemoteHttpCacheClient<>( attributes );
+        final RemoteHttpCacheAttributes attributes = new RemoteHttpCacheAttributes();
+        final RemoteHttpCacheClient<String, String> client = new RemoteHttpCacheClient<>( attributes );
 
-        MockRemoteCacheDispatcher mockDispatcher = new MockRemoteCacheDispatcher();
+        final MockRemoteCacheDispatcher mockDispatcher = new MockRemoteCacheDispatcher();
         client.setRemoteDispatcher( mockDispatcher );
 
-        String cacheName = "test";
-        String pattern = "key";
+        final String cacheName = "test";
+        final String pattern = "key";
 
-        ICacheElement<String, String> expected = new CacheElement<>( cacheName, "key", "value" );
-        Map<String, ICacheElement<String, String>> expectedMap = new HashMap<>();
+        final ICacheElement<String, String> expected = new CacheElement<>( cacheName, "key", "value" );
+        final Map<String, ICacheElement<String, String>> expectedMap = new HashMap<>();
         expectedMap.put( "key", expected );
-        RemoteCacheResponse<Map<String, ICacheElement<String, String>>> remoteHttpCacheResponse =
+        final RemoteCacheResponse<Map<String, ICacheElement<String, String>>> remoteHttpCacheResponse =
             new RemoteCacheResponse<>();
         remoteHttpCacheResponse.setPayload( expectedMap );
 
         mockDispatcher.setupRemoteCacheResponse = remoteHttpCacheResponse;
 
         // DO WORK
-        Map<String, ICacheElement<String, String>> result = client.getMatching( cacheName, pattern );
+        final Map<String, ICacheElement<String, String>> result = client.getMatching( cacheName, pattern );
 
         // VERIFY
         assertEquals( "Wrong result.", expected, result.get( "key" ) );
@@ -144,26 +144,26 @@
         throws IOException
     {
         // SETUP
-        RemoteHttpCacheAttributes attributes = new RemoteHttpCacheAttributes();
-        RemoteHttpCacheClient<String, String> client = new RemoteHttpCacheClient<>( attributes );
+        final RemoteHttpCacheAttributes attributes = new RemoteHttpCacheAttributes();
+        final RemoteHttpCacheClient<String, String> client = new RemoteHttpCacheClient<>( attributes );
 
-        MockRemoteCacheDispatcher mockDispatcher = new MockRemoteCacheDispatcher();
+        final MockRemoteCacheDispatcher mockDispatcher = new MockRemoteCacheDispatcher();
         client.setRemoteDispatcher( mockDispatcher );
 
-        String cacheName = "test";
-        Set<String> keys = Collections.emptySet();
+        final String cacheName = "test";
+        final Set<String> keys = Collections.emptySet();
 
-        ICacheElement<String, String> expected = new CacheElement<>( cacheName, "key", "value" );
-        Map<String, ICacheElement<String, String>> expectedMap = new HashMap<>();
+        final ICacheElement<String, String> expected = new CacheElement<>( cacheName, "key", "value" );
+        final Map<String, ICacheElement<String, String>> expectedMap = new HashMap<>();
         expectedMap.put( "key", expected );
-        RemoteCacheResponse<Map<String, ICacheElement<String, String>>> remoteHttpCacheResponse =
+        final RemoteCacheResponse<Map<String, ICacheElement<String, String>>> remoteHttpCacheResponse =
             new RemoteCacheResponse<>();
         remoteHttpCacheResponse.setPayload( expectedMap );
 
         mockDispatcher.setupRemoteCacheResponse = remoteHttpCacheResponse;
 
         // DO WORK
-        Map<String, ICacheElement<String, String>> result = client.getMultiple( cacheName, keys );
+        final Map<String, ICacheElement<String, String>> result = client.getMultiple( cacheName, keys );
 
         // VERIFY
         assertEquals( "Wrong result.", expected, result.get( "key" ) );
@@ -180,14 +180,14 @@
         throws IOException
     {
         // SETUP
-        RemoteHttpCacheAttributes attributes = new RemoteHttpCacheAttributes();
-        RemoteHttpCacheClient<String, String> client = new RemoteHttpCacheClient<>( attributes );
+        final RemoteHttpCacheAttributes attributes = new RemoteHttpCacheAttributes();
+        final RemoteHttpCacheClient<String, String> client = new RemoteHttpCacheClient<>( attributes );
 
-        MockRemoteCacheDispatcher mockDispatcher = new MockRemoteCacheDispatcher();
+        final MockRemoteCacheDispatcher mockDispatcher = new MockRemoteCacheDispatcher();
         client.setRemoteDispatcher( mockDispatcher );
 
-        String cacheName = "test";
-        String key = "key";
+        final String cacheName = "test";
+        final String key = "key";
 
         // DO WORK
         client.remove( cacheName, key );
@@ -206,13 +206,13 @@
         throws IOException
     {
         // SETUP
-        RemoteHttpCacheAttributes attributes = new RemoteHttpCacheAttributes();
-        RemoteHttpCacheClient<String, String> client = new RemoteHttpCacheClient<>( attributes );
+        final RemoteHttpCacheAttributes attributes = new RemoteHttpCacheAttributes();
+        final RemoteHttpCacheClient<String, String> client = new RemoteHttpCacheClient<>( attributes );
 
-        MockRemoteCacheDispatcher mockDispatcher = new MockRemoteCacheDispatcher();
+        final MockRemoteCacheDispatcher mockDispatcher = new MockRemoteCacheDispatcher();
         client.setRemoteDispatcher( mockDispatcher );
 
-        String cacheName = "test";
+        final String cacheName = "test";
 
         // DO WORK
         client.removeAll( cacheName );
@@ -231,15 +231,15 @@
         throws IOException
     {
         // SETUP
-        RemoteHttpCacheAttributes attributes = new RemoteHttpCacheAttributes();
-        RemoteHttpCacheClient<String, String> client = new RemoteHttpCacheClient<>( attributes );
+        final RemoteHttpCacheAttributes attributes = new RemoteHttpCacheAttributes();
+        final RemoteHttpCacheClient<String, String> client = new RemoteHttpCacheClient<>( attributes );
 
-        MockRemoteCacheDispatcher mockDispatcher = new MockRemoteCacheDispatcher();
+        final MockRemoteCacheDispatcher mockDispatcher = new MockRemoteCacheDispatcher();
         client.setRemoteDispatcher( mockDispatcher );
 
-        String cacheName = "test";
+        final String cacheName = "test";
 
-        ICacheElement<String, String> element = new CacheElement<>( cacheName, "key", "value" );
+        final ICacheElement<String, String> element = new CacheElement<>( cacheName, "key", "value" );
 
         // DO WORK
         client.update( element );
@@ -258,13 +258,13 @@
         throws IOException
     {
         // SETUP
-        RemoteHttpCacheAttributes attributes = new RemoteHttpCacheAttributes();
-        RemoteHttpCacheClient<String, String> client = new RemoteHttpCacheClient<>( attributes );
+        final RemoteHttpCacheAttributes attributes = new RemoteHttpCacheAttributes();
+        final RemoteHttpCacheClient<String, String> client = new RemoteHttpCacheClient<>( attributes );
 
-        MockRemoteCacheDispatcher mockDispatcher = new MockRemoteCacheDispatcher();
+        final MockRemoteCacheDispatcher mockDispatcher = new MockRemoteCacheDispatcher();
         client.setRemoteDispatcher( mockDispatcher );
 
-        String cacheName = "test";
+        final String cacheName = "test";
 
         // DO WORK
         client.dispose( cacheName );
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCacheFactoryUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCacheFactoryUnitTest.java
index d7f9bd5..e449a80 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCacheFactoryUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCacheFactoryUnitTest.java
@@ -36,14 +36,14 @@
     public void testCreateRemoteHttpCacheClient_Bad()
     {
         // SETUP
-        String remoteHttpClientClassName = "junk";
-        RemoteHttpCacheAttributes cattr = new RemoteHttpCacheAttributes();
+        final String remoteHttpClientClassName = "junk";
+        final RemoteHttpCacheAttributes cattr = new RemoteHttpCacheAttributes();
         cattr.setRemoteHttpClientClassName( remoteHttpClientClassName );
 
-        RemoteHttpCacheFactory factory = new RemoteHttpCacheFactory();
+        final RemoteHttpCacheFactory factory = new RemoteHttpCacheFactory();
 
         // DO WORK
-        IRemoteHttpCacheClient<String, String> result = factory.createRemoteHttpCacheClientForAttributes( cattr );
+        final IRemoteHttpCacheClient<String, String> result = factory.createRemoteHttpCacheClientForAttributes( cattr );
 
         // VEIFY
         assertNotNull( "Should have a cache.", result );
@@ -55,11 +55,11 @@
     public void testCreateRemoteHttpCacheClient_default()
     {
         // SETUP
-        RemoteHttpCacheAttributes cattr = new RemoteHttpCacheAttributes();
-        RemoteHttpCacheFactory factory = new RemoteHttpCacheFactory();
+        final RemoteHttpCacheAttributes cattr = new RemoteHttpCacheAttributes();
+        final RemoteHttpCacheFactory factory = new RemoteHttpCacheFactory();
 
         // DO WORK
-        IRemoteHttpCacheClient<String, String> result = factory.createRemoteHttpCacheClientForAttributes( cattr );
+        final IRemoteHttpCacheClient<String, String> result = factory.createRemoteHttpCacheClientForAttributes( cattr );
 
         // VEIFY
         assertNotNull( "Should have a cache.", result );
@@ -70,19 +70,19 @@
     public void testGetCache_normal()
     {
         // SETUP
-        ICompositeCacheManager cacheMgr = new MockCompositeCacheManager();
+        final ICompositeCacheManager cacheMgr = new MockCompositeCacheManager();
         assertNotNull( "Should have a manager.", cacheMgr );
-        ICacheEventLogger cacheEventLogger = null;
-        IElementSerializer elementSerializer = null;
+        final ICacheEventLogger cacheEventLogger = null;
+        final IElementSerializer elementSerializer = null;
 
-        RemoteHttpCacheAttributes cattr = new RemoteHttpCacheAttributes();
+        final RemoteHttpCacheAttributes cattr = new RemoteHttpCacheAttributes();
         assertNotNull( "Should have attributes.", cattr );
-        RemoteHttpCacheFactory factory = new RemoteHttpCacheFactory();
+        final RemoteHttpCacheFactory factory = new RemoteHttpCacheFactory();
         assertNotNull( "Should have a factory.", factory );
 
 
         // DO WORK
-        AuxiliaryCache<String, String> result = factory.createCache(cattr, cacheMgr, cacheEventLogger, elementSerializer);
+        final AuxiliaryCache<String, String> result = factory.createCache(cattr, cacheMgr, cacheEventLogger, elementSerializer);
 
         // VERIFY
         assertNotNull( "Should have a cache.", result );
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCacheManualTester.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCacheManualTester.java
index 0c3cac2..838edf5 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCacheManualTester.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/http/client/RemoteHttpCacheManualTester.java
@@ -47,7 +47,7 @@
     public void testSimpleLoad()
         throws Exception
     {
-        CacheAccess<String, String> jcs = JCS.getInstance( "testCache1" );
+        final CacheAccess<String, String> jcs = JCS.getInstance( "testCache1" );
 
         jcs.put( "TestKey", "TestValue" );
 
@@ -60,7 +60,7 @@
 
         for ( int i = items; i > 0; i-- )
         {
-            String res = jcs.get( i + ":key" );
+            final String res = jcs.get( i + ":key" );
             if ( res == null )
             {
                 //assertNotNull( "[" + i + ":key] should not be null", res );
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/http/server/RemoteHttpCacheServiceUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/http/server/RemoteHttpCacheServiceUnitTest.java
index a978121..f6c6851 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/http/server/RemoteHttpCacheServiceUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/http/server/RemoteHttpCacheServiceUnitTest.java
@@ -39,17 +39,17 @@
         throws Exception
     {
         // SETUP
-        MockCompositeCacheManager manager = new MockCompositeCacheManager();
-        MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
+        final MockCompositeCacheManager manager = new MockCompositeCacheManager();
+        final MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
 
-        RemoteHttpCacheServerAttributes rcsa = new RemoteHttpCacheServerAttributes();
-        RemoteHttpCacheService<String, String> server =
+        final RemoteHttpCacheServerAttributes rcsa = new RemoteHttpCacheServerAttributes();
+        final RemoteHttpCacheService<String, String> server =
             new RemoteHttpCacheService<>( manager, rcsa, cacheEventLogger );
 
-        String cacheName = "test";
-        String key = "key";
-        long requesterId = 2;
-        CacheElement<String, String> element = new CacheElement<>( cacheName, key, null );
+        final String cacheName = "test";
+        final String key = "key";
+        final long requesterId = 2;
+        final CacheElement<String, String> element = new CacheElement<>( cacheName, key, null );
 
         // DO WORK
         server.update( element, requesterId );
@@ -68,11 +68,11 @@
         throws Exception
     {
         // SETUP
-        MockCompositeCacheManager manager = new MockCompositeCacheManager();
-        MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
+        final MockCompositeCacheManager manager = new MockCompositeCacheManager();
+        final MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
 
-        RemoteHttpCacheServerAttributes rcsa = new RemoteHttpCacheServerAttributes();
-        RemoteHttpCacheService<String, String> server =
+        final RemoteHttpCacheServerAttributes rcsa = new RemoteHttpCacheServerAttributes();
+        final RemoteHttpCacheService<String, String> server =
             new RemoteHttpCacheService<>( manager, rcsa, cacheEventLogger );
 
         // DO WORK
@@ -92,11 +92,11 @@
         throws Exception
     {
         // SETUP
-        MockCompositeCacheManager manager = new MockCompositeCacheManager();
-        MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
+        final MockCompositeCacheManager manager = new MockCompositeCacheManager();
+        final MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
 
-        RemoteHttpCacheServerAttributes rcsa = new RemoteHttpCacheServerAttributes();
-        RemoteHttpCacheService<String, String> server =
+        final RemoteHttpCacheServerAttributes rcsa = new RemoteHttpCacheServerAttributes();
+        final RemoteHttpCacheService<String, String> server =
             new RemoteHttpCacheService<>( manager, rcsa, cacheEventLogger );
 
         // DO WORK
@@ -116,11 +116,11 @@
         throws Exception
     {
         // SETUP
-        MockCompositeCacheManager manager = new MockCompositeCacheManager();
-        MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
+        final MockCompositeCacheManager manager = new MockCompositeCacheManager();
+        final MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
 
-        RemoteHttpCacheServerAttributes rcsa = new RemoteHttpCacheServerAttributes();
-        RemoteHttpCacheService<String, String> server =
+        final RemoteHttpCacheServerAttributes rcsa = new RemoteHttpCacheServerAttributes();
+        final RemoteHttpCacheService<String, String> server =
             new RemoteHttpCacheService<>( manager, rcsa, cacheEventLogger );
 
         // DO WORK
@@ -140,11 +140,11 @@
         throws Exception
     {
         // SETUP
-        MockCompositeCacheManager manager = new MockCompositeCacheManager();
-        MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
+        final MockCompositeCacheManager manager = new MockCompositeCacheManager();
+        final MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
 
-        RemoteHttpCacheServerAttributes rcsa = new RemoteHttpCacheServerAttributes();
-        RemoteHttpCacheService<String, String> server =
+        final RemoteHttpCacheServerAttributes rcsa = new RemoteHttpCacheServerAttributes();
+        final RemoteHttpCacheService<String, String> server =
             new RemoteHttpCacheService<>( manager, rcsa, cacheEventLogger );
 
         // DO WORK
@@ -164,11 +164,11 @@
         throws Exception
     {
         // SETUP
-        MockCompositeCacheManager manager = new MockCompositeCacheManager();
-        MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
+        final MockCompositeCacheManager manager = new MockCompositeCacheManager();
+        final MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
 
-        RemoteHttpCacheServerAttributes rcsa = new RemoteHttpCacheServerAttributes();
-        RemoteHttpCacheService<String, String> server =
+        final RemoteHttpCacheServerAttributes rcsa = new RemoteHttpCacheServerAttributes();
+        final RemoteHttpCacheService<String, String> server =
             new RemoteHttpCacheService<>( manager, rcsa, cacheEventLogger );
 
         // DO WORK
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/http/server/RemoteHttpCacheServletUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/http/server/RemoteHttpCacheServletUnitTest.java
index 6576dff..2df3740 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/http/server/RemoteHttpCacheServletUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/http/server/RemoteHttpCacheServletUnitTest.java
@@ -65,10 +65,10 @@
     /** Verify that we balk and return an error. */
     public void testProcessRequest_null()
     {
-        RemoteCacheRequest<Serializable, Serializable> request = null;
+        final RemoteCacheRequest<Serializable, Serializable> request = null;
 
         // DO WORK
-        RemoteCacheResponse<Object> result = servlet.processRequest( request );
+        final RemoteCacheResponse<Object> result = servlet.processRequest( request );
 
         // VERIFY
         assertNotNull( "Should have a result.", result );
@@ -79,13 +79,13 @@
     /** Verify that the service is called. */
     public void testProcessRequest_Get()
     {
-        String cacheName = "test";
-        Serializable key = "key";
-        long requesterId = 2;
-        RemoteCacheRequest<Serializable, Serializable> request = RemoteCacheRequestFactory.createGetRequest( cacheName, key, requesterId );
+        final String cacheName = "test";
+        final Serializable key = "key";
+        final long requesterId = 2;
+        final RemoteCacheRequest<Serializable, Serializable> request = RemoteCacheRequestFactory.createGetRequest( cacheName, key, requesterId );
 
         // DO WORK
-        RemoteCacheResponse<Object> result = servlet.processRequest( request );
+        final RemoteCacheResponse<Object> result = servlet.processRequest( request );
 
         // VERIFY
         assertNotNull( "Should have a result.", result );
@@ -95,14 +95,14 @@
     /** Verify that the service is called. */
     public void testProcessRequest_GetMatching()
     {
-        String cacheName = "test";
-        String pattern = "pattern";
-        long requesterId = 2;
-        RemoteCacheRequest<Serializable, Serializable> request = RemoteCacheRequestFactory.createGetMatchingRequest( cacheName, pattern,
+        final String cacheName = "test";
+        final String pattern = "pattern";
+        final long requesterId = 2;
+        final RemoteCacheRequest<Serializable, Serializable> request = RemoteCacheRequestFactory.createGetMatchingRequest( cacheName, pattern,
                                                                                                   requesterId );
 
         // DO WORK
-        RemoteCacheResponse<Object> result = servlet.processRequest( request );
+        final RemoteCacheResponse<Object> result = servlet.processRequest( request );
 
         // VERIFY
         assertNotNull( "Should have a result.", result );
@@ -112,14 +112,14 @@
     /** Verify that the service is called. */
     public void testProcessRequest_GetMultiple()
     {
-        String cacheName = "test";
-        Set<Serializable> keys = Collections.emptySet();
-        long requesterId = 2;
-        RemoteCacheRequest<Serializable, Serializable> request = RemoteCacheRequestFactory.createGetMultipleRequest( cacheName, keys,
+        final String cacheName = "test";
+        final Set<Serializable> keys = Collections.emptySet();
+        final long requesterId = 2;
+        final RemoteCacheRequest<Serializable, Serializable> request = RemoteCacheRequestFactory.createGetMultipleRequest( cacheName, keys,
                                                                                                   requesterId );
 
         // DO WORK
-        RemoteCacheResponse<Object> result = servlet.processRequest( request );
+        final RemoteCacheResponse<Object> result = servlet.processRequest( request );
 
         // VERIFY
         assertNotNull( "Should have a result.", result );
@@ -130,14 +130,14 @@
     /** Verify that the service is called. */
     public void testProcessRequest_Update()
     {
-        String cacheName = "test";
-        String key = "key";
-        long requesterId = 2;
-        CacheElement<Serializable, Serializable> element = new CacheElement<>( cacheName, key, null );
-        RemoteCacheRequest<Serializable, Serializable> request = RemoteCacheRequestFactory.createUpdateRequest( element, requesterId );
+        final String cacheName = "test";
+        final String key = "key";
+        final long requesterId = 2;
+        final CacheElement<Serializable, Serializable> element = new CacheElement<>( cacheName, key, null );
+        final RemoteCacheRequest<Serializable, Serializable> request = RemoteCacheRequestFactory.createUpdateRequest( element, requesterId );
 
         // DO WORK
-        RemoteCacheResponse<Object> result = servlet.processRequest( request );
+        final RemoteCacheResponse<Object> result = servlet.processRequest( request );
 
         // VERIFY
         assertNotNull( "Should have a result.", result );
@@ -147,13 +147,13 @@
     /** Verify that the service is called. */
     public void testProcessRequest_Remove()
     {
-        String cacheName = "test";
-        Serializable key = "key";
-        long requesterId = 2;
-        RemoteCacheRequest<Serializable, Serializable> request = RemoteCacheRequestFactory.createRemoveRequest( cacheName, key, requesterId );
+        final String cacheName = "test";
+        final Serializable key = "key";
+        final long requesterId = 2;
+        final RemoteCacheRequest<Serializable, Serializable> request = RemoteCacheRequestFactory.createRemoveRequest( cacheName, key, requesterId );
 
         // DO WORK
-        RemoteCacheResponse<Object> result = servlet.processRequest( request );
+        final RemoteCacheResponse<Object> result = servlet.processRequest( request );
 
         // VERIFY
         assertNotNull( "Should have a result.", result );
@@ -163,12 +163,12 @@
     /** Verify that the service is called. */
     public void testProcessRequest_RemoveAll()
     {
-        String cacheName = "testRemoveALl";
-        long requesterId = 2;
-        RemoteCacheRequest<Serializable, Serializable> request = RemoteCacheRequestFactory.createRemoveAllRequest( cacheName, requesterId );
+        final String cacheName = "testRemoveALl";
+        final long requesterId = 2;
+        final RemoteCacheRequest<Serializable, Serializable> request = RemoteCacheRequestFactory.createRemoveAllRequest( cacheName, requesterId );
 
         // DO WORK
-        RemoteCacheResponse<Object> result = servlet.processRequest( request );
+        final RemoteCacheResponse<Object> result = servlet.processRequest( request );
 
         // VERIFY
         assertNotNull( "Should have a result.", result );
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/server/BasicRemoteCacheClientServerUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/server/BasicRemoteCacheClientServerUnitTest.java
index 3ef66df..7c066a8 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/server/BasicRemoteCacheClientServerUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/server/BasicRemoteCacheClientServerUnitTest.java
@@ -78,22 +78,22 @@
     {
         // Add some debug to try and find out why test fails on Jenkins/Continuum
         try {
-            InetAddress lh = InetAddress.getByName("localhost");
+            final InetAddress lh = InetAddress.getByName("localhost");
             System.out.println("localhost="+lh);
-            InetAddress ina=InetAddress.getLocalHost();
+            final InetAddress ina=InetAddress.getLocalHost();
             System.out.println("InetAddress.getLocalHost()="+ina);
             // Iterate all NICs (network interface cards)...
-            Enumeration<NetworkInterface> ifaces = NetworkInterface.getNetworkInterfaces();
+            final Enumeration<NetworkInterface> ifaces = NetworkInterface.getNetworkInterfaces();
             if ( ifaces != null ) {
             while ( ifaces.hasMoreElements() )
                 {
-                    NetworkInterface iface = ifaces.nextElement();
+                    final NetworkInterface iface = ifaces.nextElement();
                     // Iterate all IP addresses assigned to each card...
-                    for ( Enumeration<InetAddress> inetAddrs = iface.getInetAddresses(); inetAddrs.hasMoreElements(); )
+                    for ( final Enumeration<InetAddress> inetAddrs = iface.getInetAddresses(); inetAddrs.hasMoreElements(); )
                     {
-                        InetAddress inetAddr = inetAddrs.nextElement();
-                        boolean loopbackAddress = inetAddr.isLoopbackAddress();
-                        boolean siteLocalAddress = inetAddr.isSiteLocalAddress();
+                        final InetAddress inetAddr = inetAddrs.nextElement();
+                        final boolean loopbackAddress = inetAddr.isLoopbackAddress();
+                        final boolean siteLocalAddress = inetAddr.isSiteLocalAddress();
                         System.out.println("Found: "+ inetAddr +
                                 " isLoopback: " + loopbackAddress +
                                 " isSiteLocal: " + siteLocalAddress +
@@ -101,11 +101,11 @@
                     }
                 }
             }
-        } catch (Exception e) {
+        } catch (final Exception e) {
             e.printStackTrace();
         }
         // end of debug
-        String configFile = "TestRemoteCacheClientServer.ccf";
+        final String configFile = "TestRemoteCacheClientServer.ccf";
         server = RemoteCacheServerStartupUtil.startServerUsingProperties(configFile);
         factory = new RemoteCacheFactory();
         factory.initialize();
@@ -120,8 +120,8 @@
         }
         // Debug: unfortunately Surefire restarts JVM so log files get overwritten
         // There's probably a better way to fix this ...
-        java.io.File jcsLog = new java.io.File("target/jcs.log");
-        java.io.File logSave = new java.io.File("target/BasicRemoteCacheClientServerUnitTest_jcs.log");
+        final java.io.File jcsLog = new java.io.File("target/jcs.log");
+        final java.io.File logSave = new java.io.File("target/BasicRemoteCacheClientServerUnitTest_jcs.log");
         System.out.println("Renamed log file? "+jcsLog.renameTo(logSave));
     }
 
@@ -143,19 +143,19 @@
             throws Exception
             {
         // SETUP
-        MockCompositeCacheManager compositeCacheManager = new MockCompositeCacheManager();
+        final MockCompositeCacheManager compositeCacheManager = new MockCompositeCacheManager();
 
-        RemoteCacheAttributes attributes = new RemoteCacheAttributes();
+        final RemoteCacheAttributes attributes = new RemoteCacheAttributes();
         attributes.setRemoteLocation("localhost", remotePort);
         attributes.setLocalPort(LOCAL_PORT);
         attributes.setCacheName("testSinglePut");
 
-        RemoteCacheManager remoteCacheManager = factory.getManager(attributes, compositeCacheManager, new MockCacheEventLogger(), new MockElementSerializer());
-        AuxiliaryCache<String, String> cache = remoteCacheManager.getCache(attributes);
+        final RemoteCacheManager remoteCacheManager = factory.getManager(attributes, compositeCacheManager, new MockCacheEventLogger(), new MockElementSerializer());
+        final AuxiliaryCache<String, String> cache = remoteCacheManager.getCache(attributes);
 
         // DO WORK
-        int numPutsPrior = server.getPutCount();
-        ICacheElement<String, String> element = new CacheElement<>(cache.getCacheName(), "key", "value");
+        final int numPutsPrior = server.getPutCount();
+        final ICacheElement<String, String> element = new CacheElement<>(cache.getCacheName(), "key", "value");
         cache.update(element);
         SleepUtil.sleepAtLeast(200);
 
@@ -165,7 +165,7 @@
             assertEquals("Cache is alive", CacheStatus.ALIVE, cache.getStatus());
             assertEquals("Wrong number of puts", 1, server.getPutCount() - numPutsPrior);
         }
-        catch (junit.framework.AssertionFailedError e)
+        catch (final junit.framework.AssertionFailedError e)
         {
             System.out.println(cache.getStats());
             System.out.println(server.getStats());
@@ -173,7 +173,7 @@
         }
 
         // DO WORK
-        ICacheElement<String, String> result = cache.get("key");
+        final ICacheElement<String, String> result = cache.get("key");
 
         // VERIFY
         assertEquals("Wrong element.", element.getVal(), result.getVal());
@@ -190,21 +190,21 @@
             throws Exception
             {
         // SETUP
-        MockCompositeCacheManager compositeCacheManager = new MockCompositeCacheManager();
+        final MockCompositeCacheManager compositeCacheManager = new MockCompositeCacheManager();
 
-        RemoteCacheAttributes attributes = new RemoteCacheAttributes();
+        final RemoteCacheAttributes attributes = new RemoteCacheAttributes();
         attributes.setRemoteLocation("localhost", remotePort);
         attributes.setLocalPort(LOCAL_PORT);
         attributes.setCacheName("testPutRemove");
 
-        MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
+        final MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
 
-        RemoteCacheManager remoteCacheManager = factory.getManager(attributes, compositeCacheManager, cacheEventLogger, null);
-        AuxiliaryCache<String, String> cache = remoteCacheManager.getCache(attributes);
+        final RemoteCacheManager remoteCacheManager = factory.getManager(attributes, compositeCacheManager, cacheEventLogger, null);
+        final AuxiliaryCache<String, String> cache = remoteCacheManager.getCache(attributes);
 
         // DO WORK
-        int numPutsPrior = server.getPutCount();
-        ICacheElement<String, String> element = new CacheElement<>(cache.getCacheName(), "key", "value");
+        final int numPutsPrior = server.getPutCount();
+        final ICacheElement<String, String> element = new CacheElement<>(cache.getCacheName(), "key", "value");
         cache.update(element);
         SleepUtil.sleepAtLeast(50);
 
@@ -214,7 +214,7 @@
             assertEquals("Cache is alive", CacheStatus.ALIVE, cache.getStatus());
             assertEquals("Wrong number of puts", 1, server.getPutCount() - numPutsPrior);
         }
-        catch (junit.framework.AssertionFailedError e)
+        catch (final junit.framework.AssertionFailedError e)
         {
             System.out.println(cache.getStats());
             System.out.println(server.getStats());
@@ -222,7 +222,7 @@
         }
 
         // DO WORK
-        ICacheElement<String, String> result = cache.get("key");
+        final ICacheElement<String, String> result = cache.get("key");
 
         // VERIFY
         assertEquals("Wrong element.", element.getVal(), result.getVal());
@@ -230,7 +230,7 @@
         // DO WORK
         cache.remove("key");
         SleepUtil.sleepAtLeast(200);
-        ICacheElement<String, String> resultAfterRemote = cache.get("key");
+        final ICacheElement<String, String> resultAfterRemote = cache.get("key");
 
         // VERIFY
         assertNull("Element resultAfterRemote should be null.", resultAfterRemote);
@@ -246,22 +246,22 @@
             throws Exception
             {
         // SETUP
-        MockCompositeCacheManager compositeCacheManager = new MockCompositeCacheManager();
+        final MockCompositeCacheManager compositeCacheManager = new MockCompositeCacheManager();
 
-        RemoteCacheAttributes attributes = new RemoteCacheAttributes();
+        final RemoteCacheAttributes attributes = new RemoteCacheAttributes();
         attributes.setRemoteLocation("localhost", remotePort);
         attributes.setLocalPort(LOCAL_PORT);
         attributes.setCacheName("testPutAndListen");
 
-        RemoteCacheManager remoteCacheManager = factory.getManager(attributes, compositeCacheManager, new MockCacheEventLogger(), new MockElementSerializer());
-        AuxiliaryCache<String, String> cache = remoteCacheManager.getCache(attributes);
+        final RemoteCacheManager remoteCacheManager = factory.getManager(attributes, compositeCacheManager, new MockCacheEventLogger(), new MockElementSerializer());
+        final AuxiliaryCache<String, String> cache = remoteCacheManager.getCache(attributes);
 
-        MockRemoteCacheListener<String, String> listener = new MockRemoteCacheListener<>();
+        final MockRemoteCacheListener<String, String> listener = new MockRemoteCacheListener<>();
         server.addCacheListener(cache.getCacheName(), listener);
 
         // DO WORK
-        int numPutsPrior = server.getPutCount();
-        ICacheElement<String, String> element = new CacheElement<>(cache.getCacheName(), "key", "value");
+        final int numPutsPrior = server.getPutCount();
+        final ICacheElement<String, String> element = new CacheElement<>(cache.getCacheName(), "key", "value");
         cache.update(element);
         SleepUtil.sleepAtLeast(50);
 
@@ -272,7 +272,7 @@
             assertEquals("Wrong number of puts", 1, server.getPutCount() - numPutsPrior);
             assertEquals("Wrong number of puts to listener.", 1, listener.putCount);
         }
-        catch (junit.framework.AssertionFailedError e)
+        catch (final junit.framework.AssertionFailedError e)
         {
             System.out.println(cache.getStats());
             System.out.println(server.getStats());
@@ -295,25 +295,25 @@
             throws Exception
     {
         // SETUP
-        MockCompositeCacheManager compositeCacheManager = new MockCompositeCacheManager();
+        final MockCompositeCacheManager compositeCacheManager = new MockCompositeCacheManager();
 
-        RemoteCacheAttributes attributes = new RemoteCacheAttributes();
+        final RemoteCacheAttributes attributes = new RemoteCacheAttributes();
         attributes.setRemoteLocation("localhost", remotePort);
         attributes.setLocalPort(LOCAL_PORT);
         attributes.setCacheName("testPutaMultipleAndListen");
 
-        RemoteCacheManager remoteCacheManager = factory.getManager(attributes, compositeCacheManager, new MockCacheEventLogger(), new MockElementSerializer());
-        AuxiliaryCache<String, String> cache = remoteCacheManager.getCache(attributes);
+        final RemoteCacheManager remoteCacheManager = factory.getManager(attributes, compositeCacheManager, new MockCacheEventLogger(), new MockElementSerializer());
+        final AuxiliaryCache<String, String> cache = remoteCacheManager.getCache(attributes);
 
-        MockRemoteCacheListener<String, String> listener = new MockRemoteCacheListener<>();
+        final MockRemoteCacheListener<String, String> listener = new MockRemoteCacheListener<>();
         server.addCacheListener(cache.getCacheName(), listener);
 
         // DO WORK
-        int numPutsPrior = server.getPutCount();
-        int numToPut = 100;
+        final int numPutsPrior = server.getPutCount();
+        final int numToPut = 100;
         for (int i = 0; i < numToPut; i++)
         {
-            ICacheElement<String, String> element = new CacheElement<>(cache.getCacheName(), "key" + 1, "value" + i);
+            final ICacheElement<String, String> element = new CacheElement<>(cache.getCacheName(), "key" + 1, "value" + i);
             cache.update(element);
         }
         SleepUtil.sleepAtLeast(500);
@@ -325,7 +325,7 @@
             assertEquals("Wrong number of puts", numToPut, server.getPutCount() - numPutsPrior);
             assertEquals("Wrong number of puts to listener.", numToPut, listener.putCount);
         }
-        catch (junit.framework.AssertionFailedError e)
+        catch (final junit.framework.AssertionFailedError e)
         {
             System.out.println(cache.getStats());
             System.out.println(server.getStats());
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/server/MockRMISocketFactory.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/server/MockRMISocketFactory.java
index e345cd4..955c795 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/server/MockRMISocketFactory.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/server/MockRMISocketFactory.java
@@ -44,12 +44,12 @@
      * @throws IOException
      */
     @Override
-    public Socket createSocket( String host, int port )
+    public Socket createSocket( final String host, final int port )
         throws IOException
     {
 //        System.out.println( "Creating socket" );
 
-        Socket socket = new Socket();
+        final Socket socket = new Socket();
         socket.setSoTimeout( 1000 );
         socket.setSoLinger( false, 0 );
         socket.connect( new InetSocketAddress( host, port ), 1000 );
@@ -62,7 +62,7 @@
      * @throws IOException
      */
     @Override
-    public ServerSocket createServerSocket( int port )
+    public ServerSocket createServerSocket( final int port )
         throws IOException
     {
 //        System.out.println( "Creating server socket" );
@@ -73,7 +73,7 @@
     /**
      * @param testStringProperty the testStringProperty to set
      */
-    public void setTestStringProperty( String testStringProperty )
+    public void setTestStringProperty( final String testStringProperty )
     {
         this.testStringProperty = testStringProperty;
     }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/server/RegistryKeepAliveRunnerUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/server/RegistryKeepAliveRunnerUnitTest.java
index 5fe25d7..d47c43b 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/server/RegistryKeepAliveRunnerUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/server/RegistryKeepAliveRunnerUnitTest.java
@@ -30,12 +30,12 @@
     public void testCheckAndRestoreIfNeeded_failure()
     {
         // SETUP
-        String host = "localhost";
-        int port = 1234;
-        String service = "doesn'texist";
-        MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
+        final String host = "localhost";
+        final int port = 1234;
+        final String service = "doesn'texist";
+        final MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
 
-        RegistryKeepAliveRunner runner = new RegistryKeepAliveRunner( host, port, service );
+        final RegistryKeepAliveRunner runner = new RegistryKeepAliveRunner( host, port, service );
         runner.setCacheEventLogger( cacheEventLogger );
 
         // DO WORK
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServerAttributesUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServerAttributesUnitTest.java
index 3a100cd..35dd08b 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServerAttributesUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServerAttributesUnitTest.java
@@ -37,7 +37,7 @@
      */
     public void testToString()
     {
-        RemoteCacheServerAttributes attributes = new RemoteCacheServerAttributes();
+        final RemoteCacheServerAttributes attributes = new RemoteCacheServerAttributes();
         assertNotNull( "Should have a string.", attributes.toString() );
     }
 
@@ -46,7 +46,7 @@
      */
     public void testSetRemoteTypeName_local()
     {
-        RemoteCacheServerAttributes attributes = new RemoteCacheServerAttributes();
+        final RemoteCacheServerAttributes attributes = new RemoteCacheServerAttributes();
         attributes.setRemoteTypeName( "LOCAL" );
         assertEquals( "Wrong type.", RemoteType.LOCAL, attributes.getRemoteType() );
         assertEquals( "Wrong name", "LOCAL", attributes.getRemoteTypeName() );
@@ -57,7 +57,7 @@
      */
     public void testSetRemoteTypeName_cluster()
     {
-        RemoteCacheServerAttributes attributes = new RemoteCacheServerAttributes();
+        final RemoteCacheServerAttributes attributes = new RemoteCacheServerAttributes();
         attributes.setRemoteTypeName( "CLUSTER" );
         assertEquals( "Wrong type.", RemoteType.CLUSTER, attributes.getRemoteType() );
         assertEquals( "Wrong name", "CLUSTER", attributes.getRemoteTypeName() );
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServerFactoryUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServerFactoryUnitTest.java
index 4aa511f..91d83fa 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServerFactoryUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServerFactoryUnitTest.java
@@ -35,12 +35,12 @@
     public void testConfigureRemoteCacheServerAttributes_eventQueuePoolName()
     {
         // SETUP
-        String eventQueuePoolName = "specialName";
-        Properties props = new Properties();
+        final String eventQueuePoolName = "specialName";
+        final Properties props = new Properties();
         props.put( IRemoteCacheConstants.CACHE_SERVER_ATTRIBUTES_PROPERTY_PREFIX + ".EventQueuePoolName", eventQueuePoolName );
 
         // DO WORK
-        RemoteCacheServerAttributes result = RemoteCacheServerFactory.configureRemoteCacheServerAttributes( props );
+        final RemoteCacheServerAttributes result = RemoteCacheServerFactory.configureRemoteCacheServerAttributes( props );
 
         // VERIFY
         assertEquals( "Wrong eventQueuePoolName", eventQueuePoolName, result.getEventQueuePoolName() );
@@ -50,12 +50,12 @@
     public void testConfigureRemoteCacheServerAttributes_timeoutPresent()
     {
         // SETUP
-        int timeout = 123245;
-        Properties props = new Properties();
+        final int timeout = 123245;
+        final Properties props = new Properties();
         props.put( IRemoteCacheConstants.SOCKET_TIMEOUT_MILLIS, String.valueOf( timeout ) );
 
         // DO WORK
-        RemoteCacheServerAttributes result = RemoteCacheServerFactory.configureRemoteCacheServerAttributes( props );
+        final RemoteCacheServerAttributes result = RemoteCacheServerFactory.configureRemoteCacheServerAttributes( props );
 
         // VERIFY
         assertEquals( "Wrong timeout", timeout, result.getRmiSocketFactoryTimeoutMillis() );
@@ -65,10 +65,10 @@
     public void testConfigureRemoteCacheServerAttributes_timeoutNotPresent()
     {
         // SETUP
-        Properties props = new Properties();
+        final Properties props = new Properties();
 
         // DO WORK
-        RemoteCacheServerAttributes result = RemoteCacheServerFactory.configureRemoteCacheServerAttributes( props );
+        final RemoteCacheServerAttributes result = RemoteCacheServerFactory.configureRemoteCacheServerAttributes( props );
 
         // VERIFY
         assertEquals( "Wrong timeout", ICommonRemoteCacheAttributes.DEFAULT_RMI_SOCKET_FACTORY_TIMEOUT_MILLIS, result.getRmiSocketFactoryTimeoutMillis() );
@@ -78,12 +78,12 @@
     public void testConfigureRemoteCacheServerAttributes_registryKeepAliveDelayMillisPresent()
     {
         // SETUP
-        int registryKeepAliveDelayMillis = 123245;
-        Properties props = new Properties();
+        final int registryKeepAliveDelayMillis = 123245;
+        final Properties props = new Properties();
         props.put( IRemoteCacheConstants.CACHE_SERVER_ATTRIBUTES_PROPERTY_PREFIX + ".registryKeepAliveDelayMillis", String.valueOf( registryKeepAliveDelayMillis ) );
 
         // DO WORK
-        RemoteCacheServerAttributes result = RemoteCacheServerFactory.configureRemoteCacheServerAttributes( props );
+        final RemoteCacheServerAttributes result = RemoteCacheServerFactory.configureRemoteCacheServerAttributes( props );
 
         // VERIFY
         assertEquals( "Wrong registryKeepAliveDelayMillis", registryKeepAliveDelayMillis, result.getRegistryKeepAliveDelayMillis() );
@@ -93,12 +93,12 @@
     public void testConfigureRemoteCacheServerAttributes_useRegistryKeepAlivePresent()
     {
         // SETUP
-        boolean useRegistryKeepAlive = false;
-        Properties props = new Properties();
+        final boolean useRegistryKeepAlive = false;
+        final Properties props = new Properties();
         props.put( IRemoteCacheConstants.CACHE_SERVER_ATTRIBUTES_PROPERTY_PREFIX + ".useRegistryKeepAlive", String.valueOf( useRegistryKeepAlive ) );
 
         // DO WORK
-        RemoteCacheServerAttributes result = RemoteCacheServerFactory.configureRemoteCacheServerAttributes( props );
+        final RemoteCacheServerAttributes result = RemoteCacheServerFactory.configureRemoteCacheServerAttributes( props );
 
         // VERIFY
         assertEquals( "Wrong useRegistryKeepAlive", useRegistryKeepAlive, result.isUseRegistryKeepAlive() );
@@ -108,12 +108,12 @@
     public void testConfigureRemoteCacheServerAttributes_startRegistryPresent()
     {
         // SETUP
-        boolean startRegistry = false;
-        Properties props = new Properties();
+        final boolean startRegistry = false;
+        final Properties props = new Properties();
         props.put( IRemoteCacheConstants.CACHE_SERVER_ATTRIBUTES_PROPERTY_PREFIX + ".startRegistry", String.valueOf( startRegistry ) );
 
         // DO WORK
-        RemoteCacheServerAttributes result = RemoteCacheServerFactory.configureRemoteCacheServerAttributes( props );
+        final RemoteCacheServerAttributes result = RemoteCacheServerFactory.configureRemoteCacheServerAttributes( props );
 
         // VERIFY
         assertEquals( "Wrong startRegistry", startRegistry, result.isStartRegistry() );
@@ -123,12 +123,12 @@
     public void testConfigureRemoteCacheServerAttributes_rmiSocketFactoryTimeoutMillisPresent()
     {
         // SETUP
-        int rmiSocketFactoryTimeoutMillis = 123245;
-        Properties props = new Properties();
+        final int rmiSocketFactoryTimeoutMillis = 123245;
+        final Properties props = new Properties();
         props.put( IRemoteCacheConstants.CACHE_SERVER_ATTRIBUTES_PROPERTY_PREFIX + ".rmiSocketFactoryTimeoutMillis", String.valueOf( rmiSocketFactoryTimeoutMillis ) );
 
         // DO WORK
-        RemoteCacheServerAttributes result = RemoteCacheServerFactory.configureRemoteCacheServerAttributes( props );
+        final RemoteCacheServerAttributes result = RemoteCacheServerFactory.configureRemoteCacheServerAttributes( props );
 
         // VERIFY
         assertEquals( "Wrong rmiSocketFactoryTimeoutMillis", rmiSocketFactoryTimeoutMillis, result.getRmiSocketFactoryTimeoutMillis() );
@@ -138,12 +138,12 @@
     public void testConfigureRemoteCacheServerAttributes_allowClusterGetPresent()
     {
         // SETUP
-        boolean allowClusterGet = false;
-        Properties props = new Properties();
+        final boolean allowClusterGet = false;
+        final Properties props = new Properties();
         props.put( IRemoteCacheConstants.CACHE_SERVER_ATTRIBUTES_PROPERTY_PREFIX + ".allowClusterGet", String.valueOf( allowClusterGet ) );
 
         // DO WORK
-        RemoteCacheServerAttributes result = RemoteCacheServerFactory.configureRemoteCacheServerAttributes( props );
+        final RemoteCacheServerAttributes result = RemoteCacheServerFactory.configureRemoteCacheServerAttributes( props );
 
         // VERIFY
         assertEquals( "Wrong allowClusterGet", allowClusterGet, result.isAllowClusterGet() );
@@ -153,12 +153,12 @@
     public void testConfigureRemoteCacheServerAttributes_localClusterConsistencyPresent()
     {
         // SETUP
-        boolean localClusterConsistency = false;
-        Properties props = new Properties();
+        final boolean localClusterConsistency = false;
+        final Properties props = new Properties();
         props.put( IRemoteCacheConstants.CACHE_SERVER_ATTRIBUTES_PROPERTY_PREFIX + ".localClusterConsistency", String.valueOf( localClusterConsistency ) );
 
         // DO WORK
-        RemoteCacheServerAttributes result = RemoteCacheServerFactory.configureRemoteCacheServerAttributes( props );
+        final RemoteCacheServerAttributes result = RemoteCacheServerFactory.configureRemoteCacheServerAttributes( props );
 
         // VERIFY
         assertEquals( "Wrong localClusterConsistency", localClusterConsistency, result.isLocalClusterConsistency() );
@@ -168,13 +168,13 @@
     public void testConfigureObjectSpecificCustomFactory_withProperty()
     {
         // SETUP
-        String testValue = "123245";
-        Properties props = new Properties();
+        final String testValue = "123245";
+        final Properties props = new Properties();
         props.put( IRemoteCacheConstants.CUSTOM_RMI_SOCKET_FACTORY_PROPERTY_PREFIX, MockRMISocketFactory.class.getName() );
         props.put( IRemoteCacheConstants.CUSTOM_RMI_SOCKET_FACTORY_PROPERTY_PREFIX + ".testStringProperty", testValue );
 
         // DO WORK
-        RMISocketFactory result = RemoteCacheServerFactory.configureObjectSpecificCustomFactory( props );
+        final RMISocketFactory result = RemoteCacheServerFactory.configureObjectSpecificCustomFactory( props );
 
         // VERIFY
         assertNotNull( "Should have a custom socket factory.", result );
@@ -185,15 +185,15 @@
     public void testConfigureObjectSpecificCustomFactory_withProperty_TimeoutConfigurableRMIScoketFactory()
     {
         // SETUP
-        int readTimeout = 1234;
-        int openTimeout = 1234;
-        Properties props = new Properties();
+        final int readTimeout = 1234;
+        final int openTimeout = 1234;
+        final Properties props = new Properties();
         props.put( IRemoteCacheConstants.CUSTOM_RMI_SOCKET_FACTORY_PROPERTY_PREFIX, TimeoutConfigurableRMISocketFactory.class.getName() );
         props.put( IRemoteCacheConstants.CUSTOM_RMI_SOCKET_FACTORY_PROPERTY_PREFIX + ".readTimeout", String.valueOf( readTimeout ) );
         props.put( IRemoteCacheConstants.CUSTOM_RMI_SOCKET_FACTORY_PROPERTY_PREFIX + ".openTimeout", String.valueOf( openTimeout ) );
 
         // DO WORK
-        RMISocketFactory result = RemoteCacheServerFactory.configureObjectSpecificCustomFactory( props );
+        final RMISocketFactory result = RemoteCacheServerFactory.configureObjectSpecificCustomFactory( props );
 
         // VERIFY
         assertNotNull( "Should have a custom socket factory.", result );
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServerStartupUtil.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServerStartupUtil.java
index 3f48c18..d7c1203 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServerStartupUtil.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServerStartupUtil.java
@@ -47,7 +47,7 @@
      * @param propsFileName
      * @return RemoteCacheServer
      */
-    public static <K, V> RemoteCacheServer<K, V> startServerUsingProperties( String propsFileName )
+    public static <K, V> RemoteCacheServer<K, V> startServerUsingProperties( final String propsFileName )
     {
         // TODO load from props file or get as init param or get from jndi, or
         // all three
@@ -58,20 +58,20 @@
         {
             props = RemoteUtils.loadProps(propsFileName);
         }
-        catch (IOException e)
+        catch (final IOException e)
         {
             log.error( "Problem loading configuration from " + propsFileName, e);
         }
 
         if ( props != null )
         {
-            String portS = props.getProperty( "registry.port", String.valueOf( DEFAULT_REGISTRY_PORT ) );
+            final String portS = props.getProperty( "registry.port", String.valueOf( DEFAULT_REGISTRY_PORT ) );
 
             try
             {
                 registryPort = Integer.parseInt( portS );
             }
-            catch ( NumberFormatException e )
+            catch ( final NumberFormatException e )
             {
                 log.error( "Problem converting port to an int.", e );
             }
@@ -80,7 +80,7 @@
         // we will always use the local machine for the registry
         try
         {
-            String registryHost = HostNameUtil.getLocalHostAddress();
+            final String registryHost = HostNameUtil.getLocalHostAddress();
 
             if ( log.isDebugEnabled() )
             {
@@ -97,12 +97,12 @@
             {
                 RemoteCacheServerFactory.startup( registryHost, registryPort, props );
             }
-            catch ( IOException e )
+            catch ( final IOException e )
             {
                 log.error( "Problem starting remote cache server.", e );
             }
         }
-        catch ( UnknownHostException e )
+        catch ( final UnknownHostException e )
         {
             log.error( "Could not get local address to use for the registry!", e );
         }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServerUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServerUnitTest.java
index 07600df..7071e6f 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServerUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServerUnitTest.java
@@ -54,9 +54,9 @@
     {
         super.setUp();
 
-        IRemoteCacheServerAttributes rcsa = new RemoteCacheServerAttributes();
+        final IRemoteCacheServerAttributes rcsa = new RemoteCacheServerAttributes();
         rcsa.setConfigFileName( "/TestRemoteCacheServer.ccf" );
-        Properties config = RemoteUtils.loadProps(rcsa.getConfigFileName());
+        final Properties config = RemoteUtils.loadProps(rcsa.getConfigFileName());
         this.server = new RemoteCacheServer<>( rcsa, config );
     }
 
@@ -77,14 +77,14 @@
     public void testAddListenerToCache_LOCALtype()
         throws Exception
     {
-        MockRemoteCacheListener<String, String> mockListener1 = new MockRemoteCacheListener<>();
+        final MockRemoteCacheListener<String, String> mockListener1 = new MockRemoteCacheListener<>();
         mockListener1.remoteType = RemoteType.LOCAL;
         mockListener1.localAddress = expectedIp1;
-        MockRemoteCacheListener<String, String> mockListener2 = new MockRemoteCacheListener<>();
+        final MockRemoteCacheListener<String, String> mockListener2 = new MockRemoteCacheListener<>();
         mockListener1.remoteType = RemoteType.LOCAL;
         mockListener2.localAddress = expectedIp2;
 
-        String cacheName = "testAddListener";
+        final String cacheName = "testAddListener";
 
         // DO WORK
         server.addCacheListener( cacheName, mockListener1 );
@@ -106,14 +106,14 @@
     public void testAddListenerToCache_CLUSTERtype()
         throws Exception
     {
-        MockRemoteCacheListener<String, String> mockListener1 = new MockRemoteCacheListener<>();
+        final MockRemoteCacheListener<String, String> mockListener1 = new MockRemoteCacheListener<>();
         mockListener1.remoteType = RemoteType.CLUSTER;
         mockListener1.localAddress = expectedIp1;
-        MockRemoteCacheListener<String, String> mockListener2 = new MockRemoteCacheListener<>();
+        final MockRemoteCacheListener<String, String> mockListener2 = new MockRemoteCacheListener<>();
         mockListener1.remoteType = RemoteType.CLUSTER;
         mockListener2.localAddress = expectedIp2;
 
-        String cacheName = "testAddListener";
+        final String cacheName = "testAddListener";
 
         // DO WORK
         server.addCacheListener( cacheName, mockListener1 );
@@ -163,10 +163,10 @@
     public void testAddListener_ToAllThenRemove()
         throws Exception
     {
-        MockRemoteCacheListener<String, String> mockListener1 = new MockRemoteCacheListener<>();
-        MockRemoteCacheListener<String, String> mockListener2 = new MockRemoteCacheListener<>();
+        final MockRemoteCacheListener<String, String> mockListener1 = new MockRemoteCacheListener<>();
+        final MockRemoteCacheListener<String, String> mockListener2 = new MockRemoteCacheListener<>();
 
-        String cacheName = "testAddListenerToAllThenRemove";
+        final String cacheName = "testAddListenerToAllThenRemove";
 
         // DO WORK
         server.addCacheListener( cacheName, mockListener1 );
@@ -192,12 +192,12 @@
     public void testAddListener_ToAllThenRemove_clusterType()
         throws Exception
     {
-        MockRemoteCacheListener<String, String> mockListener1 = new MockRemoteCacheListener<>();
+        final MockRemoteCacheListener<String, String> mockListener1 = new MockRemoteCacheListener<>();
         mockListener1.remoteType = RemoteType.CLUSTER;
-        MockRemoteCacheListener<String, String> mockListener2 = new MockRemoteCacheListener<>();
+        final MockRemoteCacheListener<String, String> mockListener2 = new MockRemoteCacheListener<>();
         mockListener2.remoteType = RemoteType.CLUSTER;
 
-        String cacheName = "testAddListenerToAllThenRemove";
+        final String cacheName = "testAddListenerToAllThenRemove";
 
         // DO WORK
         server.addCacheListener( cacheName, mockListener1 );
@@ -223,23 +223,23 @@
     public void testSimpleRegisterListenerAndPut()
         throws Exception
     {
-        IRemoteCacheServerAttributes rcsa = new RemoteCacheServerAttributes();
+        final IRemoteCacheServerAttributes rcsa = new RemoteCacheServerAttributes();
         rcsa.setConfigFileName( "/TestRemoteCacheServer.ccf" );
 
-        Properties config = RemoteUtils.loadProps(rcsa.getConfigFileName());
-        MockRemoteCacheListener<String, Long> mockListener = new MockRemoteCacheListener<>();
-        RemoteCacheServer<String, Long> server = new RemoteCacheServer<>( rcsa, config );
+        final Properties config = RemoteUtils.loadProps(rcsa.getConfigFileName());
+        final MockRemoteCacheListener<String, Long> mockListener = new MockRemoteCacheListener<>();
+        final RemoteCacheServer<String, Long> server = new RemoteCacheServer<>( rcsa, config );
 
-        String cacheName = "testSimpleRegisterListenerAndPut";
+        final String cacheName = "testSimpleRegisterListenerAndPut";
         server.addCacheListener( cacheName, mockListener );
 
         // DO WORK
-        List<ICacheElement<String, Long>> inputItems = new LinkedList<>();
-        int numToPut = 10;
+        final List<ICacheElement<String, Long>> inputItems = new LinkedList<>();
+        final int numToPut = 10;
 
         for ( int i = 0; i < numToPut; i++ )
         {
-            ICacheElement<String, Long> element = new CacheElement<>( cacheName, String.valueOf( i ), Long.valueOf( i ) );
+            final ICacheElement<String, Long> element = new CacheElement<>( cacheName, String.valueOf( i ), Long.valueOf( i ) );
             inputItems.add( element );
             server.update( element, 9999 );
         }
@@ -269,31 +269,31 @@
         throws Exception
     {
         // SETUP
-        IRemoteCacheServerAttributes rcsa = new RemoteCacheServerAttributes();
+        final IRemoteCacheServerAttributes rcsa = new RemoteCacheServerAttributes();
         rcsa.setLocalClusterConsistency( true );
         rcsa.setConfigFileName( "/TestRemoteCacheServer.ccf" );
-        Properties config = RemoteUtils.loadProps(rcsa.getConfigFileName());
-        RemoteCacheServer<String, Long> server = new RemoteCacheServer<>( rcsa, config );
+        final Properties config = RemoteUtils.loadProps(rcsa.getConfigFileName());
+        final RemoteCacheServer<String, Long> server = new RemoteCacheServer<>( rcsa, config );
 
         // this is to get the listener id for inserts.
-        MockRemoteCacheListener<String, Long> clusterListener = new MockRemoteCacheListener<>();
+        final MockRemoteCacheListener<String, Long> clusterListener = new MockRemoteCacheListener<>();
         clusterListener.remoteType = RemoteType.CLUSTER;
 
         // this should get the updates
-        MockRemoteCacheListener<String, Long> localListener = new MockRemoteCacheListener<>();
+        final MockRemoteCacheListener<String, Long> localListener = new MockRemoteCacheListener<>();
         localListener.remoteType = RemoteType.LOCAL;
 
-        String cacheName = "testSimpleRegisterListenerAndPut_FromClusterWithLCC";
+        final String cacheName = "testSimpleRegisterListenerAndPut_FromClusterWithLCC";
         server.addCacheListener( cacheName, clusterListener );
         server.addCacheListener( cacheName, localListener );
 
         // DO WORK
-        List<ICacheElement<String, Long>> inputItems = new LinkedList<>();
-        int numToPut = 10;
+        final List<ICacheElement<String, Long>> inputItems = new LinkedList<>();
+        final int numToPut = 10;
 
         for ( int i = 0; i < numToPut; i++ )
         {
-            ICacheElement<String, Long> element = new CacheElement<>( cacheName, String.valueOf( i ), Long.valueOf( i ) );
+            final ICacheElement<String, Long> element = new CacheElement<>( cacheName, String.valueOf( i ), Long.valueOf( i ) );
             inputItems.add( element );
             // update using the cluster listener id
             server.update( element, clusterListener.getListenerId() );
@@ -321,13 +321,13 @@
     public void testSimpleRegisterListenerAndRemove()
         throws Exception
     {
-        MockRemoteCacheListener<String, String> mockListener = new MockRemoteCacheListener<>();
+        final MockRemoteCacheListener<String, String> mockListener = new MockRemoteCacheListener<>();
 
-        String cacheName = "testSimpleRegisterListenerAndPut";
+        final String cacheName = "testSimpleRegisterListenerAndPut";
         server.addCacheListener( cacheName, mockListener );
 
         // DO WORK
-        int numToPut = 10;
+        final int numToPut = 10;
 
         for ( int i = 0; i < numToPut; i++ )
         {
@@ -355,10 +355,10 @@
     public void testUpdate_simple()
         throws Exception
     {
-        MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
+        final MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
         server.setCacheEventLogger( cacheEventLogger );
 
-        ICacheElement<String, String> item = new CacheElement<>( "region", "key", "value" );
+        final ICacheElement<String, String> item = new CacheElement<>( "region", "key", "value" );
 
         // DO WORK
         server.update( item );
@@ -376,7 +376,7 @@
     public void testGet_simple()
         throws Exception
     {
-        MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
+        final MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
         server.setCacheEventLogger( cacheEventLogger );
 
         // DO WORK
@@ -395,7 +395,7 @@
     public void testGetMatching_simple()
         throws Exception
     {
-        MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
+        final MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
         server.setCacheEventLogger( cacheEventLogger );
 
         // DO WORK
@@ -414,7 +414,7 @@
     public void testGetMultiple_simple()
         throws Exception
     {
-        MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
+        final MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
         server.setCacheEventLogger( cacheEventLogger );
 
         // DO WORK
@@ -433,7 +433,7 @@
     public void testRemove_simple()
         throws Exception
     {
-        MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
+        final MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
         server.setCacheEventLogger( cacheEventLogger );
 
         // DO WORK
@@ -452,7 +452,7 @@
     public void testRemoveAll_simple()
         throws Exception
     {
-        MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
+        final MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
         server.setCacheEventLogger( cacheEventLogger );
 
         // DO WORK
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/server/TimeoutConfigurableRMISocketFactoryUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/server/TimeoutConfigurableRMISocketFactoryUnitTest.java
index b814fcf..14993a1 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/server/TimeoutConfigurableRMISocketFactoryUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/server/TimeoutConfigurableRMISocketFactoryUnitTest.java
@@ -37,13 +37,13 @@
     public void testCreateAndConnect() throws IOException
     {
         // SETUP
-        int port = 3455;
-        String host = "localhost";
-        TimeoutConfigurableRMISocketFactory factory = new TimeoutConfigurableRMISocketFactory();
+        final int port = 3455;
+        final String host = "localhost";
+        final TimeoutConfigurableRMISocketFactory factory = new TimeoutConfigurableRMISocketFactory();
 
         // DO WORK
-        ServerSocket serverSocket = factory.createServerSocket( port );
-        Socket socket = factory.createSocket( host, port );
+        final ServerSocket serverSocket = factory.createServerSocket( port );
+        final Socket socket = factory.createSocket( host, port );
         socket.close();
         serverSocket.close();
 
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/util/RemoteCacheRequestFactoryUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/util/RemoteCacheRequestFactoryUnitTest.java
index 728aa22..147a77e 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/util/RemoteCacheRequestFactoryUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/util/RemoteCacheRequestFactoryUnitTest.java
@@ -37,12 +37,12 @@
     public void testCreateGetRequest_Normal()
     {
         // SETUP
-        String cacheName = "test";
-        Serializable key = "key";
-        long requesterId = 2;
+        final String cacheName = "test";
+        final Serializable key = "key";
+        final long requesterId = 2;
 
         // DO WORK
-        RemoteCacheRequest<Serializable, Serializable> result =
+        final RemoteCacheRequest<Serializable, Serializable> result =
             RemoteCacheRequestFactory.createGetRequest( cacheName, key, requesterId );
 
         // VERIFY
@@ -55,12 +55,12 @@
     public void testCreateGetMatchingRequest_Normal()
     {
         // SETUP
-        String cacheName = "test";
-        String pattern = "pattern";
-        long requesterId = 2;
+        final String cacheName = "test";
+        final String pattern = "pattern";
+        final long requesterId = 2;
 
         // DO WORK
-        RemoteCacheRequest<Serializable, Serializable> result =
+        final RemoteCacheRequest<Serializable, Serializable> result =
             RemoteCacheRequestFactory.createGetMatchingRequest( cacheName, pattern, requesterId );
 
         // VERIFY
@@ -73,12 +73,12 @@
     public void testCreateGetMultipleRequest_Normal()
     {
         // SETUP
-        String cacheName = "test";
-        Set<Serializable> keys = Collections.emptySet();
-        long requesterId = 2;
+        final String cacheName = "test";
+        final Set<Serializable> keys = Collections.emptySet();
+        final long requesterId = 2;
 
         // DO WORK
-        RemoteCacheRequest<Serializable, Serializable> result =
+        final RemoteCacheRequest<Serializable, Serializable> result =
             RemoteCacheRequestFactory.createGetMultipleRequest( cacheName, keys, requesterId );
 
         // VERIFY
@@ -91,12 +91,12 @@
     public void testCreateRemoveRequest_Normal()
     {
         // SETUP
-        String cacheName = "test";
-        Serializable key = "key";
-        long requesterId = 2;
+        final String cacheName = "test";
+        final Serializable key = "key";
+        final long requesterId = 2;
 
         // DO WORK
-        RemoteCacheRequest<Serializable, Serializable> result = RemoteCacheRequestFactory
+        final RemoteCacheRequest<Serializable, Serializable> result = RemoteCacheRequestFactory
             .createRemoveRequest( cacheName, key, requesterId );
 
         // VERIFY
@@ -109,11 +109,11 @@
     public void testCreateRemoveAllRequest_Normal()
     {
         // SETUP
-        String cacheName = "test";
-        long requesterId = 2;
+        final String cacheName = "test";
+        final long requesterId = 2;
 
         // DO WORK
-        RemoteCacheRequest<Serializable, Serializable> result =
+        final RemoteCacheRequest<Serializable, Serializable> result =
             RemoteCacheRequestFactory.createRemoveAllRequest( cacheName, requesterId );
 
         // VERIFY
@@ -126,15 +126,15 @@
     public void testCreateUpdateRequest_Normal()
     {
         // SETUP
-        String cacheName = "test";
-        Serializable key = "key";
-        long requesterId = 2;
+        final String cacheName = "test";
+        final Serializable key = "key";
+        final long requesterId = 2;
 
-        CacheElement<Serializable, Serializable> element =
+        final CacheElement<Serializable, Serializable> element =
             new CacheElement<>( cacheName, key, null );
 
         // DO WORK
-        RemoteCacheRequest<Serializable, Serializable> result =
+        final RemoteCacheRequest<Serializable, Serializable> result =
             RemoteCacheRequestFactory.createUpdateRequest( element, requesterId );
 
         // VERIFY
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/CacheEventQueueFactoryUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/CacheEventQueueFactoryUnitTest.java
index a9569bc..1ddd05a 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/CacheEventQueueFactoryUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/CacheEventQueueFactoryUnitTest.java
@@ -34,14 +34,14 @@
     public void testCreateCacheEventQueue_Single()
     {
         // SETUP
-        QueueType eventQueueType = QueueType.SINGLE;
-        ICacheListener<String, String> listener = new MockRemoteCacheListener<>();
-        long listenerId = 1;
+        final QueueType eventQueueType = QueueType.SINGLE;
+        final ICacheListener<String, String> listener = new MockRemoteCacheListener<>();
+        final long listenerId = 1;
 
-        CacheEventQueueFactory<String, String> factory = new CacheEventQueueFactory<>();
+        final CacheEventQueueFactory<String, String> factory = new CacheEventQueueFactory<>();
 
         // DO WORK
-        ICacheEventQueue<String, String> result = factory.createCacheEventQueue( listener, listenerId, "cacheName", "threadPoolName", eventQueueType );
+        final ICacheEventQueue<String, String> result = factory.createCacheEventQueue( listener, listenerId, "cacheName", "threadPoolName", eventQueueType );
 
         // VERIFY
         assertNotNull( "Should have a result", result );
@@ -52,14 +52,14 @@
     public void testCreateCacheEventQueue_Pooled()
     {
         // SETUP
-        QueueType eventQueueType = QueueType.POOLED;
-        ICacheListener<String, String> listener = new MockRemoteCacheListener<>();
-        long listenerId = 1;
+        final QueueType eventQueueType = QueueType.POOLED;
+        final ICacheListener<String, String> listener = new MockRemoteCacheListener<>();
+        final long listenerId = 1;
 
-        CacheEventQueueFactory<String, String> factory = new CacheEventQueueFactory<>();
+        final CacheEventQueueFactory<String, String> factory = new CacheEventQueueFactory<>();
 
         // DO WORK
-        ICacheEventQueue<String, String> result = factory.createCacheEventQueue( listener, listenerId, "cacheName", "threadPoolName", eventQueueType );
+        final ICacheEventQueue<String, String> result = factory.createCacheEventQueue( listener, listenerId, "cacheName", "threadPoolName", eventQueueType );
 
         // VERIFY
         assertNotNull( "Should have a result", result );
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/ElementAttributesUtils.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/ElementAttributesUtils.java
index 11b7931..a857afc 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/ElementAttributesUtils.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/ElementAttributesUtils.java
@@ -43,7 +43,7 @@
  * Allow test access to set last access time without exposing public method
  */
 public class ElementAttributesUtils {
-    public static void setLastAccessTime(ElementAttributes ea, long time) {
+    public static void setLastAccessTime(final ElementAttributes ea, final long time) {
         ea.setLastAccessTime(time);
     }
 }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/EventQueueConcurrentLoadTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/EventQueueConcurrentLoadTest.java
index d9abc7b..47bc46e 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/EventQueueConcurrentLoadTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/EventQueueConcurrentLoadTest.java
@@ -56,7 +56,7 @@
      * Constructor for the TestDiskCache object.
      * @param testName
      */
-    public EventQueueConcurrentLoadTest( String testName )
+    public EventQueueConcurrentLoadTest( final String testName )
     {
         super( testName );
     }
@@ -65,9 +65,9 @@
      * Main method passes this test to the text test runner.
      * @param args
      */
-    public static void main( String args[] )
+    public static void main( final String args[] )
     {
-        String[] testCaseName = { EventQueueConcurrentLoadTest.class.getName() };
+        final String[] testCaseName = { EventQueueConcurrentLoadTest.class.getName() };
         junit.textui.TestRunner.main( testCaseName );
     }
 
@@ -77,7 +77,7 @@
      */
     public static Test suite()
     {
-        ActiveTestSuite suite = new ActiveTestSuite();
+        final ActiveTestSuite suite = new ActiveTestSuite();
 
         suite.addTest( new EventQueueConcurrentLoadTest( "testRunPutTest1" )
         {
@@ -160,12 +160,12 @@
      * @param expectedPutCount
      * @throws Exception
      */
-    public void runPutTest( int end, int expectedPutCount )
+    public void runPutTest( final int end, final int expectedPutCount )
         throws Exception
     {
         for ( int i = 0; i <= end; i++ )
         {
-            CacheElement<String, String> elem = new CacheElement<>( "testCache1", i + ":key", i + "data" );
+            final CacheElement<String, String> elem = new CacheElement<>( "testCache1", i + ":key", i + "data" );
             queue.addPutEvent( elem );
         }
 
@@ -191,7 +191,7 @@
      * @param end
      * @throws Exception
      */
-    public void runRemoveTest( int end )
+    public void runRemoveTest( final int end )
         throws Exception
     {
         for ( int i = 0; i <= end; i++ )
@@ -207,7 +207,7 @@
      * @param expectedPutCount
      * @throws Exception
      */
-    public void runPutDelayTest( int end, int expectedPutCount )
+    public void runPutDelayTest( final int end, final int expectedPutCount )
         throws Exception
     {
         while ( !queue.isEmpty() )
@@ -221,7 +221,7 @@
         System.out.println( "queue is empty, begin" );
 
         // get it going
-        CacheElement<String, String> elem = new CacheElement<>( "testCache1", "a:key", "adata" );
+        final CacheElement<String, String> elem = new CacheElement<>( "testCache1", "a:key", "adata" );
         queue.addPutEvent( elem );
 
         for ( int i = 0; i <= end; i++ )
@@ -237,7 +237,7 @@
                     this.wait( idleTime / 2 );
                 }
             }
-            CacheElement<String, String> elem2 = new CacheElement<>( "testCache1", i + ":key", i + "data" );
+            final CacheElement<String, String> elem2 = new CacheElement<>( "testCache1", i + ":key", i + "data" );
             queue.addPutEvent( elem2 );
         }
 
@@ -281,7 +281,7 @@
          * @throws IOException
          */
         @Override
-        public void handlePut( ICacheElement<K, V> item )
+        public void handlePut( final ICacheElement<K, V> item )
             throws IOException
         {
             synchronized ( this )
@@ -296,7 +296,7 @@
          * @throws IOException
          */
         @Override
-        public void handleRemove( String cacheName, K key )
+        public void handleRemove( final String cacheName, final K key )
             throws IOException
         {
             synchronized ( this )
@@ -311,7 +311,7 @@
          * @throws IOException
          */
         @Override
-        public void handleRemoveAll( String cacheName )
+        public void handleRemoveAll( final String cacheName )
             throws IOException
         {
             // TODO Auto-generated method stub
@@ -323,7 +323,7 @@
          * @throws IOException
          */
         @Override
-        public void handleDispose( String cacheName )
+        public void handleDispose( final String cacheName )
             throws IOException
         {
             // TODO Auto-generated method stub
@@ -335,7 +335,7 @@
          * @throws IOException
          */
         @Override
-        public void setListenerId( long id )
+        public void setListenerId( final long id )
             throws IOException
         {
             // TODO Auto-generated method stub
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/MockCacheServiceNonLocal.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/MockCacheServiceNonLocal.java
index 6496869..495c40c 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/MockCacheServiceNonLocal.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/MockCacheServiceNonLocal.java
@@ -67,7 +67,7 @@
      * @return null
      */
     @Override
-    public ICacheElement<K, V> get( String cacheName, K key, long requesterId )
+    public ICacheElement<K, V> get( final String cacheName, final K key, final long requesterId )
     {
         lastGetKey = key;
         return null;
@@ -78,7 +78,7 @@
      * @return empty set
      */
     @Override
-    public Set<K> getKeySet( String cacheName )
+    public Set<K> getKeySet( final String cacheName )
     {
         return new HashSet<>();
     }
@@ -91,7 +91,7 @@
      * @param requesterId - identity of requester
      */
     @Override
-    public void remove( String cacheName, K key, long requesterId )
+    public void remove( final String cacheName, final K key, final long requesterId )
     {
         lastRemoveKey = key;
     }
@@ -104,7 +104,7 @@
      * @throws IOException
      */
     @Override
-    public void removeAll( String cacheName, long requesterId )
+    public void removeAll( final String cacheName, final long requesterId )
         throws IOException
     {
         lastRemoveAllCacheName = cacheName;
@@ -117,7 +117,7 @@
      * @param requesterId - identity of requester
      */
     @Override
-    public void update( ICacheElement<K, V> item, long requesterId )
+    public void update( final ICacheElement<K, V> item, final long requesterId )
     {
         lastUpdate = item;
         updateRequestList.add( item );
@@ -130,7 +130,7 @@
      * @param cacheName
      */
     @Override
-    public void dispose( String cacheName )
+    public void dispose( final String cacheName )
     {
         return;
     }
@@ -141,7 +141,7 @@
      * @return null
      */
     @Override
-    public ICacheElement<K, V> get( String cacheName, K key )
+    public ICacheElement<K, V> get( final String cacheName, final K key )
     {
         return get( cacheName, key, 0 );
     }
@@ -162,7 +162,7 @@
      * @param key
      */
     @Override
-    public void remove( String cacheName, K key )
+    public void remove( final String cacheName, final K key )
     {
         lastRemoveKey = key;
     }
@@ -173,7 +173,7 @@
      * @param cacheName
      */
     @Override
-    public void removeAll( String cacheName )
+    public void removeAll( final String cacheName )
     {
         lastRemoveAllCacheName = cacheName;
     }
@@ -184,7 +184,7 @@
      * @param item
      */
     @Override
-    public void update( ICacheElement<K, V> item )
+    public void update( final ICacheElement<K, V> item )
     {
         lastUpdate = item;
     }
@@ -196,7 +196,7 @@
      * @return empty map
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMultiple( String cacheName, Set<K> keys, long requesterId )
+    public Map<K, ICacheElement<K, V>> getMultiple( final String cacheName, final Set<K> keys, final long requesterId )
     {
         lastGetMultipleKeys = keys;
         return new HashMap<>();
@@ -208,7 +208,7 @@
      * @return empty map
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMultiple( String cacheName, Set<K> keys )
+    public Map<K, ICacheElement<K, V>> getMultiple( final String cacheName, final Set<K> keys )
     {
         return getMultiple( cacheName, keys, 0 );
     }
@@ -222,7 +222,7 @@
      * @throws IOException
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMatching( String cacheName, String pattern )
+    public Map<K, ICacheElement<K, V>> getMatching( final String cacheName, final String pattern )
         throws IOException
     {
         return getMatching( cacheName, pattern, 0 );
@@ -236,7 +236,7 @@
      * @throws IOException
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMatching( String cacheName, String pattern, long requesterId )
+    public Map<K, ICacheElement<K, V>> getMatching( final String cacheName, final String pattern, final long requesterId )
         throws IOException
     {
         lastGetMatchingPattern = pattern;
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/SystemPropertyUsageUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/SystemPropertyUsageUnitTest.java
index 146da95..9f075fd 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/SystemPropertyUsageUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/SystemPropertyUsageUnitTest.java
@@ -75,7 +75,7 @@
 
         JCS.setConfigFilename( "/TestSystemPropertyUsage.ccf" );
 
-        CacheAccess<String, String> jcs = JCS.getInstance( "someCacheNotInFile" );
+        final CacheAccess<String, String> jcs = JCS.getInstance( "someCacheNotInFile" );
 
         manager = CompositeCacheManager.getInstance();
 
@@ -95,11 +95,11 @@
 
         manager = CompositeCacheManager.getUnconfiguredInstance();
 
-        Properties props = PropertyLoader.loadProperties( "TestSystemPropertyUsage.ccf" );
+        final Properties props = PropertyLoader.loadProperties( "TestSystemPropertyUsage.ccf" );
 
         manager.configure( props, false );
 
-        CacheAccess<String, String> jcs = JCS.getInstance( "someCacheNotInFile" );
+        final CacheAccess<String, String> jcs = JCS.getInstance( "someCacheNotInFile" );
 
         assertEquals( "System property value should not be reflected",
                       Integer.parseInt( props.getProperty( JCS_DEFAULT_CACHEATTRIBUTES_MAX_OBJECTS ) ),
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/ZombieCacheServiceNonLocalUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/ZombieCacheServiceNonLocalUnitTest.java
index 0f2bb7f..908beeb 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/ZombieCacheServiceNonLocalUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/ZombieCacheServiceNonLocalUnitTest.java
@@ -38,14 +38,14 @@
         throws Exception
     {
         // SETUP
-        MockCacheServiceNonLocal<String, String> service = new MockCacheServiceNonLocal<>();
+        final MockCacheServiceNonLocal<String, String> service = new MockCacheServiceNonLocal<>();
 
-        ZombieCacheServiceNonLocal<String, String> zombie = new ZombieCacheServiceNonLocal<>( 10 );
+        final ZombieCacheServiceNonLocal<String, String> zombie = new ZombieCacheServiceNonLocal<>( 10 );
 
-        String cacheName = "testUpdate";
+        final String cacheName = "testUpdate";
 
         // DO WORK
-        ICacheElement<String, String> element = new CacheElement<>( cacheName, "key", "value" );
+        final ICacheElement<String, String> element = new CacheElement<>( cacheName, "key", "value" );
         zombie.update( element, 123l );
         zombie.propagateEvents( service );
 
@@ -62,14 +62,14 @@
         throws Exception
     {
         // SETUP
-        MockCacheServiceNonLocal<String, String> service = new MockCacheServiceNonLocal<>();
+        final MockCacheServiceNonLocal<String, String> service = new MockCacheServiceNonLocal<>();
 
-        ZombieCacheServiceNonLocal<String, String> zombie = new ZombieCacheServiceNonLocal<>( 0 );
+        final ZombieCacheServiceNonLocal<String, String> zombie = new ZombieCacheServiceNonLocal<>( 0 );
 
-        String cacheName = "testUpdate";
+        final String cacheName = "testUpdate";
 
         // DO WORK
-        ICacheElement<String, String> element = new CacheElement<>( cacheName, "key", "value" );
+        final ICacheElement<String, String> element = new CacheElement<>( cacheName, "key", "value" );
         zombie.update( element, 123l );
         zombie.propagateEvents( service );
 
@@ -86,12 +86,12 @@
         throws Exception
     {
         // SETUP
-        MockCacheServiceNonLocal<String, String> service = new MockCacheServiceNonLocal<>();
+        final MockCacheServiceNonLocal<String, String> service = new MockCacheServiceNonLocal<>();
 
-        ZombieCacheServiceNonLocal<String, String> zombie = new ZombieCacheServiceNonLocal<>( 10 );
+        final ZombieCacheServiceNonLocal<String, String> zombie = new ZombieCacheServiceNonLocal<>( 10 );
 
-        String cacheName = "testRemoveThenWalk";
-        String key = "myKey";
+        final String cacheName = "testRemoveThenWalk";
+        final String key = "myKey";
 
         // DO WORK
         zombie.remove( cacheName, key, 123l );
@@ -110,11 +110,11 @@
         throws Exception
     {
         // SETUP
-        MockCacheServiceNonLocal<String, String> service = new MockCacheServiceNonLocal<>();
+        final MockCacheServiceNonLocal<String, String> service = new MockCacheServiceNonLocal<>();
 
-        ZombieCacheServiceNonLocal<String, String> zombie = new ZombieCacheServiceNonLocal<>( 10 );
+        final ZombieCacheServiceNonLocal<String, String> zombie = new ZombieCacheServiceNonLocal<>( 10 );
 
-        String cacheName = "testRemoveThenWalk";
+        final String cacheName = "testRemoveThenWalk";
 
         // DO WORK
         zombie.removeAll( cacheName, 123l );
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/CacheManagerStatsUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/CacheManagerStatsUnitTest.java
index 2883723..0fd4b40 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/CacheManagerStatsUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/CacheManagerStatsUnitTest.java
@@ -40,7 +40,7 @@
      */
     public void testSimpleGetStats() throws Exception
     {
-        CacheAccess<String, String> cache = JCS.getInstance( "testCache1" );
+        final CacheAccess<String, String> cache = JCS.getInstance( "testCache1" );
 
         // 1 miss, 1 hit, 1 put
         cache.get( "testKey" );
@@ -51,8 +51,8 @@
         cache.get( "testKey" );
         cache.get( "testKey" );
 
-        CompositeCacheManager mgr = CompositeCacheManager.getInstance();
-        String statsString = mgr.getStats();
+        final CompositeCacheManager mgr = CompositeCacheManager.getInstance();
+        final String statsString = mgr.getStats();
 
 //        System.out.println( statsString );
 
@@ -60,8 +60,8 @@
         assertTrue( "Should have the HitCountRam in here.", statsString.indexOf("HitCountRam") != -1 );
         assertTrue( "Should have the 4 in here.", statsString.indexOf("4") != -1 );
 
-        ICacheStats[] stats = mgr.getStatistics();
-        int statsLen = stats.length;
+        final ICacheStats[] stats = mgr.getStatistics();
+        final int statsLen = stats.length;
 //        System.out.println( "statsLen = " + statsLen );
         for ( int i = 0; i < statsLen; i++ )
         {
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/CompositeCacheConfiguratorUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/CompositeCacheConfiguratorUnitTest.java
index 426e6bc..48ce9ca 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/CompositeCacheConfiguratorUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/CompositeCacheConfiguratorUnitTest.java
@@ -40,27 +40,27 @@
     public void testParseAuxiliary_CacheEventLogger_Normal()
     {
         // SETUP
-        String regionName = "MyRegion";
+        final String regionName = "MyRegion";
 
-        String auxName = "MockAux";
-        String auxPrefix = CompositeCacheConfigurator.AUXILIARY_PREFIX + auxName;
-        String auxiliaryClassName = MockAuxiliaryCacheFactory.class.getName();
-        String eventLoggerClassName = MockCacheEventLogger.class.getName();
-        String auxiliaryAttributeClassName = MockAuxiliaryCacheAttributes.class.getName();
+        final String auxName = "MockAux";
+        final String auxPrefix = CompositeCacheConfigurator.AUXILIARY_PREFIX + auxName;
+        final String auxiliaryClassName = MockAuxiliaryCacheFactory.class.getName();
+        final String eventLoggerClassName = MockCacheEventLogger.class.getName();
+        final String auxiliaryAttributeClassName = MockAuxiliaryCacheAttributes.class.getName();
 
-        Properties props = new Properties();
+        final Properties props = new Properties();
         props.put( auxPrefix, auxiliaryClassName );
         props.put( auxPrefix + CompositeCacheConfigurator.ATTRIBUTE_PREFIX, auxiliaryAttributeClassName );
         props.put( auxPrefix + AuxiliaryCacheConfigurator.CACHE_EVENT_LOGGER_PREFIX, eventLoggerClassName );
 
 //        System.out.print( props );
 
-        CompositeCacheManager manager = CompositeCacheManager.getUnconfiguredInstance();
-        CompositeCacheConfigurator configurator = new CompositeCacheConfigurator();
+        final CompositeCacheManager manager = CompositeCacheManager.getUnconfiguredInstance();
+        final CompositeCacheConfigurator configurator = new CompositeCacheConfigurator();
 
         // DO WORK
-        AuxiliaryCache<String, String> aux = configurator.parseAuxiliary( props, manager, auxName, regionName );
-        MockAuxiliaryCache<String, String> result = (MockAuxiliaryCache<String, String>)aux;
+        final AuxiliaryCache<String, String> aux = configurator.parseAuxiliary( props, manager, auxName, regionName );
+        final MockAuxiliaryCache<String, String> result = (MockAuxiliaryCache<String, String>)aux;
 
         // VERIFY
         assertNotNull( "Should have an auxcache.", result );
@@ -73,20 +73,20 @@
     public void testParseSpoolChunkSize_Normal()
     {
         // SETUP
-        String regionName = "MyRegion";
-        int chunkSize = 5;
+        final String regionName = "MyRegion";
+        final int chunkSize = 5;
 
-        Properties props = new Properties();
+        final Properties props = new Properties();
         props.put( "jcs.default", "" );
         props.put( "jcs.default.cacheattributes.SpoolChunkSize", String.valueOf( chunkSize ) );
 
-        CompositeCacheManager manager = CompositeCacheManager.getUnconfiguredInstance();
+        final CompositeCacheManager manager = CompositeCacheManager.getUnconfiguredInstance();
 
         // DO WORK
         manager.configure( props );
 
         // VERIFY
-        CompositeCache<String, String> cache = manager.getCache( regionName );
+        final CompositeCache<String, String> cache = manager.getCache( regionName );
         assertEquals( "Wrong chunkSize", cache.getCacheAttributes().getSpoolChunkSize(), chunkSize );
     }
 }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/CompositeCacheDiskUsageUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/CompositeCacheDiskUsageUnitTest.java
index 46b53b2..4855f75 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/CompositeCacheDiskUsageUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/CompositeCacheDiskUsageUnitTest.java
@@ -72,7 +72,7 @@
     public void testSwapConfig()
         throws CacheException
     {
-        CacheAccess<String, String> swap = JCS.getInstance( "Swap" );
+        final CacheAccess<String, String> swap = JCS.getInstance( "Swap" );
         assertEquals( ICompositeCacheAttributes.DiskUsagePattern.SWAP, swap.getCacheAttributes()
             .getDiskUsagePattern() );
     }
@@ -85,7 +85,7 @@
     public void testUpdateConfig()
         throws CacheException
     {
-        CacheAccess<String, String> swap = JCS.getInstance( "Update" );
+        final CacheAccess<String, String> swap = JCS.getInstance( "Update" );
         assertEquals( ICompositeCacheAttributes.DiskUsagePattern.UPDATE, swap.getCacheAttributes()
             .getDiskUsagePattern() );
     }
@@ -97,22 +97,23 @@
     public void testSpoolAllowed()
     {
         // SETUP
-        ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
+        final ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
         cattr.setCacheName(CACHE_NAME);
         cattr.setDiskUsagePattern( ICompositeCacheAttributes.DiskUsagePattern.SWAP );
 
-        IElementAttributes attr = new ElementAttributes();
+        final IElementAttributes attr = new ElementAttributes();
 
-        CompositeCache<String, String> cache = new CompositeCache<>( cattr, attr );
+        final CompositeCache<String, String> cache = new CompositeCache<>( cattr, attr );
 
-        MockAuxCache<String, String> mock = new MockAuxCache<>();
+        final MockAuxCache<String, String> mock = new MockAuxCache<>();
         mock.cacheType = CacheType.DISK_CACHE;
 
         @SuppressWarnings("unchecked")
+        final
         AuxiliaryCache<String, String>[] auxArray = new AuxiliaryCache[] { mock };
         cache.setAuxCaches( auxArray );
 
-        ICacheElement<String, String> inputElement = new CacheElement<>( CACHE_NAME, "key", "value" );
+        final ICacheElement<String, String> inputElement = new CacheElement<>( CACHE_NAME, "key", "value" );
 
         // DO WORK
         cache.spoolToDisk( inputElement );
@@ -129,22 +130,23 @@
     public void testSpoolNotAllowed()
     {
         // SETUP
-        ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
+        final ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
         cattr.setCacheName(CACHE_NAME);
         cattr.setDiskUsagePattern( ICompositeCacheAttributes.DiskUsagePattern.UPDATE );
 
-        IElementAttributes attr = new ElementAttributes();
+        final IElementAttributes attr = new ElementAttributes();
 
-        CompositeCache<String, String> cache = new CompositeCache<>( cattr, attr );
+        final CompositeCache<String, String> cache = new CompositeCache<>( cattr, attr );
 
-        MockAuxCache<String, String> mock = new MockAuxCache<>();
+        final MockAuxCache<String, String> mock = new MockAuxCache<>();
         mock.cacheType = CacheType.DISK_CACHE;
 
         @SuppressWarnings("unchecked")
+        final
         AuxiliaryCache<String, String>[] auxArray = new AuxiliaryCache[] { mock };
         cache.setAuxCaches( auxArray );
 
-        ICacheElement<String, String> inputElement = new CacheElement<>( CACHE_NAME, "key", "value" );
+        final ICacheElement<String, String> inputElement = new CacheElement<>( CACHE_NAME, "key", "value" );
 
         // DO WORK
         cache.spoolToDisk( inputElement );
@@ -165,22 +167,23 @@
         throws IOException
     {
         // SETUP
-        ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
+        final ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
         cattr.setCacheName(CACHE_NAME);
         cattr.setDiskUsagePattern( ICompositeCacheAttributes.DiskUsagePattern.UPDATE );
 
-        IElementAttributes attr = new ElementAttributes();
+        final IElementAttributes attr = new ElementAttributes();
 
-        CompositeCache<String, String> cache = new CompositeCache<>( cattr, attr );
+        final CompositeCache<String, String> cache = new CompositeCache<>( cattr, attr );
 
-        MockAuxCache<String, String> mock = new MockAuxCache<>();
+        final MockAuxCache<String, String> mock = new MockAuxCache<>();
         mock.cacheType = CacheType.DISK_CACHE;
 
         @SuppressWarnings("unchecked")
+        final
         AuxiliaryCache<String, String>[] auxArray = new AuxiliaryCache[] { mock };
         cache.setAuxCaches( auxArray );
 
-        ICacheElement<String, String> inputElement = new CacheElement<>( CACHE_NAME, "key", "value" );
+        final ICacheElement<String, String> inputElement = new CacheElement<>( CACHE_NAME, "key", "value" );
 
         // DO WORK
         cache.updateAuxiliaries( inputElement, true );
@@ -203,22 +206,23 @@
         throws IOException
     {
         // SETUP
-        ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
+        final ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
         cattr.setCacheName(CACHE_NAME);
         cattr.setDiskUsagePattern( ICompositeCacheAttributes.DiskUsagePattern.UPDATE );
 
-        IElementAttributes attr = new ElementAttributes();
+        final IElementAttributes attr = new ElementAttributes();
 
-        CompositeCache<String, String> cache = new CompositeCache<>( cattr, attr );
+        final CompositeCache<String, String> cache = new CompositeCache<>( cattr, attr );
 
-        MockAuxCache<String, String> mock = new MockAuxCache<>();
+        final MockAuxCache<String, String> mock = new MockAuxCache<>();
         mock.cacheType = CacheType.DISK_CACHE;
 
         @SuppressWarnings("unchecked")
+        final
         AuxiliaryCache<String, String>[] auxArray = new AuxiliaryCache[] { mock };
         cache.setAuxCaches( auxArray );
 
-        ICacheElement<String, String> inputElement = new CacheElement<>( CACHE_NAME, "key", "value" );
+        final ICacheElement<String, String> inputElement = new CacheElement<>( CACHE_NAME, "key", "value" );
 
         // DO WORK
         cache.updateAuxiliaries( inputElement, false );
@@ -241,22 +245,23 @@
         throws IOException
     {
         // SETUP
-        ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
+        final ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
         cattr.setCacheName(CACHE_NAME);
         cattr.setDiskUsagePattern( ICompositeCacheAttributes.DiskUsagePattern.SWAP );
 
-        IElementAttributes attr = new ElementAttributes();
+        final IElementAttributes attr = new ElementAttributes();
 
-        CompositeCache<String, String> cache = new CompositeCache<>( cattr, attr );
+        final CompositeCache<String, String> cache = new CompositeCache<>( cattr, attr );
 
-        MockAuxCache<String, String> mock = new MockAuxCache<>();
+        final MockAuxCache<String, String> mock = new MockAuxCache<>();
         mock.cacheType = CacheType.DISK_CACHE;
 
         @SuppressWarnings("unchecked")
+        final
         AuxiliaryCache<String, String>[] auxArray = new AuxiliaryCache[] { mock };
         cache.setAuxCaches( auxArray );
 
-        ICacheElement<String, String> inputElement = new CacheElement<>( CACHE_NAME, "key", "value" );
+        final ICacheElement<String, String> inputElement = new CacheElement<>( CACHE_NAME, "key", "value" );
 
         // DO WORK
         cache.updateAuxiliaries( inputElement, true );
@@ -277,25 +282,26 @@
         throws IOException
     {
         // SETUP
-        ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
+        final ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
         cattr.setCacheName(CACHE_NAME);
         cattr.setDiskUsagePattern( ICompositeCacheAttributes.DiskUsagePattern.UPDATE );
 
-        IElementAttributes attr = new ElementAttributes();
+        final IElementAttributes attr = new ElementAttributes();
 
-        CompositeCache<String, String> cache = new CompositeCache<>( cattr, attr );
+        final CompositeCache<String, String> cache = new CompositeCache<>( cattr, attr );
 
-        MockAuxCache<String, String> mock = new MockAuxCache<>();
+        final MockAuxCache<String, String> mock = new MockAuxCache<>();
         mock.cacheType = CacheType.DISK_CACHE;
 
-        MockAuxCache<String, String> mockLateral = new MockAuxCache<>();
+        final MockAuxCache<String, String> mockLateral = new MockAuxCache<>();
         mockLateral.cacheType = CacheType.LATERAL_CACHE;
 
         @SuppressWarnings("unchecked")
+        final
         AuxiliaryCache<String, String>[] auxArray = new AuxiliaryCache[] { mock, mockLateral };
         cache.setAuxCaches( auxArray );
 
-        ICacheElement<String, String> inputElement = new CacheElement<>( CACHE_NAME, "key", "value" );
+        final ICacheElement<String, String> inputElement = new CacheElement<>( CACHE_NAME, "key", "value" );
 
         // DO WORK
         cache.updateAuxiliaries( inputElement, false );
@@ -337,7 +343,7 @@
          * @throws IOException
          */
         @Override
-        public void update( ICacheElement<K, V> ce )
+        public void update( final ICacheElement<K, V> ce )
             throws IOException
         {
             lastUpdatedItem = ce;
@@ -350,7 +356,7 @@
          * @throws IOException
          */
         @Override
-        public ICacheElement<K, V> get( K key )
+        public ICacheElement<K, V> get( final K key )
             throws IOException
         {
             return null;
@@ -364,7 +370,7 @@
          *         no data in cache for any of these keys
          */
         @Override
-        public Map<K, ICacheElement<K, V>> getMultiple(Set<K> keys)
+        public Map<K, ICacheElement<K, V>> getMultiple(final Set<K> keys)
         {
             return new HashMap<>();
         }
@@ -375,7 +381,7 @@
          * @throws IOException
          */
         @Override
-        public boolean remove( K key )
+        public boolean remove( final K key )
             throws IOException
         {
             return false;
@@ -468,7 +474,7 @@
          * @param cacheEventLogger
          */
         @Override
-        public void setCacheEventLogger( ICacheEventLogger cacheEventLogger )
+        public void setCacheEventLogger( final ICacheEventLogger cacheEventLogger )
         {
             // TODO Auto-generated method stub
 
@@ -478,7 +484,7 @@
          * @param elementSerializer
          */
         @Override
-        public void setElementSerializer( IElementSerializer elementSerializer )
+        public void setElementSerializer( final IElementSerializer elementSerializer )
         {
             // TODO Auto-generated method stub
 
@@ -498,7 +504,7 @@
          * @throws IOException
          */
         @Override
-        public Map<K, ICacheElement<K, V>> getMatching(String pattern)
+        public Map<K, ICacheElement<K, V>> getMatching(final String pattern)
             throws IOException
         {
             return Collections.emptyMap();
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/CompositeCacheManagerTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/CompositeCacheManagerTest.java
index c2cf3ef..7d7069b 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/CompositeCacheManagerTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/CompositeCacheManagerTest.java
@@ -37,10 +37,10 @@
     {
         // See JCS-184
         // create the manager
-        CompositeCacheManager manager = CompositeCacheManager.getInstance();
+        final CompositeCacheManager manager = CompositeCacheManager.getInstance();
         // add a simple cache
-        CompositeCacheAttributes cacheAttributes = new CompositeCacheAttributes();
-        CompositeCache<String, String> cache = new CompositeCache<>(cacheAttributes, /* attr */ null);
+        final CompositeCacheAttributes cacheAttributes = new CompositeCacheAttributes();
+        final CompositeCache<String, String> cache = new CompositeCache<>(cacheAttributes, /* attr */ null);
         manager.addCache("simple_cache", cache);
         // add a client to the cache
         CompositeCacheManager.getUnconfiguredInstance();
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/CompositeCacheUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/CompositeCacheUnitTest.java
index f544805..78931e2 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/CompositeCacheUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/CompositeCacheUnitTest.java
@@ -52,33 +52,34 @@
         throws IOException
     {
         // SETUP
-        String cacheName = "testCacheName";
-        String mockMemoryCacheClassName = "org.apache.commons.jcs3.engine.memory.MockMemoryCache";
-        ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
+        final String cacheName = "testCacheName";
+        final String mockMemoryCacheClassName = "org.apache.commons.jcs3.engine.memory.MockMemoryCache";
+        final ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
         cattr.setMemoryCacheName( mockMemoryCacheClassName );
 
-        IElementAttributes attr = new ElementAttributes();
+        final IElementAttributes attr = new ElementAttributes();
 
-        CompositeCache<String, Integer> cache = new CompositeCache<>( cattr, attr );
+        final CompositeCache<String, Integer> cache = new CompositeCache<>( cattr, attr );
 
-        MockAuxiliaryCache<String, Integer> diskMock = new MockAuxiliaryCache<>();
+        final MockAuxiliaryCache<String, Integer> diskMock = new MockAuxiliaryCache<>();
         diskMock.cacheType = CacheType.DISK_CACHE;
         @SuppressWarnings("unchecked")
+        final
         AuxiliaryCache<String, Integer>[] aux = new AuxiliaryCache[] { diskMock };
         cache.setAuxCaches( aux );
 
         // DO WORK
-        int numToInsert = 10;
+        final int numToInsert = 10;
         for ( int i = 0; i < numToInsert; i++ )
         {
-            ICacheElement<String, Integer> element = new CacheElement<>( cacheName, String.valueOf( i ), Integer.valueOf( i ) );
+            final ICacheElement<String, Integer> element = new CacheElement<>( cacheName, String.valueOf( i ), Integer.valueOf( i ) );
             cache.update( element, false );
         }
 
         cache.dispose();
 
         // VERIFY
-        MockMemoryCache<String, Integer> memoryCache = (MockMemoryCache<String, Integer>) cache.getMemoryCache();
+        final MockMemoryCache<String, Integer> memoryCache = (MockMemoryCache<String, Integer>) cache.getMemoryCache();
         assertEquals( "Wrong number freed.", numToInsert, memoryCache.lastNumberOfFreedElements );
     }
 
@@ -92,33 +93,34 @@
         throws IOException
     {
         // SETUP
-        String cacheName = "testCacheName";
-        String mockMemoryCacheClassName = "org.apache.commons.jcs3.engine.memory.MockMemoryCache";
-        ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
+        final String cacheName = "testCacheName";
+        final String mockMemoryCacheClassName = "org.apache.commons.jcs3.engine.memory.MockMemoryCache";
+        final ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
         cattr.setMemoryCacheName( mockMemoryCacheClassName );
 
-        IElementAttributes attr = new ElementAttributes();
+        final IElementAttributes attr = new ElementAttributes();
 
-        CompositeCache<String, Integer> cache = new CompositeCache<>( cattr, attr );
+        final CompositeCache<String, Integer> cache = new CompositeCache<>( cattr, attr );
 
-        MockAuxiliaryCache<String, Integer> diskMock = new MockAuxiliaryCache<>();
+        final MockAuxiliaryCache<String, Integer> diskMock = new MockAuxiliaryCache<>();
         diskMock.cacheType = CacheType.REMOTE_CACHE;
         @SuppressWarnings("unchecked")
+        final
         AuxiliaryCache<String, Integer>[] aux = new AuxiliaryCache[] { diskMock };
         cache.setAuxCaches( aux );
 
         // DO WORK
-        int numToInsert = 10;
+        final int numToInsert = 10;
         for ( int i = 0; i < numToInsert; i++ )
         {
-            ICacheElement<String, Integer> element = new CacheElement<>( cacheName, String.valueOf( i ), Integer.valueOf( i ) );
+            final ICacheElement<String, Integer> element = new CacheElement<>( cacheName, String.valueOf( i ), Integer.valueOf( i ) );
             cache.update( element, false );
         }
 
         cache.dispose();
 
         // VERIFY
-        MockMemoryCache<String, Integer> memoryCache = (MockMemoryCache<String, Integer>) cache.getMemoryCache();
+        final MockMemoryCache<String, Integer> memoryCache = (MockMemoryCache<String, Integer>) cache.getMemoryCache();
         assertEquals( "Wrong number freed.", 0, memoryCache.lastNumberOfFreedElements );
     }
 
@@ -131,44 +133,45 @@
         throws IOException
     {
         // SETUP
-        int maxMemorySize = 1000;
-        String keyprefix1 = "MyPrefix1";
-        String keyprefix2 = "MyPrefix2";
-        String cacheName = "testGetMatching_Normal";
-        String memoryCacheClassName = "org.apache.commons.jcs3.engine.memory.lru.LRUMemoryCache";
-        ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
+        final int maxMemorySize = 1000;
+        final String keyprefix1 = "MyPrefix1";
+        final String keyprefix2 = "MyPrefix2";
+        final String cacheName = "testGetMatching_Normal";
+        final String memoryCacheClassName = "org.apache.commons.jcs3.engine.memory.lru.LRUMemoryCache";
+        final ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
         cattr.setMemoryCacheName( memoryCacheClassName );
         cattr.setMaxObjects( maxMemorySize );
 
-        IElementAttributes attr = new ElementAttributes();
+        final IElementAttributes attr = new ElementAttributes();
 
-        CompositeCache<String, Integer> cache = new CompositeCache<>( cattr, attr );
+        final CompositeCache<String, Integer> cache = new CompositeCache<>( cattr, attr );
 
-        MockAuxiliaryCache<String, Integer> diskMock = new MockAuxiliaryCache<>();
+        final MockAuxiliaryCache<String, Integer> diskMock = new MockAuxiliaryCache<>();
         diskMock.cacheType = CacheType.DISK_CACHE;
         @SuppressWarnings("unchecked")
+        final
         AuxiliaryCache<String, Integer>[] aux = new AuxiliaryCache[] { diskMock };
         cache.setAuxCaches( aux );
 
         // DO WORK
-        int numToInsertPrefix1 = 10;
+        final int numToInsertPrefix1 = 10;
         // insert with prefix1
         for ( int i = 0; i < numToInsertPrefix1; i++ )
         {
-            ICacheElement<String, Integer> element = new CacheElement<>( cacheName, keyprefix1 + String.valueOf( i ), Integer.valueOf( i ) );
+            final ICacheElement<String, Integer> element = new CacheElement<>( cacheName, keyprefix1 + String.valueOf( i ), Integer.valueOf( i ) );
             cache.update( element, false );
         }
 
-        int numToInsertPrefix2 = 50;
+        final int numToInsertPrefix2 = 50;
         // insert with prefix1
         for ( int i = 0; i < numToInsertPrefix2; i++ )
         {
-            ICacheElement<String, Integer> element = new CacheElement<>( cacheName, keyprefix2 + String.valueOf( i ), Integer.valueOf( i ) );
+            final ICacheElement<String, Integer> element = new CacheElement<>( cacheName, keyprefix2 + String.valueOf( i ), Integer.valueOf( i ) );
             cache.update( element, false );
         }
 
-        Map<?, ?> result1 = cache.getMatching( keyprefix1 + "\\S+" );
-        Map<?, ?> result2 = cache.getMatching( keyprefix2 + "\\S+" );
+        final Map<?, ?> result1 = cache.getMatching( keyprefix1 + "\\S+" );
+        final Map<?, ?> result2 = cache.getMatching( keyprefix2 + "\\S+" );
 
         // VERIFY
         assertEquals( "Wrong number returned 1:", numToInsertPrefix1, result1.size() );
@@ -184,21 +187,22 @@
         throws IOException
     {
         // SETUP
-        int maxMemorySize = 0;
-        String cacheName = "testGetMatching_NotOnDisk";
-        String memoryCacheClassName = "org.apache.commons.jcs3.engine.memory.lru.LRUMemoryCache";
-        ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
+        final int maxMemorySize = 0;
+        final String cacheName = "testGetMatching_NotOnDisk";
+        final String memoryCacheClassName = "org.apache.commons.jcs3.engine.memory.lru.LRUMemoryCache";
+        final ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
         cattr.setCacheName(cacheName);
         cattr.setMemoryCacheName( memoryCacheClassName );
         cattr.setMaxObjects( maxMemorySize );
 
-        IElementAttributes attr = new ElementAttributes();
+        final IElementAttributes attr = new ElementAttributes();
 
-        CompositeCache<String, Integer> cache = new CompositeCache<>( cattr, attr );
+        final CompositeCache<String, Integer> cache = new CompositeCache<>( cattr, attr );
 
-        MockAuxiliaryCache<String, Integer> diskMock = new MockAuxiliaryCache<>();
+        final MockAuxiliaryCache<String, Integer> diskMock = new MockAuxiliaryCache<>();
         diskMock.cacheType = CacheType.DISK_CACHE;
         @SuppressWarnings("unchecked")
+        final
         AuxiliaryCache<String, Integer>[] aux = new AuxiliaryCache[] { diskMock };
         cache.setAuxCaches( aux );
 
@@ -218,21 +222,22 @@
         throws IOException
     {
         // SETUP
-        int maxMemorySize = 0;
-        String cacheName = "testGetMatching_NotOnDisk";
-        String memoryCacheClassName = "org.apache.commons.jcs3.engine.memory.lru.LRUMemoryCache";
-        ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
+        final int maxMemorySize = 0;
+        final String cacheName = "testGetMatching_NotOnDisk";
+        final String memoryCacheClassName = "org.apache.commons.jcs3.engine.memory.lru.LRUMemoryCache";
+        final ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
         cattr.setCacheName(cacheName);
         cattr.setMemoryCacheName( memoryCacheClassName );
         cattr.setMaxObjects( maxMemorySize );
 
-        IElementAttributes attr = new ElementAttributes();
+        final IElementAttributes attr = new ElementAttributes();
 
-        CompositeCache<String, Integer> cache = new CompositeCache<>( cattr, attr );
+        final CompositeCache<String, Integer> cache = new CompositeCache<>( cattr, attr );
 
-        MockAuxiliaryCache<String, Integer> diskMock = new MockAuxiliaryCache<>();
+        final MockAuxiliaryCache<String, Integer> diskMock = new MockAuxiliaryCache<>();
         diskMock.cacheType = CacheType.REMOTE_CACHE;
         @SuppressWarnings("unchecked")
+        final
         AuxiliaryCache<String, Integer>[] aux = new AuxiliaryCache[] { diskMock };
         cache.setAuxCaches( aux );
 
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/MockCompositeCacheManager.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/MockCompositeCacheManager.java
index a415660..1fdcd3e 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/MockCompositeCacheManager.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/MockCompositeCacheManager.java
@@ -43,12 +43,12 @@
      */
     @Override
     @SuppressWarnings("unchecked")
-    public <K, V> CompositeCache<K, V> getCache( String cacheName )
+    public <K, V> CompositeCache<K, V> getCache( final String cacheName )
     {
         if ( cache == null )
         {
 //            System.out.println( "Creating mock cache" );
-            CompositeCache<K, V> newCache =
+            final CompositeCache<K, V> newCache =
                 new CompositeCache<>( new CompositeCacheAttributes(), new ElementAttributes() );
             this.setCache( newCache );
         }
@@ -57,7 +57,7 @@
     }
 
     @Override
-    public <K, V> AuxiliaryCache<K, V> getAuxiliaryCache(String auxName, String cacheName)
+    public <K, V> AuxiliaryCache<K, V> getAuxiliaryCache(final String auxName, final String cacheName)
     {
         return null;
     }
@@ -65,7 +65,7 @@
     /**
      * @param cache The cache to set.
      */
-    public void setCache( CompositeCache<?, ?> cache )
+    public void setCache( final CompositeCache<?, ?> cache )
     {
         this.cache = cache;
     }
@@ -83,7 +83,7 @@
      * <p>
      * @param props
      */
-    public void setConfigurationProperties( Properties props )
+    public void setConfigurationProperties( final Properties props )
     {
         this.configurationProperties = props;
     }
@@ -110,7 +110,7 @@
 	 * @see org.apache.commons.jcs3.engine.behavior.IShutdownObservable#registerShutdownObserver(org.apache.commons.jcs3.engine.behavior.IShutdownObserver)
 	 */
 	@Override
-	public void registerShutdownObserver(IShutdownObserver observer)
+	public void registerShutdownObserver(final IShutdownObserver observer)
 	{
 		// Do nothing
 	}
@@ -119,7 +119,7 @@
 	 * @see org.apache.commons.jcs3.engine.behavior.IShutdownObservable#deregisterShutdownObserver(org.apache.commons.jcs3.engine.behavior.IShutdownObserver)
 	 */
 	@Override
-	public void deregisterShutdownObserver(IShutdownObserver observer)
+	public void deregisterShutdownObserver(final IShutdownObserver observer)
 	{
 		// Do nothing
 	}
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/MockElementSerializer.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/MockElementSerializer.java
index 7cc78b0..49c27b6 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/MockElementSerializer.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/MockElementSerializer.java
@@ -48,7 +48,7 @@
      *
      */
     @Override
-    public <T> T deSerialize( byte[] bytes, ClassLoader loader )
+    public <T> T deSerialize( final byte[] bytes, final ClassLoader loader )
         throws IOException, ClassNotFoundException
     {
         deSerializeCount++;
@@ -62,7 +62,7 @@
      *
      */
     @Override
-    public <T> byte[] serialize( T obj )
+    public <T> byte[] serialize( final T obj )
         throws IOException
     {
         serializeCount++;
@@ -72,7 +72,7 @@
     /**
      * @param testProperty
      */
-    public void setTestProperty( String testProperty )
+    public void setTestProperty( final String testProperty )
     {
         this.testProperty = testProperty;
     }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/event/ElementEventHandlerMockImpl.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/event/ElementEventHandlerMockImpl.java
index 07dc0fe..5916b85 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/event/ElementEventHandlerMockImpl.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/event/ElementEventHandlerMockImpl.java
@@ -56,7 +56,7 @@
      * @param event
      */
     @Override
-    public synchronized <T> void handleElementEvent( IElementEvent<T> event )
+    public synchronized <T> void handleElementEvent( final IElementEvent<T> event )
     {
         setCallCount( getCallCount() + 1 );
 
@@ -91,7 +91,7 @@
     /**
      * @param spoolCount The spoolCount to set.
      */
-    public void setSpoolCount( int spoolCount )
+    public void setSpoolCount( final int spoolCount )
     {
         this.spoolCount = spoolCount;
     }
@@ -107,7 +107,7 @@
     /**
      * @param spoolNotAllowedCount The spoolNotAllowedCount to set.
      */
-    public void setSpoolNotAllowedCount( int spoolNotAllowedCount )
+    public void setSpoolNotAllowedCount( final int spoolNotAllowedCount )
     {
         this.spoolNotAllowedCount = spoolNotAllowedCount;
     }
@@ -123,7 +123,7 @@
     /**
      * @param spoolNoDiskCount The spoolNoDiskCount to set.
      */
-    public void setSpoolNoDiskCount( int spoolNoDiskCount )
+    public void setSpoolNoDiskCount( final int spoolNoDiskCount )
     {
         this.spoolNoDiskCount = spoolNoDiskCount;
     }
@@ -139,7 +139,7 @@
     /**
      * @param exceededMaxLifeBackground The exceededMaxLifeBackground to set.
      */
-    public void setExceededMaxLifeBackgroundCount( int exceededMaxLifeBackground )
+    public void setExceededMaxLifeBackgroundCount( final int exceededMaxLifeBackground )
     {
         this.exceededMaxLifeBackgroundCount = exceededMaxLifeBackground;
     }
@@ -155,7 +155,7 @@
     /**
      * @param callCount The callCount to set.
      */
-    public void setCallCount( int callCount )
+    public void setCallCount( final int callCount )
     {
         this.callCount = callCount;
     }
@@ -171,7 +171,7 @@
     /**
      * @param exceededIdleTimeBackground The exceededIdleTimeBackground to set.
      */
-    public void setExceededIdleTimeBackgroundCount( int exceededIdleTimeBackground )
+    public void setExceededIdleTimeBackgroundCount( final int exceededIdleTimeBackground )
     {
         this.exceededIdleTimeBackgroundCount = exceededIdleTimeBackground;
     }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/event/SimpleEventHandlingUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/event/SimpleEventHandlingUnitTest.java
index 7ac78ae..a2504d8 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/event/SimpleEventHandlingUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/control/event/SimpleEventHandlingUnitTest.java
@@ -55,11 +55,11 @@
         throws Exception
     {
         // SETUP
-        MyEventHandler meh = new MyEventHandler();
+        final MyEventHandler meh = new MyEventHandler();
 
-        CacheAccess<String, String> jcs = JCS.getInstance( "WithDisk" );
+        final CacheAccess<String, String> jcs = JCS.getInstance( "WithDisk" );
         // this should add the event handler to all items as they are created.
-        IElementAttributes attributes = jcs.getDefaultElementAttributes();
+        final IElementAttributes attributes = jcs.getDefaultElementAttributes();
         attributes.addElementEventHandler( meh );
         jcs.setDefaultElementAttributes( attributes );
 
@@ -87,12 +87,12 @@
     public void testSpoolNoDiskEvent()
         throws Exception
     {
-        CacheAccess<String, String> jcs = JCS.getInstance( "NoDisk" );
+        final CacheAccess<String, String> jcs = JCS.getInstance( "NoDisk" );
 
-        MyEventHandler meh = new MyEventHandler();
+        final MyEventHandler meh = new MyEventHandler();
 
         // this should add the event handler to all items as they are created.
-        IElementAttributes attributes = jcs.getDefaultElementAttributes();
+        final IElementAttributes attributes = jcs.getDefaultElementAttributes();
         attributes.addElementEventHandler( meh );
         jcs.setDefaultElementAttributes( attributes );
 
@@ -118,11 +118,11 @@
     public void testSpoolNotAllowedEvent()
         throws Exception
     {
-        MyEventHandler meh = new MyEventHandler();
+        final MyEventHandler meh = new MyEventHandler();
 
-        CacheAccess<String, String> jcs = JCS.getInstance( "DiskButNotAllowed" );
+        final CacheAccess<String, String> jcs = JCS.getInstance( "DiskButNotAllowed" );
         // this should add the event handler to all items as they are created.
-        IElementAttributes attributes = jcs.getDefaultElementAttributes();
+        final IElementAttributes attributes = jcs.getDefaultElementAttributes();
         attributes.addElementEventHandler( meh );
         jcs.setDefaultElementAttributes( attributes );
 
@@ -148,9 +148,9 @@
     public void testSpoolNotAllowedEventOnItem()
         throws Exception
     {
-        MyEventHandler meh = new MyEventHandler();
+        final MyEventHandler meh = new MyEventHandler();
 
-        CacheAccess<String, String> jcs = JCS.getInstance( "DiskButNotAllowed" );
+        final CacheAccess<String, String> jcs = JCS.getInstance( "DiskButNotAllowed" );
         // this should add the event handler to all items as they are created.
         //IElementAttributes attributes = jcs.getDefaultElementAttributes();
         //attributes.addElementEventHandler( meh );
@@ -159,7 +159,7 @@
         // put them in
         for ( int i = 0; i <= items; i++ )
         {
-            IElementAttributes attributes = jcs.getDefaultElementAttributes();
+            final IElementAttributes attributes = jcs.getDefaultElementAttributes();
             attributes.addElementEventHandler( meh );
             jcs.put( i + ":key", "data" + i, attributes );
         }
@@ -180,11 +180,11 @@
     public void testExceededMaxlifeOnrequestEvent()
         throws Exception
     {
-        MyEventHandler meh = new MyEventHandler();
+        final MyEventHandler meh = new MyEventHandler();
 
-        CacheAccess<String, String> jcs = JCS.getInstance( "Maxlife" );
+        final CacheAccess<String, String> jcs = JCS.getInstance( "Maxlife" );
         // this should add the event handler to all items as they are created.
-        IElementAttributes attributes = jcs.getDefaultElementAttributes();
+        final IElementAttributes attributes = jcs.getDefaultElementAttributes();
         attributes.addElementEventHandler( meh );
         jcs.setDefaultElementAttributes( attributes );
 
@@ -199,7 +199,7 @@
 
         for ( int i = 0; i < 200; i++ )
         {
-            String value = jcs.get( i + ":key");
+            final String value = jcs.get( i + ":key");
             assertNull("Item should be null for key " + i + ":key, but is " + value, value);
         }
 
@@ -218,11 +218,11 @@
     public void testExceededIdletimeOnrequestEvent()
         throws Exception
     {
-        MyEventHandler meh = new MyEventHandler();
+        final MyEventHandler meh = new MyEventHandler();
 
-        CacheAccess<String, String> jcs = JCS.getInstance( "Idletime" );
+        final CacheAccess<String, String> jcs = JCS.getInstance( "Idletime" );
         // this should add the event handler to all items as they are created.
-        IElementAttributes attributes = jcs.getDefaultElementAttributes();
+        final IElementAttributes attributes = jcs.getDefaultElementAttributes();
         attributes.addElementEventHandler( meh );
         jcs.setDefaultElementAttributes( attributes );
 
@@ -235,7 +235,7 @@
         // update access time
         for ( int i = 0; i < 200; i++ )
         {
-            String value = jcs.get( i + ":key");
+            final String value = jcs.get( i + ":key");
             assertNotNull("Item should not be null for key " + i + ":key", value);
         }
 
@@ -244,7 +244,7 @@
 
         for ( int i = 0; i < 200; i++ )
         {
-            String value = jcs.get( i + ":key");
+            final String value = jcs.get( i + ":key");
             assertNull("Item should be null for key " + i + ":key, but is " + value, value);
         }
 
@@ -263,13 +263,13 @@
     public void testElementAttributesCreationTime()
         throws Exception
     {
-    	ElementAttributes elem1 = new ElementAttributes();
-    	long ctime1 = elem1.getCreateTime();
+    	final ElementAttributes elem1 = new ElementAttributes();
+    	final long ctime1 = elem1.getCreateTime();
 
     	Thread.sleep(10);
 
-    	IElementAttributes elem2 = elem1.clone();
-    	long ctime2 = elem2.getCreateTime();
+    	final IElementAttributes elem2 = elem1.clone();
+    	final long ctime2 = elem2.getCreateTime();
 
     	assertFalse("Creation times should be different", ctime1 == ctime2);
     }
@@ -299,7 +299,7 @@
          * @param event
          */
         @Override
-        public synchronized <T> void handleElementEvent( IElementEvent<T> event )
+        public synchronized <T> void handleElementEvent( final IElementEvent<T> event )
         {
             //System.out.println( "Handling Event of Type " +
             // event.getElementEvent() );
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/logging/CacheEventLoggerDebugLoggerUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/logging/CacheEventLoggerDebugLoggerUnitTest.java
index ca78461..bac31c3 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/logging/CacheEventLoggerDebugLoggerUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/logging/CacheEventLoggerDebugLoggerUnitTest.java
@@ -35,27 +35,27 @@
     public void testLogICacheEvent_normal()
     {
         // SETUP
-        String logCategoryName = "testLogEvent_normal";
+        final String logCategoryName = "testLogEvent_normal";
 
-        String source = "mySource";
-        String region = "my region";
-        String eventName = "MyEventName";
-        String optionalDetails = "SomeExtraData";
-        String key = "my key";
+        final String source = "mySource";
+        final String region = "my region";
+        final String eventName = "MyEventName";
+        final String optionalDetails = "SomeExtraData";
+        final String key = "my key";
 
-        StringWriter stringWriter = new StringWriter();
+        final StringWriter stringWriter = new StringWriter();
         TestLogConfigurationUtil.configureLogger( stringWriter, logCategoryName );
 
-        CacheEventLoggerDebugLogger logger = new CacheEventLoggerDebugLogger();
+        final CacheEventLoggerDebugLogger logger = new CacheEventLoggerDebugLogger();
         logger.setLogCategoryName( logCategoryName );
 
-        ICacheEvent<String> event = logger.createICacheEvent( source, region, eventName, optionalDetails, key );
+        final ICacheEvent<String> event = logger.createICacheEvent( source, region, eventName, optionalDetails, key );
 
         // DO WORK
         logger.logICacheEvent( event );
 
         // VERIFY
-        String result = stringWriter.toString();
+        final String result = stringWriter.toString();
         assertTrue( "An event with the source should have been logged:" + result, result.indexOf( source ) != -1 );
         assertTrue( "An event with the region should have been logged:" + result, result.indexOf( region ) != -1 );
         assertTrue( "An event with the event name should have been logged:" + result, result.indexOf( eventName ) != -1 );
@@ -67,23 +67,23 @@
     public void testLogApplicationEvent_normal()
     {
         // SETUP
-        String logCategoryName = "testLogApplicationEvent_normal";
+        final String logCategoryName = "testLogApplicationEvent_normal";
 
-        String source = "mySource";
-        String eventName = "MyEventName";
-        String optionalDetails = "SomeExtraData";
+        final String source = "mySource";
+        final String eventName = "MyEventName";
+        final String optionalDetails = "SomeExtraData";
 
-        StringWriter stringWriter = new StringWriter();
+        final StringWriter stringWriter = new StringWriter();
         TestLogConfigurationUtil.configureLogger( stringWriter, logCategoryName );
 
-        CacheEventLoggerDebugLogger logger = new CacheEventLoggerDebugLogger();
+        final CacheEventLoggerDebugLogger logger = new CacheEventLoggerDebugLogger();
         logger.setLogCategoryName( logCategoryName );
 
         // DO WORK
         logger.logApplicationEvent( source, eventName, optionalDetails );
 
         // VERIFY
-        String result = stringWriter.toString();
+        final String result = stringWriter.toString();
         assertTrue( "An event with the source should have been logged:" + result, result.indexOf( source ) != -1 );
         assertTrue( "An event with the event name should have been logged:" + result, result.indexOf( eventName ) != -1 );
         assertTrue( "An event with the optionalDetails should have been logged:" + result, result.indexOf( optionalDetails ) != -1 );
@@ -93,23 +93,23 @@
     public void testLogError_normal()
     {
         // SETUP
-        String logCategoryName = "testLogApplicationEvent_normal";
+        final String logCategoryName = "testLogApplicationEvent_normal";
 
-        String source = "mySource";
-        String eventName = "MyEventName";
-        String errorMessage = "SomeExtraData";
+        final String source = "mySource";
+        final String eventName = "MyEventName";
+        final String errorMessage = "SomeExtraData";
 
-        StringWriter stringWriter = new StringWriter();
+        final StringWriter stringWriter = new StringWriter();
         TestLogConfigurationUtil.configureLogger( stringWriter, logCategoryName );
 
-        CacheEventLoggerDebugLogger logger = new CacheEventLoggerDebugLogger();
+        final CacheEventLoggerDebugLogger logger = new CacheEventLoggerDebugLogger();
         logger.setLogCategoryName( logCategoryName );
 
         // DO WORK
         logger.logError( source, eventName, errorMessage );
 
         // VERIFY
-        String result = stringWriter.toString();
+        final String result = stringWriter.toString();
         assertTrue( "An event with the source should have been logged:" + result, result.indexOf( source ) != -1 );
         assertTrue( "An event with the event name should have been logged:" + result, result.indexOf( eventName ) != -1 );
         assertTrue( "An event with the errorMessage should have been logged:" + result, result.indexOf( errorMessage ) != -1 );
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/logging/MockCacheEventLogger.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/logging/MockCacheEventLogger.java
index b8cdff6..c9073bc 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/logging/MockCacheEventLogger.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/logging/MockCacheEventLogger.java
@@ -37,7 +37,7 @@
      * @param optionalDetails
      */
     @Override
-    public void logApplicationEvent( String source, String eventName, String optionalDetails )
+    public void logApplicationEvent( final String source, final String eventName, final String optionalDetails )
     {
         // TODO Auto-generated method stub
     }
@@ -48,7 +48,7 @@
      * @param errorMessage
      */
     @Override
-    public void logError( String source, String eventName, String errorMessage )
+    public void logError( final String source, final String eventName, final String errorMessage )
     {
         // TODO Auto-generated method stub
     }
@@ -62,8 +62,8 @@
      * @return ICacheEvent
      */
     @Override
-    public <T> ICacheEvent<T> createICacheEvent( String source, String region, String eventName, String optionalDetails,
-                                          T key )
+    public <T> ICacheEvent<T> createICacheEvent( final String source, final String region, final String eventName, final String optionalDetails,
+                                          final T key )
     {
         return new CacheEvent<>();
     }
@@ -72,7 +72,7 @@
      * @param event
      */
     @Override
-    public <T> void logICacheEvent( ICacheEvent<T> event )
+    public <T> void logICacheEvent( final ICacheEvent<T> event )
     {
         // TODO Auto-generated method stub
     }
@@ -80,7 +80,7 @@
     /**
      * @param testProperty
      */
-    public void setTestProperty( String testProperty )
+    public void setTestProperty( final String testProperty )
     {
         this.testProperty = testProperty;
     }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/match/KeyMatcherPatternImpllUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/match/KeyMatcherPatternImpllUnitTest.java
index 21331d2..5897dea 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/match/KeyMatcherPatternImpllUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/match/KeyMatcherPatternImpllUnitTest.java
@@ -34,10 +34,10 @@
     public void testGetMatchingKeysFromArray_AllMatch()
     {
         // SETUP
-        int numToInsertPrefix1 = 10;
-        Set<String> keyArray = new HashSet<>();
+        final int numToInsertPrefix1 = 10;
+        final Set<String> keyArray = new HashSet<>();
 
-        String keyprefix1 = "MyPrefixC";
+        final String keyprefix1 = "MyPrefixC";
 
         // insert with prefix1
         for ( int i = 0; i < numToInsertPrefix1; i++ )
@@ -45,10 +45,10 @@
             keyArray.add(keyprefix1 + String.valueOf( i ));
         }
 
-        KeyMatcherPatternImpl<String> keyMatcher = new KeyMatcherPatternImpl<>();
+        final KeyMatcherPatternImpl<String> keyMatcher = new KeyMatcherPatternImpl<>();
 
         // DO WORK
-        Set<String> result1 = keyMatcher.getMatchingKeysFromArray( keyprefix1 + ".", keyArray );
+        final Set<String> result1 = keyMatcher.getMatchingKeysFromArray( keyprefix1 + ".", keyArray );
 
         // VERIFY
         assertEquals( "Wrong number returned 1: " + result1, numToInsertPrefix1, result1.size() );
@@ -60,10 +60,10 @@
     public void testGetMatchingKeysFromArray_AllMatchFirstNull()
     {
         // SETUP
-        int numToInsertPrefix1 = 10;
-        Set<String> keyArray = new HashSet<>();
+        final int numToInsertPrefix1 = 10;
+        final Set<String> keyArray = new HashSet<>();
 
-        String keyprefix1 = "MyPrefixC";
+        final String keyprefix1 = "MyPrefixC";
 
         // insert with prefix1
         for ( int i = 1; i < numToInsertPrefix1 + 1; i++ )
@@ -71,10 +71,10 @@
             keyArray.add(keyprefix1 + String.valueOf( i ));
         }
 
-        KeyMatcherPatternImpl<String> keyMatcher = new KeyMatcherPatternImpl<>();
+        final KeyMatcherPatternImpl<String> keyMatcher = new KeyMatcherPatternImpl<>();
 
         // DO WORK
-        Set<String> result1 = keyMatcher.getMatchingKeysFromArray( keyprefix1 + "\\S+", keyArray );
+        final Set<String> result1 = keyMatcher.getMatchingKeysFromArray( keyprefix1 + "\\S+", keyArray );
 
         // VERIFY
         assertEquals( "Wrong number returned 1: " + result1, numToInsertPrefix1, result1.size() );
@@ -86,12 +86,12 @@
     public void testGetMatchingKeysFromArray_TwoTypes()
     {
         // SETUP
-        int numToInsertPrefix1 = 10;
-        int numToInsertPrefix2 = 50;
-        Set<String> keyArray = new HashSet<>();
+        final int numToInsertPrefix1 = 10;
+        final int numToInsertPrefix2 = 50;
+        final Set<String> keyArray = new HashSet<>();
 
-        String keyprefix1 = "MyPrefixA";
-        String keyprefix2 = "MyPrefixB";
+        final String keyprefix1 = "MyPrefixA";
+        final String keyprefix2 = "MyPrefixB";
 
         // insert with prefix1
         for ( int i = 0; i < numToInsertPrefix1; i++ )
@@ -105,11 +105,11 @@
             keyArray.add(keyprefix2 + String.valueOf( i ));
         }
 
-        KeyMatcherPatternImpl<String> keyMatcher = new KeyMatcherPatternImpl<>();
+        final KeyMatcherPatternImpl<String> keyMatcher = new KeyMatcherPatternImpl<>();
 
         // DO WORK
-        Set<String> result1 = keyMatcher.getMatchingKeysFromArray( keyprefix1 + ".+", keyArray );
-        Set<String> result2 = keyMatcher.getMatchingKeysFromArray( keyprefix2 + ".+", keyArray );
+        final Set<String> result1 = keyMatcher.getMatchingKeysFromArray( keyprefix1 + ".+", keyArray );
+        final Set<String> result2 = keyMatcher.getMatchingKeysFromArray( keyprefix2 + ".+", keyArray );
 
         // VERIFY
         assertEquals( "Wrong number returned 1: " + result1, numToInsertPrefix1, result1.size() );
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/MockMemoryCache.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/MockMemoryCache.java
index 29e7f9d..36f8ae4 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/MockMemoryCache.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/MockMemoryCache.java
@@ -57,7 +57,7 @@
      * @param cache
      */
     @Override
-    public void initialize( CompositeCache<K, V> cache )
+    public void initialize( final CompositeCache<K, V> cache )
     {
         // nothing
     }
@@ -102,7 +102,7 @@
      * @throws IOException
      */
     @Override
-    public boolean remove( K key )
+    public boolean remove( final K key )
         throws IOException
     {
         return map.remove( key ) != null;
@@ -124,7 +124,7 @@
      * @throws IOException
      */
     @Override
-    public ICacheElement<K, V> get( K key )
+    public ICacheElement<K, V> get( final K key )
         throws IOException
     {
         return map.get( key );
@@ -136,20 +136,20 @@
      * @throws IOException
      */
     @Override
-    public Map<K, ICacheElement<K, V>> getMultiple(Set<K> keys)
+    public Map<K, ICacheElement<K, V>> getMultiple(final Set<K> keys)
         throws IOException
     {
-        Map<K, ICacheElement<K, V>> elements = new HashMap<>();
+        final Map<K, ICacheElement<K, V>> elements = new HashMap<>();
 
         if ( keys != null && !keys.isEmpty() )
         {
-            Iterator<K> iterator = keys.iterator();
+            final Iterator<K> iterator = keys.iterator();
 
             while ( iterator.hasNext() )
             {
-                K key = iterator.next();
+                final K key = iterator.next();
 
-                ICacheElement<K, V> element = get( key );
+                final ICacheElement<K, V> element = get( key );
 
                 if ( element != null )
                 {
@@ -167,7 +167,7 @@
      * @throws IOException
      */
     @Override
-    public ICacheElement<K, V> getQuiet( K key )
+    public ICacheElement<K, V> getQuiet( final K key )
         throws IOException
     {
         return map.get( key );
@@ -178,7 +178,7 @@
      * @throws IOException
      */
     @Override
-    public void waterfal( ICacheElement<K, V> ce )
+    public void waterfal( final ICacheElement<K, V> ce )
         throws IOException
     {
         waterfallCallCount++;
@@ -189,7 +189,7 @@
      * @throws IOException
      */
     @Override
-    public void update( ICacheElement<K, V> ce )
+    public void update( final ICacheElement<K, V> ce )
         throws IOException
     {
         if ( ce != null )
@@ -211,7 +211,7 @@
      * @param cattr
      */
     @Override
-    public void setCacheAttributes( ICompositeCacheAttributes cattr )
+    public void setCacheAttributes( final ICompositeCacheAttributes cattr )
     {
         this.cacheAttr = cattr;
     }
@@ -227,7 +227,7 @@
      * @param group
      * @return null
      */
-    public Set<K> getGroupKeys( String group )
+    public Set<K> getGroupKeys( final String group )
     {
         return null;
     }
@@ -246,7 +246,7 @@
      * @throws IOException
      */
     @Override
-    public int freeElements( int numberToFree )
+    public int freeElements( final int numberToFree )
         throws IOException
     {
         lastNumberOfFreedElements = numberToFree;
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/fifo/FIFOMemoryCacheUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/fifo/FIFOMemoryCacheUnitTest.java
index 5feae67..f07c0ce 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/fifo/FIFOMemoryCacheUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/fifo/FIFOMemoryCacheUnitTest.java
@@ -41,24 +41,24 @@
         throws IOException
     {
         // SETUP
-        int maxObjects = 10;
-        String cacheName = "testExpirationPolicy_oneExtra";
+        final int maxObjects = 10;
+        final String cacheName = "testExpirationPolicy_oneExtra";
 
-        ICompositeCacheAttributes attributes = new CompositeCacheAttributes();
+        final ICompositeCacheAttributes attributes = new CompositeCacheAttributes();
         attributes.setCacheName(cacheName);
         attributes.setMaxObjects( maxObjects );
         attributes.setSpoolChunkSize( 1 );
 
-        FIFOMemoryCache<String, String> cache = new FIFOMemoryCache<>();
+        final FIFOMemoryCache<String, String> cache = new FIFOMemoryCache<>();
         cache.initialize( new CompositeCache<>( attributes, new ElementAttributes() ) );
 
         for ( int i = 0; i <= maxObjects; i++ )
         {
-            CacheElement<String, String> element = new CacheElement<>( cacheName, "key" + i, "value" + i );
+            final CacheElement<String, String> element = new CacheElement<>( cacheName, "key" + i, "value" + i );
             cache.update( element );
         }
 
-        CacheElement<String, String> oneMoreElement = new CacheElement<>( cacheName, "onemore", "onemore" );
+        final CacheElement<String, String> oneMoreElement = new CacheElement<>( cacheName, "onemore", "onemore" );
 
         // DO WORK
         cache.update( oneMoreElement );
@@ -82,21 +82,21 @@
         throws IOException
     {
         // SETUP
-        int maxObjects = 10;
-        String cacheName = "testExpirationPolicy_oneExtra";
+        final int maxObjects = 10;
+        final String cacheName = "testExpirationPolicy_oneExtra";
 
-        ICompositeCacheAttributes attributes = new CompositeCacheAttributes();
+        final ICompositeCacheAttributes attributes = new CompositeCacheAttributes();
         attributes.setCacheName(cacheName);
         attributes.setMaxObjects( maxObjects );
         attributes.setSpoolChunkSize( 1 );
 
-        FIFOMemoryCache<String, String> cache = new FIFOMemoryCache<>();
+        final FIFOMemoryCache<String, String> cache = new FIFOMemoryCache<>();
         cache.initialize( new CompositeCache<>( attributes, new ElementAttributes() ) );
 
         // DO WORK
         for ( int i = 0; i <= (maxObjects * 2); i++ )
         {
-            CacheElement<String, String> element = new CacheElement<>( cacheName, "key" + i, "value" + i );
+            final CacheElement<String, String> element = new CacheElement<>( cacheName, "key" + i, "value" + i );
             cache.update( element );
         }
 
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/lru/LHMLRUMemoryCacheConcurrentUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/lru/LHMLRUMemoryCacheConcurrentUnitTest.java
index e66aab0..a5341c5 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/lru/LHMLRUMemoryCacheConcurrentUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/lru/LHMLRUMemoryCacheConcurrentUnitTest.java
@@ -50,7 +50,7 @@
      *
      * @param testName
      */
-    public LHMLRUMemoryCacheConcurrentUnitTest( String testName )
+    public LHMLRUMemoryCacheConcurrentUnitTest( final String testName )
     {
         super( testName );
     }
@@ -60,9 +60,9 @@
      *
      * @param args
      */
-    public static void main( String args[] )
+    public static void main( final String args[] )
     {
-        String[] testCaseName = { LHMLRUMemoryCacheConcurrentUnitTest.class.getName() };
+        final String[] testCaseName = { LHMLRUMemoryCacheConcurrentUnitTest.class.getName() };
         junit.textui.TestRunner.main( testCaseName );
     }
 
@@ -73,7 +73,7 @@
      */
     public static Test suite()
     {
-        ActiveTestSuite suite = new ActiveTestSuite();
+        final ActiveTestSuite suite = new ActiveTestSuite();
 
         suite.addTest( new LHMLRUMemoryCacheConcurrentUnitTest( "testLHMLRUMemoryCache" )
         {
@@ -107,21 +107,21 @@
      * @throws Exception
      *                If an error occurs
      */
-    public void runTestForRegion( String region )
+    public void runTestForRegion( final String region )
         throws Exception
     {
-        CompositeCacheManager cacheMgr = CompositeCacheManager.getUnconfiguredInstance();
+        final CompositeCacheManager cacheMgr = CompositeCacheManager.getUnconfiguredInstance();
         cacheMgr.configure( "/TestLHMLRUCache.ccf" );
-        CompositeCache<String, String> cache = cacheMgr.getCache( region );
+        final CompositeCache<String, String> cache = cacheMgr.getCache( region );
 
-        LRUMemoryCache<String, String> lru = new LRUMemoryCache<>();
+        final LRUMemoryCache<String, String> lru = new LRUMemoryCache<>();
         lru.initialize( cache );
 
         // Add items to cache
 
         for ( int i = 0; i < items; i++ )
         {
-            ICacheElement<String, String> ice = new CacheElement<>( cache.getCacheName(), i + ":key", region + " data " + i );
+            final ICacheElement<String, String> ice = new CacheElement<>( cache.getCacheName(), i + ":key", region + " data " + i );
             ice.setElementAttributes( cache.getElementAttributes() );
             lru.update( ice );
         }
@@ -135,25 +135,25 @@
         // Test that last items are in cache
         for ( int i = 100; i < items; i++ )
         {
-            String value = lru.get( i + ":key" ).getVal();
+            final String value = lru.get( i + ":key" ).getVal();
             assertEquals( region + " data " + i, value );
         }
 
         // Test that getMultiple returns all the items remaining in cache and none of the missing ones
-        Set<String> keys = new HashSet<>();
+        final Set<String> keys = new HashSet<>();
         for ( int i = 0; i < items; i++ )
         {
             keys.add( i + ":key" );
         }
 
-        Map<String, ICacheElement<String, String>> elements = lru.getMultiple( keys );
+        final Map<String, ICacheElement<String, String>> elements = lru.getMultiple( keys );
         for ( int i = 0; i < 100; i++ )
         {
             assertNull( "Should not have " + i + ":key", elements.get( i + ":key" ) );
         }
         for ( int i = 100; i < items; i++ )
         {
-            ICacheElement<String, String> element = elements.get( i + ":key" );
+            final ICacheElement<String, String> element = elements.get( i + ":key" );
             assertNotNull( "element " + i + ":key is missing", element );
             assertEquals( "value " + i + ":key", region + " data " + i, element.getVal() );
         }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/lru/LHMLRUMemoryCacheUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/lru/LHMLRUMemoryCacheUnitTest.java
index bf4d0e4..93829c8 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/lru/LHMLRUMemoryCacheUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/lru/LHMLRUMemoryCacheUnitTest.java
@@ -57,8 +57,8 @@
     public void testLoadFromCCF()
         throws CacheException
     {
-        CacheAccess<String, String> cache = JCS.getInstance( "testLoadFromCCF" );
-        String memoryCacheName = cache.getCacheAttributes().getMemoryCacheName();
+        final CacheAccess<String, String> cache = JCS.getInstance( "testLoadFromCCF" );
+        final String memoryCacheName = cache.getCacheAttributes().getMemoryCacheName();
         assertTrue( "Cache name should have LHMLRU in it.", memoryCacheName.indexOf( "LHMLRUMemoryCache" ) != -1 );
     }
 
@@ -70,10 +70,10 @@
     public void testPutGetThroughHub()
         throws CacheException
     {
-        CacheAccess<String, String> cache = JCS.getInstance( "testPutGetThroughHub" );
+        final CacheAccess<String, String> cache = JCS.getInstance( "testPutGetThroughHub" );
 
-        int max = cache.getCacheAttributes().getMaxObjects();
-        int items = max * 2;
+        final int max = cache.getCacheAttributes().getMaxObjects();
+        final int items = max * 2;
 
         for ( int i = 0; i < items; i++ )
         {
@@ -83,7 +83,7 @@
         // Test that first items are not in the cache
         for ( int i = max -1; i >= 0; i-- )
         {
-            String value = cache.get( i + ":key" );
+            final String value = cache.get( i + ":key" );
             assertNull( "Should not have value for key [" + i + ":key" + "] in the cache." + cache.getStats(), value );
         }
 
@@ -91,25 +91,25 @@
         // skip 2 for the buffer.
         for ( int i = max + 2; i < items; i++ )
         {
-            String value = cache.get( i + ":key" );
+            final String value = cache.get( i + ":key" );
             assertEquals( "myregion" + " data " + i, value );
         }
 
         // Test that getMultiple returns all the items remaining in cache and none of the missing ones
-        Set<String> keys = new HashSet<>();
+        final Set<String> keys = new HashSet<>();
         for ( int i = 0; i < items; i++ )
         {
             keys.add( i + ":key" );
         }
 
-        Map<String, ICacheElement<String, String>> elements = cache.getCacheElements( keys );
+        final Map<String, ICacheElement<String, String>> elements = cache.getCacheElements( keys );
         for ( int i = max-1; i >= 0; i-- )
         {
             assertNull( "Should not have value for key [" + i + ":key" + "] in the cache." + cache.getStats(), elements.get( i + ":key" ) );
         }
         for ( int i = max + 2; i < items; i++ )
         {
-            ICacheElement<String, String> element = elements.get( i + ":key" );
+            final ICacheElement<String, String> element = elements.get( i + ":key" );
             assertNotNull( "element " + i + ":key is missing", element );
             assertEquals( "value " + i + ":key", "myregion" + " data " + i, element.getVal() );
         }
@@ -123,10 +123,10 @@
     public void testPutGetThroughHubTwice()
         throws CacheException
     {
-        CacheAccess<String, String> cache = JCS.getInstance( "testPutGetThroughHubTwice" );
+        final CacheAccess<String, String> cache = JCS.getInstance( "testPutGetThroughHubTwice" );
 
-        int max = cache.getCacheAttributes().getMaxObjects();
-        int items = max * 2;
+        final int max = cache.getCacheAttributes().getMaxObjects();
+        final int items = max * 2;
 
         for ( int i = 0; i < items; i++ )
         {
@@ -141,7 +141,7 @@
         // Test that first items are not in the cache
         for ( int i = max -1; i >= 0; i-- )
         {
-            String value = cache.get( i + ":key" );
+            final String value = cache.get( i + ":key" );
             assertNull( "Should not have value for key [" + i + ":key" + "] in the cache.", value );
         }
 
@@ -149,7 +149,7 @@
         // skip 2 for the buffer.
         for ( int i = max + 2; i < items; i++ )
         {
-            String value = cache.get( i + ":key" );
+            final String value = cache.get( i + ":key" );
             assertEquals( "myregion" + " data " + i, value );
         }
 
@@ -163,10 +163,10 @@
     public void testPutRemoveThroughHub()
         throws CacheException
     {
-        CacheAccess<String, String> cache = JCS.getInstance( "testPutRemoveThroughHub" );
+        final CacheAccess<String, String> cache = JCS.getInstance( "testPutRemoveThroughHub" );
 
-        int max = cache.getCacheAttributes().getMaxObjects();
-        int items = max * 2;
+        final int max = cache.getCacheAttributes().getMaxObjects();
+        final int items = max * 2;
 
         for ( int i = 0; i < items; i++ )
         {
@@ -181,7 +181,7 @@
         // Test that first items are not in the cache
         for ( int i = max; i >= 0; i-- )
         {
-            String value = cache.get( i + ":key" );
+            final String value = cache.get( i + ":key" );
             assertNull( "Should not have value for key [" + i + ":key" + "] in the cache.", value );
         }
     }
@@ -194,10 +194,10 @@
     public void testClearThroughHub()
         throws CacheException
     {
-        CacheAccess<String, String> cache = JCS.getInstance( "testClearThroughHub" );
+        final CacheAccess<String, String> cache = JCS.getInstance( "testClearThroughHub" );
 
-        int max = cache.getCacheAttributes().getMaxObjects();
-        int items = max * 2;
+        final int max = cache.getCacheAttributes().getMaxObjects();
+        final int items = max * 2;
 
         for ( int i = 0; i < items; i++ )
         {
@@ -209,7 +209,7 @@
         // Test that first items are not in the cache
         for ( int i = max; i >= 0; i-- )
         {
-            String value = cache.get( i + ":key" );
+            final String value = cache.get( i + ":key" );
             assertNull( "Should not have value for key [" + i + ":key" + "] in the cache.", value );
         }
     }
@@ -222,17 +222,17 @@
     public void testGetStatsThroughHub()
         throws CacheException
     {
-        CacheAccess<String, String> cache = JCS.getInstance( "testGetStatsThroughHub" );
+        final CacheAccess<String, String> cache = JCS.getInstance( "testGetStatsThroughHub" );
 
-        int max = cache.getCacheAttributes().getMaxObjects();
-        int items = max * 2;
+        final int max = cache.getCacheAttributes().getMaxObjects();
+        final int items = max * 2;
 
         for ( int i = 0; i < items; i++ )
         {
             cache.put( i + ":key", "myregion" + " data " + i );
         }
 
-        String stats = cache.getStats();
+        final String stats = cache.getStats();
 
         //System.out.println( stats );
 
@@ -249,24 +249,24 @@
     public void testGetKeyArray()
         throws Exception
     {
-        CompositeCacheManager cacheMgr = CompositeCacheManager.getUnconfiguredInstance();
+        final CompositeCacheManager cacheMgr = CompositeCacheManager.getUnconfiguredInstance();
         cacheMgr.configure( "/TestLHMLRUCache.ccf" );
-        CompositeCache<String, String> cache = cacheMgr.getCache( "testGetKeyArray" );
+        final CompositeCache<String, String> cache = cacheMgr.getCache( "testGetKeyArray" );
 
-        LHMLRUMemoryCache<String, String> mru = new LHMLRUMemoryCache<>();
+        final LHMLRUMemoryCache<String, String> mru = new LHMLRUMemoryCache<>();
         mru.initialize( cache );
 
-        int max = cache.getCacheAttributes().getMaxObjects();
-        int items = max / 2;
+        final int max = cache.getCacheAttributes().getMaxObjects();
+        final int items = max / 2;
 
         for ( int i = 0; i < items; i++ )
         {
-            ICacheElement<String, String> ice = new CacheElement<>( cache.getCacheName(), i + ":key", cache.getCacheName() + " data " + i );
+            final ICacheElement<String, String> ice = new CacheElement<>( cache.getCacheName(), i + ":key", cache.getCacheName() + " data " + i );
             ice.setElementAttributes( cache.getElementAttributes() );
             mru.update( ice );
         }
 
-        Set<String> keys = mru.getKeySet();
+        final Set<String> keys = mru.getKeySet();
 
         assertEquals( "Wrong number of keys.", items, keys.size() );
     }
@@ -279,14 +279,14 @@
     public void testRemovePartialThroughHub()
         throws CacheException
     {
-        CacheAccess<String, String> cache = JCS.getInstance( "testRemovePartialThroughHub" );
+        final CacheAccess<String, String> cache = JCS.getInstance( "testRemovePartialThroughHub" );
 
-        int max = cache.getCacheAttributes().getMaxObjects();
-        int items = max / 2;
+        final int max = cache.getCacheAttributes().getMaxObjects();
+        final int items = max / 2;
 
         cache.put( "test", "data" );
 
-        String root = "myroot";
+        final String root = "myroot";
 
         for ( int i = 0; i < items; i++ )
         {
@@ -296,7 +296,7 @@
         // Test that last items are in cache
         for ( int i = 0; i < items; i++ )
         {
-            String value = cache.get( root + ":" + i + ":key" );
+            final String value = cache.get( root + ":" + i + ":key" );
             assertEquals( "myregion" + " data " + i, value );
         }
 
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/lru/LRUMemoryCacheConcurrentUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/lru/LRUMemoryCacheConcurrentUnitTest.java
index fecb5f7..ed43bc8 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/lru/LRUMemoryCacheConcurrentUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/lru/LRUMemoryCacheConcurrentUnitTest.java
@@ -50,7 +50,7 @@
      * <p>
      * @param testName
      */
-    public LRUMemoryCacheConcurrentUnitTest( String testName )
+    public LRUMemoryCacheConcurrentUnitTest( final String testName )
     {
         super( testName );
     }
@@ -60,9 +60,9 @@
      * <p>
      * @param args
      */
-    public static void main( String args[] )
+    public static void main( final String args[] )
     {
-        String[] testCaseName = { LRUMemoryCacheConcurrentUnitTest.class.getName() };
+        final String[] testCaseName = { LRUMemoryCacheConcurrentUnitTest.class.getName() };
         junit.textui.TestRunner.main( testCaseName );
     }
 
@@ -73,7 +73,7 @@
      */
     public static Test suite()
     {
-        ActiveTestSuite suite = new ActiveTestSuite();
+        final ActiveTestSuite suite = new ActiveTestSuite();
 
         suite.addTest( new LRUMemoryCacheConcurrentUnitTest( "testLRUMemoryCache" )
         {
@@ -106,21 +106,21 @@
      * @throws Exception
      *                If an error occurs
      */
-    public void runTestForRegion( String region )
+    public void runTestForRegion( final String region )
         throws Exception
     {
-        CompositeCacheManager cacheMgr = CompositeCacheManager.getUnconfiguredInstance();
+        final CompositeCacheManager cacheMgr = CompositeCacheManager.getUnconfiguredInstance();
         cacheMgr.configure( "/TestDiskCache.ccf" );
-        CompositeCache<String, String> cache = cacheMgr.getCache( region );
+        final CompositeCache<String, String> cache = cacheMgr.getCache( region );
 
-        LRUMemoryCache<String, String> lru = new LRUMemoryCache<>();
+        final LRUMemoryCache<String, String> lru = new LRUMemoryCache<>();
         lru.initialize( cache );
 
         // Add items to cache
 
         for ( int i = 0; i < items; i++ )
         {
-            ICacheElement<String, String> ice = new CacheElement<>( cache.getCacheName(), i + ":key", region + " data " + i );
+            final ICacheElement<String, String> ice = new CacheElement<>( cache.getCacheName(), i + ":key", region + " data " + i );
             ice.setElementAttributes( cache.getElementAttributes() );
             lru.update( ice );
         }
@@ -134,25 +134,25 @@
         // Test that last items are in cache
         for ( int i = 100; i < items; i++ )
         {
-            String value = lru.get( i + ":key" ).getVal();
+            final String value = lru.get( i + ":key" ).getVal();
             assertEquals( region + " data " + i, value );
         }
 
         // Test that getMultiple returns all the items remaining in cache and none of the missing ones
-        Set<String> keys = new HashSet<>();
+        final Set<String> keys = new HashSet<>();
         for ( int i = 0; i < items; i++ )
         {
             keys.add( i + ":key" );
         }
 
-        Map<String, ICacheElement<String, String>> elements = lru.getMultiple( keys );
+        final Map<String, ICacheElement<String, String>> elements = lru.getMultiple( keys );
         for ( int i = 0; i < 100; i++ )
         {
             assertNull( "Should not have " + i + ":key", elements.get( i + ":key" ) );
         }
         for ( int i = 100; i < items; i++ )
         {
-            ICacheElement<String, String> element = elements.get( i + ":key" );
+            final ICacheElement<String, String> element = elements.get( i + ":key" );
             assertNotNull( "element " + i + ":key is missing", element );
             assertEquals( "value " + i + ":key", region + " data " + i, element.getVal() );
         }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/mru/LRUvsMRUPerformanceTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/mru/LRUvsMRUPerformanceTest.java
index f0ebd8b..4c6de19 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/mru/LRUvsMRUPerformanceTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/mru/LRUvsMRUPerformanceTest.java
@@ -55,13 +55,13 @@
     public void testSimpleLoad()
         throws Exception
     {
-        Log log1 = LogManager.getLog( LRUMemoryCache.class );
+        final Log log1 = LogManager.getLog( LRUMemoryCache.class );
         if ( log1.isDebugEnabled() )
         {
             System.out.println( "The log level must be at info or above for the a performance test." );
             return;
         }
-        Log log2 = LogManager.getLog( MRUMemoryCache.class );
+        final Log log2 = LogManager.getLog( MRUMemoryCache.class );
         if ( log2.isDebugEnabled() )
         {
             System.out.println( "The log level must be at info or above for the a performance test." );
@@ -94,8 +94,8 @@
         {
 
             JCS.setConfigFilename( "/TestMRUCache.ccf" );
-            CacheAccess<String, String> cache = JCS.getInstance( "lruDefined" );
-            CacheAccess<String, String> mru = JCS.getInstance( "mruDefined" );
+            final CacheAccess<String, String> cache = JCS.getInstance( "lruDefined" );
+            final CacheAccess<String, String> mru = JCS.getInstance( "mruDefined" );
 
             System.out.println( "LRU = " + cache );
 
@@ -155,16 +155,16 @@
             }
 
         }
-        catch ( Exception e )
+        catch ( final Exception e )
         {
             e.printStackTrace( System.out );
             System.out.println( e );
         }
 
-        long putAvJCS = putTotalLRU / loops;
-        long getAvJCS = getTotalLRU / loops;
-        long putAvHashtable = putTotalMRU / loops;
-        long getAvHashtable = getTotalMRU / loops;
+        final long putAvJCS = putTotalLRU / loops;
+        final long getAvJCS = getTotalLRU / loops;
+        final long putAvHashtable = putTotalMRU / loops;
+        final long getAvHashtable = getTotalMRU / loops;
 
         System.out.println( "Finished " + loops + " loops of " + tries + " gets and puts" );
 
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/mru/MRUMemoryCacheUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/mru/MRUMemoryCacheUnitTest.java
index 6d65ed6..8b7bf85 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/mru/MRUMemoryCacheUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/mru/MRUMemoryCacheUnitTest.java
@@ -57,8 +57,8 @@
     public void testLoadFromCCF()
         throws CacheException
     {
-        CacheAccess<String, String> cache = JCS.getInstance( "testPutGet" );
-        String memoryCacheName = cache.getCacheAttributes().getMemoryCacheName();
+        final CacheAccess<String, String> cache = JCS.getInstance( "testPutGet" );
+        final String memoryCacheName = cache.getCacheAttributes().getMemoryCacheName();
         assertTrue( "Cache name should have MRU in it.", memoryCacheName.indexOf( "MRUMemoryCache" ) != -1 );
     }
 
@@ -70,10 +70,10 @@
     public void testPutGetThroughHub()
         throws CacheException
     {
-        CacheAccess<String, String> cache = JCS.getInstance( "testPutGetThroughHub" );
+        final CacheAccess<String, String> cache = JCS.getInstance( "testPutGetThroughHub" );
 
-        int max = cache.getCacheAttributes().getMaxObjects();
-        int items = max * 2;
+        final int max = cache.getCacheAttributes().getMaxObjects();
+        final int items = max * 2;
 
         for ( int i = 0; i < items; i++ )
         {
@@ -83,7 +83,7 @@
         // Test that first items are not in the cache
         for ( int i = max -1; i >= 0; i-- )
         {
-            String value = cache.get( i + ":key" );
+            final String value = cache.get( i + ":key" );
             assertNull( "Should not have value for key [" + i + ":key" + "] in the cache." + cache.getStats(), value );
         }
 
@@ -91,25 +91,25 @@
         // skip 2 for the buffer.
         for ( int i = max + 2; i < items; i++ )
         {
-            String value = cache.get( i + ":key" );
+            final String value = cache.get( i + ":key" );
             assertEquals( "myregion" + " data " + i, value );
         }
 
         // Test that getMultiple returns all the items remaining in cache and none of the missing ones
-        Set<String> keys = new HashSet<>();
+        final Set<String> keys = new HashSet<>();
         for ( int i = 0; i < items; i++ )
         {
             keys.add( i + ":key" );
         }
 
-        Map<String, ICacheElement<String, String>> elements = cache.getCacheElements( keys );
+        final Map<String, ICacheElement<String, String>> elements = cache.getCacheElements( keys );
         for ( int i = max-1; i >= 0; i-- )
         {
             assertNull( "Should not have value for key [" + i + ":key" + "] in the cache." + cache.getStats(), elements.get( i + ":key" ) );
         }
         for ( int i = max + 2; i < items; i++ )
         {
-            ICacheElement<String, String> element = elements.get( i + ":key" );
+            final ICacheElement<String, String> element = elements.get( i + ":key" );
             assertNotNull( "element " + i + ":key is missing", element );
             assertEquals( "value " + i + ":key", "myregion" + " data " + i, element.getVal() );
         }
@@ -123,10 +123,10 @@
     public void testPutGetThroughHubTwice()
         throws CacheException
     {
-        CacheAccess<String, String> cache = JCS.getInstance( "testPutGetThroughHub" );
+        final CacheAccess<String, String> cache = JCS.getInstance( "testPutGetThroughHub" );
 
-        int max = cache.getCacheAttributes().getMaxObjects();
-        int items = max * 2;
+        final int max = cache.getCacheAttributes().getMaxObjects();
+        final int items = max * 2;
 
         for ( int i = 0; i < items; i++ )
         {
@@ -141,7 +141,7 @@
         // Test that first items are not in the cache
         for ( int i = max-1; i >= 0; i-- )
         {
-            String value = cache.get( i + ":key" );
+            final String value = cache.get( i + ":key" );
             assertNull( "Should not have value for key [" + i + ":key" + "] in the cache.", value );
         }
 
@@ -149,7 +149,7 @@
         // skip 2 for the buffer.
         for ( int i = max + 2; i < items; i++ )
         {
-            String value = cache.get( i + ":key" );
+            final String value = cache.get( i + ":key" );
             assertEquals( "myregion" + " data " + i, value );
         }
 
@@ -163,10 +163,10 @@
     public void testPutRemoveThroughHub()
         throws CacheException
     {
-        CacheAccess<String, String> cache = JCS.getInstance( "testPutGetThroughHub" );
+        final CacheAccess<String, String> cache = JCS.getInstance( "testPutGetThroughHub" );
 
-        int max = cache.getCacheAttributes().getMaxObjects();
-        int items = max * 2;
+        final int max = cache.getCacheAttributes().getMaxObjects();
+        final int items = max * 2;
 
         for ( int i = 0; i < items; i++ )
         {
@@ -181,7 +181,7 @@
         // Test that first items are not in the cache
         for ( int i = max; i >= 0; i-- )
         {
-            String value = cache.get( i + ":key" );
+            final String value = cache.get( i + ":key" );
             assertNull( "Should not have value for key [" + i + ":key" + "] in the cache.", value );
         }
     }
@@ -194,10 +194,10 @@
     public void testClearThroughHub()
         throws CacheException
     {
-        CacheAccess<String, String> cache = JCS.getInstance( "testPutGetThroughHub" );
+        final CacheAccess<String, String> cache = JCS.getInstance( "testPutGetThroughHub" );
 
-        int max = cache.getCacheAttributes().getMaxObjects();
-        int items = max * 2;
+        final int max = cache.getCacheAttributes().getMaxObjects();
+        final int items = max * 2;
 
         for ( int i = 0; i < items; i++ )
         {
@@ -209,7 +209,7 @@
         // Test that first items are not in the cache
         for ( int i = max; i >= 0; i-- )
         {
-            String value = cache.get( i + ":key" );
+            final String value = cache.get( i + ":key" );
             assertNull( "Should not have value for key [" + i + ":key" + "] in the cache.", value );
         }
     }
@@ -222,17 +222,17 @@
     public void testGetStatsThroughHub()
         throws CacheException
     {
-        CacheAccess<String, String> cache = JCS.getInstance( "testGetStatsThroughHub" );
+        final CacheAccess<String, String> cache = JCS.getInstance( "testGetStatsThroughHub" );
 
-        int max = cache.getCacheAttributes().getMaxObjects();
-        int items = max * 2;
+        final int max = cache.getCacheAttributes().getMaxObjects();
+        final int items = max * 2;
 
         for ( int i = 0; i < items; i++ )
         {
             cache.put( i + ":key", "myregion" + " data " + i );
         }
 
-        String stats = cache.getStats();
+        final String stats = cache.getStats();
 
 //        System.out.println( stats );
 
@@ -249,24 +249,24 @@
     public void testGetKeyArray()
         throws Exception
     {
-        CompositeCacheManager cacheMgr = CompositeCacheManager.getUnconfiguredInstance();
+        final CompositeCacheManager cacheMgr = CompositeCacheManager.getUnconfiguredInstance();
         cacheMgr.configure( "/TestMRUCache.ccf" );
-        CompositeCache<String, String> cache = cacheMgr.getCache( "testGetKeyArray" );
+        final CompositeCache<String, String> cache = cacheMgr.getCache( "testGetKeyArray" );
 
-        MRUMemoryCache<String, String> mru = new MRUMemoryCache<>();
+        final MRUMemoryCache<String, String> mru = new MRUMemoryCache<>();
         mru.initialize( cache );
 
-        int max = cache.getCacheAttributes().getMaxObjects();
-        int items = max / 2;
+        final int max = cache.getCacheAttributes().getMaxObjects();
+        final int items = max / 2;
 
         for ( int i = 0; i < items; i++ )
         {
-            ICacheElement<String, String> ice = new CacheElement<>( cache.getCacheName(), i + ":key", cache.getCacheName() + " data " + i );
+            final ICacheElement<String, String> ice = new CacheElement<>( cache.getCacheName(), i + ":key", cache.getCacheName() + " data " + i );
             ice.setElementAttributes( cache.getElementAttributes() );
             mru.update( ice );
         }
 
-        Set<String> keys = mru.getKeySet();
+        final Set<String> keys = mru.getKeySet();
 
         assertEquals( "Wrong number of keys.", items, keys.size() );
     }
@@ -279,14 +279,14 @@
     public void testRemovePartialThroughHub()
         throws CacheException
     {
-        CacheAccess<String, String> cache = JCS.getInstance( "testGetStatsThroughHub" );
+        final CacheAccess<String, String> cache = JCS.getInstance( "testGetStatsThroughHub" );
 
-        int max = cache.getCacheAttributes().getMaxObjects();
-        int items = max / 2;
+        final int max = cache.getCacheAttributes().getMaxObjects();
+        final int items = max / 2;
 
         cache.put( "test", "data" );
 
-        String root = "myroot";
+        final String root = "myroot";
 
         for ( int i = 0; i < items; i++ )
         {
@@ -296,7 +296,7 @@
         // Test that last items are in cache
         for ( int i = 0; i < items; i++ )
         {
-            String value = cache.get( root + ":" + i + ":key" );
+            final String value = cache.get( root + ":" + i + ":key" );
             assertEquals( "myregion" + " data " + i, value );
         }
 
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/shrinking/ShrinkerThreadUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/shrinking/ShrinkerThreadUnitTest.java
index a08d675..d0f5a02 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/shrinking/ShrinkerThreadUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/shrinking/ShrinkerThreadUnitTest.java
@@ -46,18 +46,18 @@
     public void testCheckForRemoval_Expired() throws IOException
     {
         // SETUP
-        CompositeCacheAttributes cacheAttr = new CompositeCacheAttributes();
+        final CompositeCacheAttributes cacheAttr = new CompositeCacheAttributes();
         cacheAttr.setCacheName("testRegion");
         cacheAttr.setMaxMemoryIdleTimeSeconds( 10 );
         cacheAttr.setMaxSpoolPerRun( 10 );
 
-        CompositeCache<String, String> cache = new CompositeCache<>(cacheAttr, new ElementAttributes());
+        final CompositeCache<String, String> cache = new CompositeCache<>(cacheAttr, new ElementAttributes());
 
-        String key = "key";
-        String value = "value";
+        final String key = "key";
+        final String value = "value";
 
-        ICacheElement<String, String> element = new CacheElement<>( "testRegion", key, value );
-        ElementAttributes elementAttr = new ElementAttributes();
+        final ICacheElement<String, String> element = new CacheElement<>( "testRegion", key, value );
+        final ElementAttributes elementAttr = new ElementAttributes();
         elementAttr.setIsEternal( false );
         element.setElementAttributes( elementAttr );
         element.getElementAttributes().setMaxLife(1);
@@ -67,7 +67,7 @@
         now += 2000;
 
         // DO WORK
-        boolean result = cache.isExpired( element, now,
+        final boolean result = cache.isExpired( element, now,
                 ElementEventType.EXCEEDED_MAXLIFE_BACKGROUND,
                 ElementEventType.EXCEEDED_IDLETIME_BACKGROUND );
 
@@ -81,18 +81,18 @@
     public void testCheckForRemoval_NotExpired() throws IOException
     {
         // SETUP
-        CompositeCacheAttributes cacheAttr = new CompositeCacheAttributes();
+        final CompositeCacheAttributes cacheAttr = new CompositeCacheAttributes();
         cacheAttr.setCacheName("testRegion");
         cacheAttr.setMaxMemoryIdleTimeSeconds( 10 );
         cacheAttr.setMaxSpoolPerRun( 10 );
 
-        CompositeCache<String, String> cache = new CompositeCache<>(cacheAttr, new ElementAttributes());
+        final CompositeCache<String, String> cache = new CompositeCache<>(cacheAttr, new ElementAttributes());
 
-        String key = "key";
-        String value = "value";
+        final String key = "key";
+        final String value = "value";
 
-        ICacheElement<String, String> element = new CacheElement<>( "testRegion", key, value );
-        ElementAttributes elementAttr = new ElementAttributes();
+        final ICacheElement<String, String> element = new CacheElement<>( "testRegion", key, value );
+        final ElementAttributes elementAttr = new ElementAttributes();
         elementAttr.setIsEternal( false );
         element.setElementAttributes( elementAttr );
         element.getElementAttributes().setMaxLife(1);
@@ -102,7 +102,7 @@
         now -= 2000;
 
         // DO WORK
-        boolean result = cache.isExpired( element, now,
+        final boolean result = cache.isExpired( element, now,
                 ElementEventType.EXCEEDED_MAXLIFE_BACKGROUND,
                 ElementEventType.EXCEEDED_IDLETIME_BACKGROUND );
 
@@ -116,18 +116,18 @@
     public void testCheckForRemoval_IdleTooLong() throws IOException
     {
         // SETUP
-        CompositeCacheAttributes cacheAttr = new CompositeCacheAttributes();
+        final CompositeCacheAttributes cacheAttr = new CompositeCacheAttributes();
         cacheAttr.setCacheName("testRegion");
         cacheAttr.setMaxMemoryIdleTimeSeconds( 10 );
         cacheAttr.setMaxSpoolPerRun( 10 );
 
-        CompositeCache<String, String> cache = new CompositeCache<>(cacheAttr, new ElementAttributes());
+        final CompositeCache<String, String> cache = new CompositeCache<>(cacheAttr, new ElementAttributes());
 
-        String key = "key";
-        String value = "value";
+        final String key = "key";
+        final String value = "value";
 
-        ICacheElement<String, String> element = new CacheElement<>( "testRegion", key, value );
-        ElementAttributes elementAttr = new ElementAttributes();
+        final ICacheElement<String, String> element = new CacheElement<>( "testRegion", key, value );
+        final ElementAttributes elementAttr = new ElementAttributes();
         elementAttr.setIsEternal( false );
         element.setElementAttributes( elementAttr );
         element.getElementAttributes().setMaxLife(100);
@@ -138,7 +138,7 @@
         now += 2000;
 
         // DO WORK
-        boolean result = cache.isExpired( element, now,
+        final boolean result = cache.isExpired( element, now,
                 ElementEventType.EXCEEDED_MAXLIFE_BACKGROUND,
                 ElementEventType.EXCEEDED_IDLETIME_BACKGROUND );
 
@@ -152,18 +152,18 @@
     public void testCheckForRemoval_NotIdleTooLong() throws IOException
     {
         // SETUP
-        CompositeCacheAttributes cacheAttr = new CompositeCacheAttributes();
+        final CompositeCacheAttributes cacheAttr = new CompositeCacheAttributes();
         cacheAttr.setCacheName("testRegion");
         cacheAttr.setMaxMemoryIdleTimeSeconds( 10 );
         cacheAttr.setMaxSpoolPerRun( 10 );
 
-        CompositeCache<String, String> cache = new CompositeCache<>(cacheAttr, new ElementAttributes());
+        final CompositeCache<String, String> cache = new CompositeCache<>(cacheAttr, new ElementAttributes());
 
-        String key = "key";
-        String value = "value";
+        final String key = "key";
+        final String value = "value";
 
-        ICacheElement<String, String> element = new CacheElement<>( "testRegion", key, value );
-        ElementAttributes elementAttr = new ElementAttributes();
+        final ICacheElement<String, String> element = new CacheElement<>( "testRegion", key, value );
+        final ElementAttributes elementAttr = new ElementAttributes();
         elementAttr.setIsEternal( false );
         element.setElementAttributes( elementAttr );
         element.getElementAttributes().setMaxLife(100);
@@ -174,7 +174,7 @@
         now -= 2000;
 
         // DO WORK
-        boolean result = cache.isExpired( element, now,
+        final boolean result = cache.isExpired( element, now,
                 ElementEventType.EXCEEDED_MAXLIFE_BACKGROUND,
                 ElementEventType.EXCEEDED_IDLETIME_BACKGROUND );
 
@@ -192,40 +192,40 @@
         throws Exception
     {
         // SETUP
-        CompositeCacheAttributes cacheAttr = new CompositeCacheAttributes();
+        final CompositeCacheAttributes cacheAttr = new CompositeCacheAttributes();
         cacheAttr.setCacheName("testRegion");
         cacheAttr.setMemoryCacheName("org.apache.commons.jcs3.engine.memory.MockMemoryCache");
         cacheAttr.setMaxMemoryIdleTimeSeconds( 1 );
         cacheAttr.setMaxSpoolPerRun( 10 );
 
-        CompositeCache<String, String> cache = new CompositeCache<>(cacheAttr, new ElementAttributes());
-        MockMemoryCache<String, String> memory = (MockMemoryCache<String, String>)cache.getMemoryCache();
+        final CompositeCache<String, String> cache = new CompositeCache<>(cacheAttr, new ElementAttributes());
+        final MockMemoryCache<String, String> memory = (MockMemoryCache<String, String>)cache.getMemoryCache();
 
-        String key = "key";
-        String value = "value";
+        final String key = "key";
+        final String value = "value";
 
-        ICacheElement<String, String> element = new CacheElement<>( "testRegion", key, value );
+        final ICacheElement<String, String> element = new CacheElement<>( "testRegion", key, value );
 
-        ElementAttributes elementAttr = new ElementAttributes();
+        final ElementAttributes elementAttr = new ElementAttributes();
         elementAttr.setIsEternal( false );
         element.setElementAttributes( elementAttr );
         element.getElementAttributes().setMaxLife(1);
         memory.update( element );
 
-        ICacheElement<String, String> returnedElement1 = memory.get( key );
+        final ICacheElement<String, String> returnedElement1 = memory.get( key );
         assertNotNull( "We should have received an element", returnedElement1 );
 
         // set this to 2 seconds ago.
         ElementAttributesUtils.setLastAccessTime( elementAttr,  System.currentTimeMillis() - 2000 );
 
         // DO WORK
-        ShrinkerThread<String, String> shrinker = new ShrinkerThread<>( cache );
+        final ShrinkerThread<String, String> shrinker = new ShrinkerThread<>( cache );
         shrinker.run();
 
         Thread.sleep( 500 );
 
         // VERIFY
-        ICacheElement<String, String> returnedElement2 = memory.get( key );
+        final ICacheElement<String, String> returnedElement2 = memory.get( key );
         assertTrue( "Waterfall should have been called.", memory.waterfallCallCount > 0 );
         assertNull( "We not should have received an element.  It should have been spooled.", returnedElement2 );
     }
@@ -239,29 +239,29 @@
         throws Exception
     {
         // SETUP
-        CompositeCacheAttributes cacheAttr = new CompositeCacheAttributes();
+        final CompositeCacheAttributes cacheAttr = new CompositeCacheAttributes();
         cacheAttr.setCacheName("testRegion");
         cacheAttr.setMemoryCacheName("org.apache.commons.jcs3.engine.memory.MockMemoryCache");
         cacheAttr.setMaxMemoryIdleTimeSeconds( 1 );
         cacheAttr.setMaxSpoolPerRun( 3 );
 
-        CompositeCache<String, String> cache = new CompositeCache<>(cacheAttr, new ElementAttributes());
-        MockMemoryCache<String, String> memory = (MockMemoryCache<String, String>)cache.getMemoryCache();
+        final CompositeCache<String, String> cache = new CompositeCache<>(cacheAttr, new ElementAttributes());
+        final MockMemoryCache<String, String> memory = (MockMemoryCache<String, String>)cache.getMemoryCache();
 
         for ( int i = 0; i < 10; i++ )
         {
-            String key = "key" + i;
-            String value = "value";
+            final String key = "key" + i;
+            final String value = "value";
 
-            ICacheElement<String, String> element = new CacheElement<>( "testRegion", key, value );
+            final ICacheElement<String, String> element = new CacheElement<>( "testRegion", key, value );
 
-            ElementAttributes elementAttr = new ElementAttributes();
+            final ElementAttributes elementAttr = new ElementAttributes();
             elementAttr.setIsEternal( false );
             element.setElementAttributes( elementAttr );
             element.getElementAttributes().setMaxLife(1);
             memory.update( element );
 
-            ICacheElement<String, String> returnedElement1 = memory.get( key );
+            final ICacheElement<String, String> returnedElement1 = memory.get( key );
             assertNotNull( "We should have received an element", returnedElement1 );
 
             // set this to 2 seconds ago.
@@ -269,7 +269,7 @@
         }
 
         // DO WORK
-        ShrinkerThread<String, String> shrinker = new ShrinkerThread<>( cache );
+        final ShrinkerThread<String, String> shrinker = new ShrinkerThread<>( cache );
         shrinker.run();
 
         // VERIFY
@@ -289,32 +289,32 @@
         throws Exception
     {
         // SETUP
-        CompositeCacheAttributes cacheAttr = new CompositeCacheAttributes();
+        final CompositeCacheAttributes cacheAttr = new CompositeCacheAttributes();
         cacheAttr.setCacheName("testRegion");
         cacheAttr.setMemoryCacheName("org.apache.commons.jcs3.engine.memory.MockMemoryCache");
         cacheAttr.setMaxMemoryIdleTimeSeconds( 1 );
         cacheAttr.setMaxSpoolPerRun( 3 );
 
-        CompositeCache<String, String> cache = new CompositeCache<>(cacheAttr, new ElementAttributes());
-        MockMemoryCache<String, String> memory = (MockMemoryCache<String, String>)cache.getMemoryCache();
+        final CompositeCache<String, String> cache = new CompositeCache<>(cacheAttr, new ElementAttributes());
+        final MockMemoryCache<String, String> memory = (MockMemoryCache<String, String>)cache.getMemoryCache();
 
-        ElementEventHandlerMockImpl handler = new ElementEventHandlerMockImpl();
+        final ElementEventHandlerMockImpl handler = new ElementEventHandlerMockImpl();
 
         for ( int i = 0; i < 10; i++ )
         {
-            String key = "key" + i;
-            String value = "value";
+            final String key = "key" + i;
+            final String value = "value";
 
-            ICacheElement<String, String> element = new CacheElement<>( "testRegion", key, value );
+            final ICacheElement<String, String> element = new CacheElement<>( "testRegion", key, value );
 
-            ElementAttributes elementAttr = new ElementAttributes();
+            final ElementAttributes elementAttr = new ElementAttributes();
             elementAttr.addElementEventHandler( handler );
             elementAttr.setIsEternal( false );
             element.setElementAttributes( elementAttr );
             element.getElementAttributes().setMaxLife(1);
             memory.update( element );
 
-            ICacheElement<String, String> returnedElement1 = memory.get( key );
+            final ICacheElement<String, String> returnedElement1 = memory.get( key );
             assertNotNull( "We should have received an element", returnedElement1 );
 
             // set this to 2 seconds ago.
@@ -322,7 +322,7 @@
         }
 
         // DO WORK
-        ShrinkerThread<String, String> shrinker = new ShrinkerThread<>( cache );
+        final ShrinkerThread<String, String> shrinker = new ShrinkerThread<>( cache );
         shrinker.run();
 
         // VERIFY
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/soft/SoftReferenceMemoryCacheUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/soft/SoftReferenceMemoryCacheUnitTest.java
index f7426dd..0c32859 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/soft/SoftReferenceMemoryCacheUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/engine/memory/soft/SoftReferenceMemoryCacheUnitTest.java
@@ -65,8 +65,8 @@
     public void testLoadFromCCF()
         throws CacheException
     {
-        CacheAccess<String, String> cache = JCS.getInstance( "testPutGet" );
-        String memoryCacheName = cache.getCacheAttributes().getMemoryCacheName();
+        final CacheAccess<String, String> cache = JCS.getInstance( "testPutGet" );
+        final String memoryCacheName = cache.getCacheAttributes().getMemoryCacheName();
         assertTrue( "Cache name should have SoftReference in it.",
                 memoryCacheName.indexOf( "SoftReferenceMemoryCache" ) != -1 );
     }
@@ -79,10 +79,10 @@
     public void testPutGetThroughHub()
         throws CacheException
     {
-        CacheAccess<String, String> cache = JCS.getInstance( "testPutGetThroughHub" );
+        final CacheAccess<String, String> cache = JCS.getInstance( "testPutGetThroughHub" );
 
-        int max = cache.getCacheAttributes().getMaxObjects();
-        int items = max * 2;
+        final int max = cache.getCacheAttributes().getMaxObjects();
+        final int items = max * 2;
 
         for ( int i = 0; i < items; i++ )
         {
@@ -92,21 +92,21 @@
         // Test that all items are in cache
         for ( int i = 0; i < items; i++ )
         {
-            String value = cache.get( i + ":key" );
+            final String value = cache.get( i + ":key" );
             assertEquals( "myregion" + " data " + i, value );
         }
 
         // Test that getMultiple returns all the items remaining in cache and none of the missing ones
-        Set<String> keys = new HashSet<>();
+        final Set<String> keys = new HashSet<>();
         for ( int i = 0; i < items; i++ )
         {
             keys.add( i + ":key" );
         }
 
-        Map<String, ICacheElement<String, String>> elements = cache.getCacheElements( keys );
+        final Map<String, ICacheElement<String, String>> elements = cache.getCacheElements( keys );
         for ( int i = 0; i < items; i++ )
         {
-            ICacheElement<String, String> element = elements.get( i + ":key" );
+            final ICacheElement<String, String> element = elements.get( i + ":key" );
             assertNotNull( "element " + i + ":key is missing", element );
             assertEquals( "value " + i + ":key", "myregion" + " data " + i, element.getVal() );
         }
@@ -122,10 +122,10 @@
     public void testPutRemoveThroughHub()
         throws CacheException
     {
-        CacheAccess<String, String> cache = JCS.getInstance( "testPutGetThroughHub" );
+        final CacheAccess<String, String> cache = JCS.getInstance( "testPutGetThroughHub" );
 
-        int max = cache.getCacheAttributes().getMaxObjects();
-        int items = max * 2;
+        final int max = cache.getCacheAttributes().getMaxObjects();
+        final int items = max * 2;
 
         for ( int i = 0; i < items; i++ )
         {
@@ -140,7 +140,7 @@
         // Test that first items are not in the cache
         for ( int i = max; i >= 0; i-- )
         {
-            String value = cache.get( i + ":key" );
+            final String value = cache.get( i + ":key" );
             assertNull( "Should not have value for key [" + i + ":key" + "] in the cache.", value );
         }
     }
@@ -153,10 +153,10 @@
     public void testClearThroughHub()
         throws CacheException
     {
-        CacheAccess<String, String> cache = JCS.getInstance( "testPutGetThroughHub" );
+        final CacheAccess<String, String> cache = JCS.getInstance( "testPutGetThroughHub" );
 
-        int max = cache.getCacheAttributes().getMaxObjects();
-        int items = max * 2;
+        final int max = cache.getCacheAttributes().getMaxObjects();
+        final int items = max * 2;
 
         for ( int i = 0; i < items; i++ )
         {
@@ -168,7 +168,7 @@
         // Test that first items are not in the cache
         for ( int i = max; i >= 0; i-- )
         {
-            String value = cache.get( i + ":key" );
+            final String value = cache.get( i + ":key" );
             assertNull( "Should not have value for key [" + i + ":key" + "] in the cache.", value );
         }
     }
@@ -182,24 +182,24 @@
     public void testGetKeyArray()
         throws Exception
     {
-        CompositeCacheManager cacheMgr = CompositeCacheManager.getUnconfiguredInstance();
+        final CompositeCacheManager cacheMgr = CompositeCacheManager.getUnconfiguredInstance();
         cacheMgr.configure( "/TestSoftReferenceCache.ccf" );
-        CompositeCache<String, String> cache = cacheMgr.getCache( "testGetKeyArray" );
+        final CompositeCache<String, String> cache = cacheMgr.getCache( "testGetKeyArray" );
 
-        SoftReferenceMemoryCache<String, String> srmc = new SoftReferenceMemoryCache<>();
+        final SoftReferenceMemoryCache<String, String> srmc = new SoftReferenceMemoryCache<>();
         srmc.initialize( cache );
 
-        int max = cache.getCacheAttributes().getMaxObjects();
-        int items = max / 2;
+        final int max = cache.getCacheAttributes().getMaxObjects();
+        final int items = max / 2;
 
         for ( int i = 0; i < items; i++ )
         {
-            ICacheElement<String, String> ice = new CacheElement<>( cache.getCacheName(), i + ":key", cache.getCacheName() + " data " + i );
+            final ICacheElement<String, String> ice = new CacheElement<>( cache.getCacheName(), i + ":key", cache.getCacheName() + " data " + i );
             ice.setElementAttributes( cache.getElementAttributes() );
             srmc.update( ice );
         }
 
-        Set<String> keys = srmc.getKeySet();
+        final Set<String> keys = srmc.getKeySet();
 
         assertEquals( "Wrong number of keys.", items, keys.size() );
     }
@@ -212,14 +212,14 @@
     public void testRemovePartialThroughHub()
         throws CacheException
     {
-        CacheAccess<String, String> cache = JCS.getInstance( "testGetStatsThroughHub" );
+        final CacheAccess<String, String> cache = JCS.getInstance( "testGetStatsThroughHub" );
 
-        int max = cache.getCacheAttributes().getMaxObjects();
-        int items = max / 2;
+        final int max = cache.getCacheAttributes().getMaxObjects();
+        final int items = max / 2;
 
         cache.put( "test", "data" );
 
-        String root = "myroot";
+        final String root = "myroot";
 
         for ( int i = 0; i < items; i++ )
         {
@@ -229,7 +229,7 @@
         // Test that last items are in cache
         for ( int i = 0; i < items; i++ )
         {
-            String value = cache.get( root + ":" + i + ":key" );
+            final String value = cache.get( root + ":" + i + ":key" );
             assertEquals( "myregion" + " data " + i, value );
         }
 
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/access/JCSWorkerUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/access/JCSWorkerUnitTest.java
index 1ed8304..250f474 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/access/JCSWorkerUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/access/JCSWorkerUnitTest.java
@@ -44,10 +44,10 @@
     public void testSimpleGet()
         throws Exception
     {
-        JCSWorker<String, Long> cachingWorker = new JCSWorker<>( "example region" );
+        final JCSWorker<String, Long> cachingWorker = new JCSWorker<>( "example region" );
 
         // This is the helper.
-        JCSWorkerHelper<Long> helper = new AbstractJCSWorkerHelper<Long>()
+        final JCSWorkerHelper<Long> helper = new AbstractJCSWorkerHelper<Long>()
         {
             int timesCalled = 0;
 
@@ -58,13 +58,13 @@
             }
         };
 
-        String key = "abc";
+        final String key = "abc";
 
-        Long result = cachingWorker.getResult( key, helper );
+        final Long result = cachingWorker.getResult( key, helper );
         assertEquals( "Called the wrong number of times", Long.valueOf( 1 ), result );
 
         // should get it from the cache.
-        Long result2 = cachingWorker.getResult( key, helper );
+        final Long result2 = cachingWorker.getResult( key, helper );
         assertEquals( "Called the wrong number of times", Long.valueOf( 1 ), result2 );
     }
 
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/config/PropertySetterUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/config/PropertySetterUnitTest.java
index 531f3cf..7885aae 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/config/PropertySetterUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/config/PropertySetterUnitTest.java
@@ -38,23 +38,23 @@
     @Test
     public void testConvertArg()
     {
-        PropertySetter ps = new PropertySetter(this);
-        Object s = ps.convertArg("test", String.class);
+        final PropertySetter ps = new PropertySetter(this);
+        final Object s = ps.convertArg("test", String.class);
         assertEquals("Should be a string", "test", s);
 
-        Object i = ps.convertArg("1", Integer.TYPE);
+        final Object i = ps.convertArg("1", Integer.TYPE);
         assertEquals("Should be an integer", Integer.valueOf(1), i);
 
-        Object l = ps.convertArg("1", Long.TYPE);
+        final Object l = ps.convertArg("1", Long.TYPE);
         assertEquals("Should be a long", Long.valueOf(1), l);
 
-        Object b = ps.convertArg("true", Boolean.TYPE);
+        final Object b = ps.convertArg("true", Boolean.TYPE);
         assertEquals("Should be a boolean", Boolean.TRUE, b);
 
-        Object e = ps.convertArg("TWO", EnumTest.class);
+        final Object e = ps.convertArg("TWO", EnumTest.class);
         assertEquals("Should be an enum", EnumTest.TWO, e);
 
-        Object f = ps.convertArg("test.conf", File.class);
+        final Object f = ps.convertArg("test.conf", File.class);
         assertTrue("Should be a file", f instanceof File);
     }
 
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/discovery/MockDiscoveryListener.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/discovery/MockDiscoveryListener.java
index b779431..b5a5a42 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/discovery/MockDiscoveryListener.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/discovery/MockDiscoveryListener.java
@@ -37,7 +37,7 @@
      * @param service
      */
     @Override
-    public void addDiscoveredService( DiscoveredService service )
+    public void addDiscoveredService( final DiscoveredService service )
     {
         discoveredServices.add( service );
     }
@@ -48,7 +48,7 @@
      * @param service
      */
     @Override
-    public void removeDiscoveredService( DiscoveredService service )
+    public void removeDiscoveredService( final DiscoveredService service )
     {
         discoveredServices.remove( service );
     }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoverySenderUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoverySenderUnitTest.java
index 43295e0..2dfe576 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoverySenderUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoverySenderUnitTest.java
@@ -87,18 +87,18 @@
         throws Exception
     {
         // SETUP
-        ArrayList<String> cacheNames = new ArrayList<>();
+        final ArrayList<String> cacheNames = new ArrayList<>();
 
         // DO WORK
         sender.passiveBroadcast( SENDING_HOST, SENDING_PORT, cacheNames, 1L );
 
         // VERIFY
         // grab the sent message
-        Object obj = receiver.waitForMessage() ;
+        final Object obj = receiver.waitForMessage() ;
 
         assertTrue( "unexpected crap received", obj instanceof UDPDiscoveryMessage );
 
-        UDPDiscoveryMessage msg = (UDPDiscoveryMessage) obj;
+        final UDPDiscoveryMessage msg = (UDPDiscoveryMessage) obj;
         // disabled test because of JCS-89
         // assertEquals( "wrong host", SENDING_HOST, msg.getHost() );
         assertEquals( "wrong port", SENDING_PORT, msg.getPort() );
@@ -114,18 +114,18 @@
         throws Exception
     {
         // SETUP
-        ArrayList<String> cacheNames = new ArrayList<>();
+        final ArrayList<String> cacheNames = new ArrayList<>();
 
         // DO WORK
         sender.removeBroadcast( SENDING_HOST, SENDING_PORT, cacheNames, 1L );
 
         // VERIFY
         // grab the sent message
-        Object obj = receiver.waitForMessage();
+        final Object obj = receiver.waitForMessage();
 
         assertTrue( "unexpected crap received", obj instanceof UDPDiscoveryMessage );
 
-        UDPDiscoveryMessage msg = (UDPDiscoveryMessage) obj;
+        final UDPDiscoveryMessage msg = (UDPDiscoveryMessage) obj;
         // disabled test because of JCS-89
         // assertEquals( "wrong host", SENDING_HOST, msg.getHost() );
         assertEquals( "wrong port", SENDING_PORT, msg.getPort() );
@@ -145,11 +145,11 @@
 
         // VERIFY
         // grab the sent message
-        Object obj = receiver.waitForMessage();
+        final Object obj = receiver.waitForMessage();
 
         assertTrue( "unexpected crap received", obj instanceof UDPDiscoveryMessage );
 
-        UDPDiscoveryMessage msg = (UDPDiscoveryMessage) obj;
+        final UDPDiscoveryMessage msg = (UDPDiscoveryMessage) obj;
         assertEquals( "wrong message type", BroadcastType.REQUEST, msg.getMessageType() );
     }
 }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryServiceUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryServiceUnitTest.java
index 01191e3..bc3b979 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryServiceUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryServiceUnitTest.java
@@ -31,22 +31,22 @@
     public void testAddOrUpdateService_NotInList()
     {
         // SETUP
-        String host = "228.5.6.7";
-        int port = 6789;
-        UDPDiscoveryAttributes attributes = new UDPDiscoveryAttributes();
+        final String host = "228.5.6.7";
+        final int port = 6789;
+        final UDPDiscoveryAttributes attributes = new UDPDiscoveryAttributes();
         attributes.setUdpDiscoveryAddr( host );
         attributes.setUdpDiscoveryPort( port );
         attributes.setServicePort( 1000 );
 
         // create the service
-        UDPDiscoveryService service = new UDPDiscoveryService( attributes );
+        final UDPDiscoveryService service = new UDPDiscoveryService( attributes );
         service.startup();
         service.addParticipatingCacheName( "testCache1" );
 
-        MockDiscoveryListener discoveryListener = new MockDiscoveryListener();
+        final MockDiscoveryListener discoveryListener = new MockDiscoveryListener();
         service.addDiscoveryListener( discoveryListener );
 
-        DiscoveredService discoveredService = new DiscoveredService();
+        final DiscoveredService discoveredService = new DiscoveredService();
         discoveredService.setServiceAddress( host );
         discoveredService.setCacheNames( new ArrayList<>() );
         discoveredService.setServicePort( 1000 );
@@ -66,32 +66,32 @@
     public void testAddOrUpdateService_InList_NamesDoNotChange()
     {
         // SETUP
-        String host = "228.5.6.7";
-        int port = 6789;
-        UDPDiscoveryAttributes attributes = new UDPDiscoveryAttributes();
+        final String host = "228.5.6.7";
+        final int port = 6789;
+        final UDPDiscoveryAttributes attributes = new UDPDiscoveryAttributes();
         attributes.setUdpDiscoveryAddr( host );
         attributes.setUdpDiscoveryPort( port );
         attributes.setServicePort( 1000 );
 
         // create the service
-        UDPDiscoveryService service = new UDPDiscoveryService( attributes );
+        final UDPDiscoveryService service = new UDPDiscoveryService( attributes );
         service.startup();
         service.addParticipatingCacheName( "testCache1" );
 
-        MockDiscoveryListener discoveryListener = new MockDiscoveryListener();
+        final MockDiscoveryListener discoveryListener = new MockDiscoveryListener();
         service.addDiscoveryListener( discoveryListener );
 
-        ArrayList<String> sametCacheNames = new ArrayList<>();
+        final ArrayList<String> sametCacheNames = new ArrayList<>();
         sametCacheNames.add( "name1" );
 
-        DiscoveredService discoveredService = new DiscoveredService();
+        final DiscoveredService discoveredService = new DiscoveredService();
         discoveredService.setServiceAddress( host );
         discoveredService.setCacheNames( sametCacheNames );
         discoveredService.setServicePort( 1000 );
         discoveredService.setLastHearFromTime( 100 );
 
 
-        DiscoveredService discoveredService2 = new DiscoveredService();
+        final DiscoveredService discoveredService2 = new DiscoveredService();
         discoveredService2.setServiceAddress( host );
         discoveredService2.setCacheNames( sametCacheNames );
         discoveredService2.setServicePort( 1000 );
@@ -110,7 +110,7 @@
             .contains( discoveredService ) );
 
         // need to update the time this sucks. add has no effect convert to a map
-        for (DiscoveredService service1 : service.getDiscoveredServices())
+        for (final DiscoveredService service1 : service.getDiscoveredServices())
         {
             if ( discoveredService.equals( service1 ) )
             {
@@ -129,30 +129,30 @@
     public void testAddOrUpdateService_InList_NamesChange()
     {
         // SETUP
-        String host = "228.5.6.7";
-        int port = 6789;
-        UDPDiscoveryAttributes attributes = new UDPDiscoveryAttributes();
+        final String host = "228.5.6.7";
+        final int port = 6789;
+        final UDPDiscoveryAttributes attributes = new UDPDiscoveryAttributes();
         attributes.setUdpDiscoveryAddr( host );
         attributes.setUdpDiscoveryPort( port );
         attributes.setServicePort( 1000 );
 
         // create the service
-        UDPDiscoveryService service = new UDPDiscoveryService( attributes );
+        final UDPDiscoveryService service = new UDPDiscoveryService( attributes );
         service.startup();
         service.addParticipatingCacheName( "testCache1" );
 
-        MockDiscoveryListener discoveryListener = new MockDiscoveryListener();
+        final MockDiscoveryListener discoveryListener = new MockDiscoveryListener();
         service.addDiscoveryListener( discoveryListener );
 
-        DiscoveredService discoveredService = new DiscoveredService();
+        final DiscoveredService discoveredService = new DiscoveredService();
         discoveredService.setServiceAddress( host );
         discoveredService.setCacheNames( new ArrayList<>() );
         discoveredService.setServicePort( 1000 );
         discoveredService.setLastHearFromTime( 100 );
 
-        ArrayList<String> differentCacheNames = new ArrayList<>();
+        final ArrayList<String> differentCacheNames = new ArrayList<>();
         differentCacheNames.add( "name1" );
-        DiscoveredService discoveredService2 = new DiscoveredService();
+        final DiscoveredService discoveredService2 = new DiscoveredService();
         discoveredService2.setServiceAddress( host );
         discoveredService2.setCacheNames( differentCacheNames );
         discoveredService2.setServicePort( 1000 );
@@ -171,7 +171,7 @@
             .contains( discoveredService ) );
 
         // need to update the time this sucks. add has no effect convert to a map
-        for (DiscoveredService service1 : service.getDiscoveredServices())
+        for (final DiscoveredService service1 : service.getDiscoveredServices())
         {
             if ( discoveredService.equals( service1 ) )
             {
@@ -191,22 +191,22 @@
     public void testRemoveDiscoveredService()
     {
         // SETUP
-        String host = "228.5.6.7";
-        int port = 6789;
-        UDPDiscoveryAttributes attributes = new UDPDiscoveryAttributes();
+        final String host = "228.5.6.7";
+        final int port = 6789;
+        final UDPDiscoveryAttributes attributes = new UDPDiscoveryAttributes();
         attributes.setUdpDiscoveryAddr( host );
         attributes.setUdpDiscoveryPort( port );
         attributes.setServicePort( 1000 );
 
         // create the service
-        UDPDiscoveryService service = new UDPDiscoveryService( attributes );
+        final UDPDiscoveryService service = new UDPDiscoveryService( attributes );
         service.startup();
         service.addParticipatingCacheName( "testCache1" );
 
-        MockDiscoveryListener discoveryListener = new MockDiscoveryListener();
+        final MockDiscoveryListener discoveryListener = new MockDiscoveryListener();
         service.addDiscoveryListener( discoveryListener );
 
-        DiscoveredService discoveredService = new DiscoveredService();
+        final DiscoveredService discoveredService = new DiscoveredService();
         discoveredService.setServiceAddress( host );
         discoveredService.setCacheNames( new ArrayList<>() );
         discoveredService.setServicePort( 1000 );
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryUnitTest.java
index c055b35..571e4fb 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryUnitTest.java
@@ -37,37 +37,37 @@
     public void testSimpleUDPDiscovery()
         throws Exception
     {
-        UDPDiscoveryAttributes attributes = new UDPDiscoveryAttributes();
+        final UDPDiscoveryAttributes attributes = new UDPDiscoveryAttributes();
         attributes.setUdpDiscoveryAddr( /*"FF7E:230::1234"*/ "228.5.6.7" );
         attributes.setUdpDiscoveryPort( 6789 );
         attributes.setServicePort( 1000 );
 
         // create the service
-        UDPDiscoveryService service = new UDPDiscoveryService( attributes );
+        final UDPDiscoveryService service = new UDPDiscoveryService( attributes );
         service.startup();
         service.addParticipatingCacheName( "testCache1" );
 
-        MockDiscoveryListener discoveryListener = new MockDiscoveryListener();
+        final MockDiscoveryListener discoveryListener = new MockDiscoveryListener();
         service.addDiscoveryListener( discoveryListener );
 
         // create a receiver with the service
-        UDPDiscoveryReceiver receiver = new UDPDiscoveryReceiver( service,
+        final UDPDiscoveryReceiver receiver = new UDPDiscoveryReceiver( service,
                 null,
                 attributes.getUdpDiscoveryAddr(),
                 attributes.getUdpDiscoveryPort() );
-        Thread t = new Thread( receiver );
+        final Thread t = new Thread( receiver );
         t.start();
 
         // create a sender
-        UDPDiscoverySender sender = new UDPDiscoverySender(
+        final UDPDiscoverySender sender = new UDPDiscoverySender(
                 attributes.getUdpDiscoveryAddr(),
                 attributes.getUdpDiscoveryPort(),
                 4 /* datagram TTL */);
 
         // create more names than we have no wait facades for
         // the only one that gets added should be testCache1
-        ArrayList<String> cacheNames = new ArrayList<>();
-        int numJunk = 10;
+        final ArrayList<String> cacheNames = new ArrayList<>();
+        final int numJunk = 10;
         for ( int i = 0; i < numJunk; i++ )
         {
             cacheNames.add( "junkCacheName" + i );
@@ -75,7 +75,7 @@
         cacheNames.add( "testCache1" );
 
         // send max messages
-        int max = 10;
+        final int max = 10;
         int cnt = 0;
         for ( ; cnt < max; cnt++ )
         {
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/net/HostNameUtilUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/net/HostNameUtilUnitTest.java
index 15ad160..bb46744 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/net/HostNameUtilUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/net/HostNameUtilUnitTest.java
@@ -35,7 +35,7 @@
     public void testGetLocalHostAddress_Simple() throws UnknownHostException
     {
         // DO WORK
-        String result = HostNameUtil.getLocalHostAddress();
+        final String result = HostNameUtil.getLocalHostAddress();
 
         // VERIFY
         //System.out.print( result );
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/props/PropertyLoader.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/props/PropertyLoader.java
index 805cd80..82d88ad 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/props/PropertyLoader.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/props/PropertyLoader.java
@@ -80,7 +80,7 @@
      *             if the resource was not found and THROW_ON_LOAD_FAILURE is
      *             true
      */
-    public static Properties loadProperties( String name, ClassLoader loader )
+    public static Properties loadProperties( final String name, final ClassLoader loader )
     {
         boolean isCCFSuffix = true;
 
@@ -89,7 +89,7 @@
             throw new IllegalArgumentException( "null input: name" );
         }
 
-        ClassLoader classLoader = ( loader == null ) ? ClassLoader.getSystemClassLoader() : loader;
+        final ClassLoader classLoader = ( loader == null ) ? ClassLoader.getSystemClassLoader() : loader;
 
         String fileName = name.startsWith( "/" ) ? name.substring( 1 ) : name;
 
@@ -122,7 +122,7 @@
             result = new Properties();
             result.load( in ); // can throw IOException
         }
-        catch ( IOException e )
+        catch ( final IOException e )
         {
             result = null;
         }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/serialization/CompressingSerializerUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/serialization/CompressingSerializerUnitTest.java
index accf958..e1927ae 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/serialization/CompressingSerializerUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/serialization/CompressingSerializerUnitTest.java
@@ -39,10 +39,10 @@
         throws IOException, ClassNotFoundException
     {
         // SETUP
-        CompressingSerializer serializer = new CompressingSerializer();
+        final CompressingSerializer serializer = new CompressingSerializer();
 
         // DO WORK
-        Object result = serializer.deSerialize( null, null );
+        final Object result = serializer.deSerialize( null, null );
 
         // VERIFY
         assertNull( "Should have nothing.", result );
@@ -59,11 +59,11 @@
         throws Exception
     {
         // SETUP
-        CompressingSerializer serializer = new CompressingSerializer();
+        final CompressingSerializer serializer = new CompressingSerializer();
 
         // DO WORK
-        String before = "adsfdsafdsafdsafdsafdsafdsafdsagfdsafdsafdsfdsafdsafsa333 31231";
-        String after = (String) serializer.deSerialize( serializer.serialize( before ), null );
+        final String before = "adsfdsafdsafdsafdsafdsafdsafdsagfdsafdsafdsfdsafdsafsa333 31231";
+        final String after = (String) serializer.deSerialize( serializer.serialize( before ), null );
 
         // VERIFY
         assertEquals( "Before and after should be the same.", before, after );
@@ -78,13 +78,13 @@
         throws Exception
     {
         // SETUP
-        CompressingSerializer serializer = new CompressingSerializer();
+        final CompressingSerializer serializer = new CompressingSerializer();
 
-        String before = null;
+        final String before = null;
 
         // DO WORK
-        byte[] serialized = serializer.serialize( before );
-        String after = (String) serializer.deSerialize( serialized, null );
+        final byte[] serialized = serializer.serialize( before );
+        final String after = (String) serializer.deSerialize( serialized, null );
 
         // VERIFY
         assertNull( "Should have nothing. after =" + after, after );
@@ -99,18 +99,18 @@
         throws Exception
     {
         // SETUP
-        CompressingSerializer serializer = new CompressingSerializer();
+        final CompressingSerializer serializer = new CompressingSerializer();
 
         // I hate for loops.
-        String before = "adsfdsafdsafdsafdsafdsafdsafdsagfdsafdsafdssaf dsaf sadf dsaf dsaf dsaf "
+        final String before = "adsfdsafdsafdsafdsafdsafdsafdsagfdsafdsafdssaf dsaf sadf dsaf dsaf dsaf "
             + "dsafdsa fdsaf dsaf dsafdsa dsaf dsaf dsaf dsaf dsafdsa76f dsa798f dsa6fdsa 087f  "
             + "gh 987dsahb dsahbuhbfnui nufdsa hbv87 f8vhdsgbnfv h8fdg8dfjvn8fdwgj fdsgjb9fdsjbv"
             + "jvhjv hg98f-dsaghj j9fdsb gfsb 9fdshjbgb987fdsbfdwgh ujbhjbhb hbfdsgh fdshb "
             + "Ofdsgyfesgyfdsafdsafsa333 31231";
 
         // DO WORK
-        byte[] compressed = serializer.serialize( before );
-        byte[] nonCompressed = new StandardSerializer().serialize( before );
+        final byte[] compressed = serializer.serialize( before );
+        final byte[] nonCompressed = new StandardSerializer().serialize( before );
 
         // VERIFY
         assertTrue( "Compressed should be smaller. compressed size = " + compressed.length + "nonCompressed size = "
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/serialization/SerializationConversionUtilUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/serialization/SerializationConversionUtilUnitTest.java
index 92c0069..a6d6ac2 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/serialization/SerializationConversionUtilUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/serialization/SerializationConversionUtilUnitTest.java
@@ -47,11 +47,11 @@
         throws IOException
     {
         // SETUP
-        IElementSerializer elementSerializer = new StandardSerializer();
-        ICacheElement<String, String> before = null;
+        final IElementSerializer elementSerializer = new StandardSerializer();
+        final ICacheElement<String, String> before = null;
 
         // DO WORK
-        ICacheElementSerialized<String, String> result =
+        final ICacheElementSerialized<String, String> result =
             SerializationConversionUtil.getSerializedCacheElement( before, elementSerializer );
 
         // VERIFY
@@ -67,11 +67,11 @@
         throws Exception
     {
         // SETUP
-        IElementSerializer elementSerializer = new StandardSerializer();
-        ICacheElementSerialized<String, String> before = null;
+        final IElementSerializer elementSerializer = new StandardSerializer();
+        final ICacheElementSerialized<String, String> before = null;
 
         // DO WORK
-        ICacheElement<String, String> result =
+        final ICacheElement<String, String> result =
             SerializationConversionUtil.getDeSerializedCacheElement( before, elementSerializer );
 
         // VERIFY
@@ -87,27 +87,27 @@
         throws Exception
     {
         // SETUP
-        String cacheName = "testName";
-        String key = "key";
-        String value = "value fdsadf dsafdsa fdsaf dsafdsaf dsafdsaf dsaf dsaf dsaf dsafa dsaf dsaf dsafdsaf";
+        final String cacheName = "testName";
+        final String key = "key";
+        final String value = "value fdsadf dsafdsa fdsaf dsafdsaf dsafdsaf dsaf dsaf dsaf dsafa dsaf dsaf dsafdsaf";
 
-        IElementSerializer elementSerializer = new StandardSerializer();
+        final IElementSerializer elementSerializer = new StandardSerializer();
 
-        IElementAttributes attr = new ElementAttributes();
+        final IElementAttributes attr = new ElementAttributes();
         attr.setMaxLife(34);
 
-        ICacheElement<String, String> before = new CacheElement<>( cacheName, key, value );
+        final ICacheElement<String, String> before = new CacheElement<>( cacheName, key, value );
         before.setElementAttributes( attr );
 
         // DO WORK
-        ICacheElementSerialized<String, String> serialized =
+        final ICacheElementSerialized<String, String> serialized =
             SerializationConversionUtil.getSerializedCacheElement( before, elementSerializer );
 
         // VERIFY
         assertNotNull( "Should have a serialized object.", serialized );
 
         // DO WORK
-        ICacheElement<String, String> after =
+        final ICacheElement<String, String> after =
             SerializationConversionUtil.getDeSerializedCacheElement( serialized, elementSerializer );
 
         // VERIFY
@@ -128,29 +128,29 @@
         throws Exception
     {
         // SETUP
-        String cacheName = "testName";
-        String key = "key";
-        String value = "value fdsadf dsafdsa fdsaf dsafdsaf dsafdsaf dsaf dsaf dsaf dsafa dsaf dsaf dsafdsaf";
+        final String cacheName = "testName";
+        final String key = "key";
+        final String value = "value fdsadf dsafdsa fdsaf dsafdsaf dsafdsaf dsaf dsaf dsaf dsafa dsaf dsaf dsafdsaf";
 
-        IElementSerializer elementSerializer = new StandardSerializer();
+        final IElementSerializer elementSerializer = new StandardSerializer();
 
-        IElementAttributes attr = new ElementAttributes();
+        final IElementAttributes attr = new ElementAttributes();
         attr.setMaxLife(34);
 
-        ICacheElement<String, String> before = new CacheElement<>( cacheName, key, value );
+        final ICacheElement<String, String> before = new CacheElement<>( cacheName, key, value );
         before.setElementAttributes( attr );
 
         // DO WORK
-        ICacheElementSerialized<String, String> alreadySerialized =
+        final ICacheElementSerialized<String, String> alreadySerialized =
             SerializationConversionUtil.getSerializedCacheElement( before, elementSerializer );
-        ICacheElementSerialized<String, String> serialized =
+        final ICacheElementSerialized<String, String> serialized =
             SerializationConversionUtil.getSerializedCacheElement( alreadySerialized, elementSerializer );
 
         // VERIFY
         assertNotNull( "Should have a serialized object.", serialized );
 
         // DO WORK
-        ICacheElement<String, String> after =
+        final ICacheElement<String, String> after =
             SerializationConversionUtil.getDeSerializedCacheElement( serialized, elementSerializer );
 
         // VERIFY
@@ -168,16 +168,16 @@
     public void testNullSerializerConversion()
     {
         // SETUP
-        String cacheName = "testName";
-        String key = "key";
-        String value = "value fdsadf dsafdsa fdsaf dsafdsaf dsafdsaf dsaf dsaf dsaf dsafa dsaf dsaf dsafdsaf";
+        final String cacheName = "testName";
+        final String key = "key";
+        final String value = "value fdsadf dsafdsa fdsaf dsafdsaf dsafdsaf dsaf dsaf dsaf dsafa dsaf dsaf dsafdsaf";
 
-        IElementSerializer elementSerializer = null;// new StandardSerializer();
+        final IElementSerializer elementSerializer = null;// new StandardSerializer();
 
-        IElementAttributes attr = new ElementAttributes();
+        final IElementAttributes attr = new ElementAttributes();
         attr.setMaxLife(34);
 
-        ICacheElement<String, String> before = new CacheElement<>( cacheName, key, value );
+        final ICacheElement<String, String> before = new CacheElement<>( cacheName, key, value );
         before.setElementAttributes( attr );
 
         // DO WORK
@@ -188,7 +188,7 @@
             // VERIFY
             fail( "We should have received an IOException." );
         }
-        catch ( IOException e )
+        catch ( final IOException e )
         {
             // expected
         }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/serialization/StandardSerializerUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/serialization/StandardSerializerUnitTest.java
index 1b73a7a..915fb0e 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/serialization/StandardSerializerUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/serialization/StandardSerializerUnitTest.java
@@ -40,12 +40,12 @@
         throws Exception
     {
         // SETUP
-        StandardSerializer serializer = new StandardSerializer();
+        final StandardSerializer serializer = new StandardSerializer();
 
-        String before = "adsfdsafdsafdsafdsafdsafdsafdsagfdsafdsafdsfdsafdsafsa333 31231";
+        final String before = "adsfdsafdsafdsafdsafdsafdsafdsagfdsafdsafdsfdsafdsafsa333 31231";
 
         // DO WORK
-        String after = (String) serializer.deSerialize( serializer.serialize( before ), null );
+        final String after = (String) serializer.deSerialize( serializer.serialize( before ), null );
 
         // VERIFY
         assertEquals( "Before and after should be the same.", before, after );
@@ -60,15 +60,15 @@
         throws Exception
     {
         // SETUP
-        StandardSerializer serializer = new StandardSerializer();
+        final StandardSerializer serializer = new StandardSerializer();
 
-        String before = null;
+        final String before = null;
 
         // DO WORK
-        byte[] serialized = serializer.serialize( before );
+        final byte[] serialized = serializer.serialize( before );
         //System.out.println( "testNullInput " + serialized );
 
-        String after = (String) serializer.deSerialize( serialized, null );
+        final String after = (String) serializer.deSerialize( serialized, null );
         //System.out.println( "testNullInput " + after );
 
         // VERIFY
@@ -84,19 +84,19 @@
         throws Exception
     {
         // SETUP
-        StandardSerializer serializer = new StandardSerializer();
+        final StandardSerializer serializer = new StandardSerializer();
 
-        String string = "This is my big string ABCDEFGH";
-        StringBuilder sb = new StringBuilder();
+        final String string = "This is my big string ABCDEFGH";
+        final StringBuilder sb = new StringBuilder();
         sb.append( string );
         for ( int i = 0; i < 4; i++ )
         {
             sb.append( " " + i + sb.toString() ); // big string
         }
-        String before = sb.toString();
+        final String before = sb.toString();
 
         // DO WORK
-        String after = (String) serializer.deSerialize( serializer.serialize( before ), null );
+        final String after = (String) serializer.deSerialize( serializer.serialize( before ), null );
 
         // VERIFY
         assertEquals( "Before and after should be the same.", before, after );
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/struct/DoubleLinkedListDumpUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/struct/DoubleLinkedListDumpUnitTest.java
index 3664ece..9cf9604 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/struct/DoubleLinkedListDumpUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/struct/DoubleLinkedListDumpUnitTest.java
@@ -34,23 +34,23 @@
     public void testDumpEntries_DebugTrue()
     {
         // SETUP
-        StringWriter stringWriter = new StringWriter();
+        final StringWriter stringWriter = new StringWriter();
         TestLogConfigurationUtil.configureLogger( stringWriter, DoubleLinkedList.class.getName() );
 
-        DoubleLinkedList<DoubleLinkedListNode<String>> list = new DoubleLinkedList<>();
+        final DoubleLinkedList<DoubleLinkedListNode<String>> list = new DoubleLinkedList<>();
 
-        String payload1 = "payload1";
-        DoubleLinkedListNode<String> node1 = new DoubleLinkedListNode<>( payload1 );
+        final String payload1 = "payload1";
+        final DoubleLinkedListNode<String> node1 = new DoubleLinkedListNode<>( payload1 );
 
-        String payload2 = "payload2";
-        DoubleLinkedListNode<String> node2 = new DoubleLinkedListNode<>( payload2 );
+        final String payload2 = "payload2";
+        final DoubleLinkedListNode<String> node2 = new DoubleLinkedListNode<>( payload2 );
 
         list.addLast( node1 );
         list.addLast( node2 );
         list.debugDumpEntries();
 
         // WO WORK
-        String result = stringWriter.toString();
+        final String result = stringWriter.toString();
 
         // VERIFY
         assertTrue( "Missing node in log dump", result.indexOf( payload1 ) != -1 );
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/struct/DoubleLinkedListUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/struct/DoubleLinkedListUnitTest.java
index 23408d3..7b44e0e 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/struct/DoubleLinkedListUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/struct/DoubleLinkedListUnitTest.java
@@ -31,10 +31,10 @@
     public void testAddLast_Empty()
     {
         // SETUP
-        DoubleLinkedList<DoubleLinkedListNode<String>> list = new DoubleLinkedList<>();
+        final DoubleLinkedList<DoubleLinkedListNode<String>> list = new DoubleLinkedList<>();
 
-        String payload1 = "payload1";
-        DoubleLinkedListNode<String> node1 = new DoubleLinkedListNode<>( payload1 );
+        final String payload1 = "payload1";
+        final DoubleLinkedListNode<String> node1 = new DoubleLinkedListNode<>( payload1 );
 
         // WO WORK
         list.addLast( node1 );
@@ -47,13 +47,13 @@
     public void testAddLast_NotEmpty()
     {
         // SETUP
-        DoubleLinkedList<DoubleLinkedListNode<String>> list = new DoubleLinkedList<>();
+        final DoubleLinkedList<DoubleLinkedListNode<String>> list = new DoubleLinkedList<>();
 
-        String payload1 = "payload1";
-        DoubleLinkedListNode<String> node1 = new DoubleLinkedListNode<>( payload1 );
+        final String payload1 = "payload1";
+        final DoubleLinkedListNode<String> node1 = new DoubleLinkedListNode<>( payload1 );
 
-        String payload2 = "payload2";
-        DoubleLinkedListNode<String> node2 = new DoubleLinkedListNode<>( payload2 );
+        final String payload2 = "payload2";
+        final DoubleLinkedListNode<String> node2 = new DoubleLinkedListNode<>( payload2 );
 
         // WO WORK
         list.addLast( node1 );
@@ -67,13 +67,13 @@
     public void testMakeLast_wasFirst()
     {
         // SETUP
-        DoubleLinkedList<DoubleLinkedListNode<String>> list = new DoubleLinkedList<>();
+        final DoubleLinkedList<DoubleLinkedListNode<String>> list = new DoubleLinkedList<>();
 
-        String payload1 = "payload1";
-        DoubleLinkedListNode<String> node1 = new DoubleLinkedListNode<>( payload1 );
+        final String payload1 = "payload1";
+        final DoubleLinkedListNode<String> node1 = new DoubleLinkedListNode<>( payload1 );
 
-        String payload2 = "payload2";
-        DoubleLinkedListNode<String> node2 = new DoubleLinkedListNode<>( payload2 );
+        final String payload2 = "payload2";
+        final DoubleLinkedListNode<String> node2 = new DoubleLinkedListNode<>( payload2 );
 
         list.addFirst( node2 );
         list.addFirst(  node1 );
@@ -91,13 +91,13 @@
     public void testMakeLast_wasLast()
     {
         // SETUP
-        DoubleLinkedList<DoubleLinkedListNode<String>> list = new DoubleLinkedList<>();
+        final DoubleLinkedList<DoubleLinkedListNode<String>> list = new DoubleLinkedList<>();
 
-        String payload1 = "payload1";
-        DoubleLinkedListNode<String> node1 = new DoubleLinkedListNode<>( payload1 );
+        final String payload1 = "payload1";
+        final DoubleLinkedListNode<String> node1 = new DoubleLinkedListNode<>( payload1 );
 
-        String payload2 = "payload2";
-        DoubleLinkedListNode<String> node2 = new DoubleLinkedListNode<>( payload2 );
+        final String payload2 = "payload2";
+        final DoubleLinkedListNode<String> node2 = new DoubleLinkedListNode<>( payload2 );
 
         list.addFirst( node1 );
         list.addFirst(  node2 );
@@ -115,10 +115,10 @@
     public void testMakeLast_wasAlone()
     {
         // SETUP
-        DoubleLinkedList<DoubleLinkedListNode<String>> list = new DoubleLinkedList<>();
+        final DoubleLinkedList<DoubleLinkedListNode<String>> list = new DoubleLinkedList<>();
 
-        String payload1 = "payload1";
-        DoubleLinkedListNode<String> node1 = new DoubleLinkedListNode<>( payload1 );
+        final String payload1 = "payload1";
+        final DoubleLinkedListNode<String> node1 = new DoubleLinkedListNode<>( payload1 );
 
         list.addFirst( node1 );
 
@@ -135,16 +135,16 @@
     public void testMakeLast_wasInMiddle()
     {
         // SETUP
-        DoubleLinkedList<DoubleLinkedListNode<String>> list = new DoubleLinkedList<>();
+        final DoubleLinkedList<DoubleLinkedListNode<String>> list = new DoubleLinkedList<>();
 
-        String payload1 = "payload1";
-        DoubleLinkedListNode<String> node1 = new DoubleLinkedListNode<>( payload1 );
+        final String payload1 = "payload1";
+        final DoubleLinkedListNode<String> node1 = new DoubleLinkedListNode<>( payload1 );
 
-        String payload2 = "payload2";
-        DoubleLinkedListNode<String> node2 = new DoubleLinkedListNode<>( payload2 );
+        final String payload2 = "payload2";
+        final DoubleLinkedListNode<String> node2 = new DoubleLinkedListNode<>( payload2 );
 
-        String payload3 = "payload3";
-        DoubleLinkedListNode<String> node3 = new DoubleLinkedListNode<>( payload3 );
+        final String payload3 = "payload3";
+        final DoubleLinkedListNode<String> node3 = new DoubleLinkedListNode<>( payload3 );
 
         list.addFirst( node2 );
         list.addFirst(  node1 );
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/struct/JCSvsCommonsLRUMapPerformanceTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/struct/JCSvsCommonsLRUMapPerformanceTest.java
index 5a86a20..4b52ccc 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/struct/JCSvsCommonsLRUMapPerformanceTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/struct/JCSvsCommonsLRUMapPerformanceTest.java
@@ -57,7 +57,7 @@
     public void testSimpleLoad()
         throws Exception
     {
-        Log log = LogManager.getLog( LRUMap.class );
+        final Log log = LogManager.getLog( LRUMap.class );
         if ( log.isDebugEnabled() )
         {
             System.out.println( "The log level must be at info or above for the a performance test." );
@@ -89,7 +89,7 @@
 
         try
         {
-            Map<String, String> cache = new LRUMap<>( tries );
+            final Map<String, String> cache = new LRUMap<>( tries );
 
             for ( int j = 0; j < loops; j++ )
             {
@@ -119,7 +119,7 @@
                 // /////////////////////////////////////////////////////////////
                 cache2Name = "Commons  ";
                 // or LRUMapJCS
-                Map<String, String> cache2 = new org.apache.commons.collections4.map.LRUMap<>( tries );
+                final Map<String, String> cache2 = new org.apache.commons.collections4.map.LRUMap<>( tries );
                 // cache2Name = "Hashtable";
                 // Hashtable cache2 = new Hashtable();
                 start = System.currentTimeMillis();
@@ -148,16 +148,16 @@
             }
 
         }
-        catch ( Exception e )
+        catch ( final Exception e )
         {
             e.printStackTrace( System.out );
             System.out.println( e );
         }
 
-        long putAvJCS = putTotalJCS / loops;
-        long getAvJCS = getTotalJCS / loops;
-        long putAvHashtable = putTotalHashtable / loops;
-        long getAvHashtable = getTotalHashtable / loops;
+        final long putAvJCS = putTotalJCS / loops;
+        final long getAvJCS = getTotalJCS / loops;
+        final long putAvHashtable = putTotalHashtable / loops;
+        final long getAvHashtable = getTotalHashtable / loops;
 
         System.out.println( "Finished " + loops + " loops of " + tries + " gets and puts" );
 
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/struct/LRUMapConcurrentUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/struct/LRUMapConcurrentUnitTest.java
index 7e95479..3140a31 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/struct/LRUMapConcurrentUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/struct/LRUMapConcurrentUnitTest.java
@@ -62,7 +62,7 @@
      * @param testName
      *            Description of the Parameter
      */
-    public LRUMapConcurrentUnitTest( String testName )
+    public LRUMapConcurrentUnitTest( final String testName )
     {
         super( testName );
     }
@@ -75,7 +75,7 @@
     public static Test suite()
     {
         // run the basic tests
-        TestSuite suite = new TestSuite( LRUMapConcurrentUnitTest.class );
+        final TestSuite suite = new TestSuite( LRUMapConcurrentUnitTest.class );
 
         // run concurrent tests
         final LRUMap<String, String> map = new LRUMap<>( 2000 );
@@ -141,7 +141,7 @@
     public void testSimpleLoad()
         throws Exception
     {
-        LRUMap<String, String> map = new LRUMap<>( items );
+        final LRUMap<String, String> map = new LRUMap<>( items );
 
         for ( int i = 0; i < items; i++ )
         {
@@ -150,7 +150,7 @@
 
         for ( int i = items - 1; i >= 0; i-- )
         {
-            String res = map.get( i + ":key" );
+            final String res = map.get( i + ":key" );
             assertNotNull( "[" + i + ":key] should not be null", res );
         }
 
@@ -169,8 +169,8 @@
     public void testLRURemoval()
         throws Exception
     {
-        int total = 10;
-        LRUMap<String, String> map = new LRUMap<>( total );
+        final int total = 10;
+        final LRUMap<String, String> map = new LRUMap<>( total );
 
         // put the max in
         for ( int i = 0; i < total; i++ )
@@ -178,7 +178,7 @@
             map.put( i + ":key", "data" + i );
         }
 
-        Iterator<?> it = map.entrySet().iterator();
+        final Iterator<?> it = map.entrySet().iterator();
         while ( it.hasNext() )
         {
             assertNotNull( it.next() );
@@ -188,7 +188,7 @@
         // get the max out backwards
         for ( int i = total - 1; i >= 0; i-- )
         {
-            String res = map.get( i + ":key" );
+            final String res = map.get( i + ":key" );
             assertNotNull( "[" + i + ":key] should not be null", res );
         }
 
@@ -207,8 +207,8 @@
     public void testLRURemovalAgain()
         throws Exception
     {
-        int total = 10000;
-        LRUMap<String, String> map = new LRUMap<>( total );
+        final int total = 10000;
+        final LRUMap<String, String> map = new LRUMap<>( total );
 
         // put the max in
         for ( int i = 0; i < total * 2; i++ )
@@ -225,7 +225,7 @@
         // get the total to total *2 items out, these should be found.
         for ( int i = ( total * 2 ) - 1; i >= total; i-- )
         {
-            String res = map.get( i + ":key" );
+            final String res = map.get( i + ":key" );
             assertNotNull( "[" + i + ":key] should not be null", res );
         }
 
@@ -239,7 +239,7 @@
      * @param items
      * @throws Exception
      */
-    public void runConcurrentPutGetTests( LRUMap<String, String> map, int items )
+    public void runConcurrentPutGetTests( final LRUMap<String, String> map, final int items )
         throws Exception
     {
         for ( int i = 0; i < items; i++ )
@@ -249,7 +249,7 @@
 
         for ( int i = items - 1; i >= 0; i-- )
         {
-            String res = map.get( i + ":key" );
+            final String res = map.get( i + ":key" );
             assertNotNull( "[" + i + ":key] should not be null", res );
         }
     }
@@ -263,7 +263,7 @@
      * @param end
      * @throws Exception
      */
-    public void runConcurrentRangeTests( LRUMap<String, String> map, int start, int end )
+    public void runConcurrentRangeTests( final LRUMap<String, String> map, final int start, final int end )
         throws Exception
     {
         for ( int i = start; i < end; i++ )
@@ -273,7 +273,7 @@
 
         for ( int i = end - 1; i >= start; i-- )
         {
-            String res = map.get( i + ":key" );
+            final String res = map.get( i + ":key" );
             assertNotNull( "[" + i + ":key] should not be null", res );
         }
 
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/struct/LRUMapPerformanceTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/struct/LRUMapPerformanceTest.java
index a03f2f0..db29f2e 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/struct/LRUMapPerformanceTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/struct/LRUMapPerformanceTest.java
@@ -85,7 +85,7 @@
 
         try
         {
-            LRUMap<String, String> cache = new LRUMap<>( tries );
+            final LRUMap<String, String> cache = new LRUMap<>( tries );
 
             for ( int j = 0; j < loops; j++ )
             {
@@ -115,7 +115,7 @@
                 ///////////////////////////////////////////////////////////////
                 cache2Name = "LRUMap (commons)";
                 //or LRUMapJCS
-                Map<String, String> cache2 = new org.apache.commons.collections4.map.LRUMap<>( tries );
+                final Map<String, String> cache2 = new org.apache.commons.collections4.map.LRUMap<>( tries );
 //                Map<String, String> cache2 = new ConcurrentLinkedHashMap.Builder<String, String>()
 //                        .maximumWeightedCapacity( tries )
 //                        .build();
@@ -146,16 +146,16 @@
                 System.out.println( "\n" );
             }
         }
-        catch ( Exception e )
+        catch ( final Exception e )
         {
             e.printStackTrace( System.out );
             System.out.println( e );
         }
 
-        long putAvJCS = putTotalJCS / loops;
-        long getAvJCS = getTotalJCS / loops;
-        long putAvHashtable = putTotalHashtable / loops;
-        long getAvHashtable = getTotalHashtable / loops;
+        final long putAvJCS = putTotalJCS / loops;
+        final long getAvJCS = getTotalJCS / loops;
+        final long putAvHashtable = putTotalHashtable / loops;
+        final long getAvHashtable = getTotalHashtable / loops;
 
         System.out.println( "Finished " + loops + " loops of " + tries + " gets and puts" );
 
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/struct/LRUMapUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/struct/LRUMapUnitTest.java
index 664cd02..8beb30e 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/struct/LRUMapUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/struct/LRUMapUnitTest.java
@@ -42,8 +42,8 @@
      */
     public void testPutWithSizeLimit()
     {
-        int size = 10;
-        Map<String, String> cache = new LRUMap<>( size );
+        final int size = 10;
+        final Map<String, String> cache = new LRUMap<>( size );
 
         for ( int i = 0; i < size; i++ )
         {
@@ -52,7 +52,7 @@
 
         for ( int i = 0; i < size; i++ )
         {
-            String data = cache.get( "key:" + i );
+            final String data = cache.get( "key:" + i );
             assertEquals( "Data is wrong.", "data:" + i, data );
         }
     }
@@ -63,8 +63,8 @@
      */
     public void testPutWithNoSizeLimit()
     {
-        int size = 10;
-        Map<String, String> cache = new LRUMap<>( );
+        final int size = 10;
+        final Map<String, String> cache = new LRUMap<>( );
 
         for ( int i = 0; i < size; i++ )
         {
@@ -73,7 +73,7 @@
 
         for ( int i = 0; i < size; i++ )
         {
-            String data = cache.get( "key:" + i );
+            final String data = cache.get( "key:" + i );
             assertEquals( "Data is wrong.", "data:" + i, data );
         }
     }
@@ -84,11 +84,11 @@
      */
     public void testPutAndRemove()
     {
-        int size = 10;
-        Map<String, String> cache = new LRUMap<>( size );
+        final int size = 10;
+        final Map<String, String> cache = new LRUMap<>( size );
 
         cache.put( "key:" + 1, "data:" + 1 );
-        String data = cache.remove( "key:" + 1 );
+        final String data = cache.remove( "key:" + 1 );
         assertEquals( "Data is wrong.", "data:" + 1, data );
     }
 
@@ -98,10 +98,10 @@
      */
     public void testRemoveEmpty()
     {
-        int size = 10;
-        Map<String, String> cache = new LRUMap<>( size );
+        final int size = 10;
+        final Map<String, String> cache = new LRUMap<>( size );
 
-        Object returned = cache.remove( "key:" + 1 );
+        final Object returned = cache.remove( "key:" + 1 );
         assertNull( "Shouldn't hvae anything.", returned );
     }
 
@@ -112,19 +112,19 @@
      */
     public void testGetEntrySet()
     {
-        int size = 10;
-        Map<String, String> cache = new LRUMap<>( size );
+        final int size = 10;
+        final Map<String, String> cache = new LRUMap<>( size );
 
         for ( int i = 0; i < size; i++ )
         {
             cache.put( "key:" + i, "data:" + i );
         }
 
-        Set<Entry<String, String>> entries = cache.entrySet();
+        final Set<Entry<String, String>> entries = cache.entrySet();
         assertEquals( "Set contains the wrong number of items.", size, entries.size() );
 
         // check minimal correctness
-        for (Entry<String, String> data : entries)
+        for (final Entry<String, String> data : entries)
         {
             assertTrue( "Data is wrong.", data.getValue().indexOf( "data:") != -1  );
         }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/threadpool/ThreadPoolManagerUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/threadpool/ThreadPoolManagerUnitTest.java
index 4988f36..6871588 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/threadpool/ThreadPoolManagerUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/threadpool/ThreadPoolManagerUnitTest.java
@@ -41,12 +41,12 @@
      */
     public void testDefaultConfig()
     {
-        Properties props = PropertyLoader.loadProperties( "thread_pool.properties" );
+        final Properties props = PropertyLoader.loadProperties( "thread_pool.properties" );
         ThreadPoolManager.setProps( props );
-        ThreadPoolManager mgr = ThreadPoolManager.getInstance();
+        final ThreadPoolManager mgr = ThreadPoolManager.getInstance();
         assertNotNull( mgr );
 
-        ExecutorService pool = mgr.getExecutorService( "test1" );
+        final ExecutorService pool = mgr.getExecutorService( "test1" );
         assertNotNull( pool );
     }
 
@@ -55,12 +55,12 @@
      */
     public void testSpecialConfig()
     {
-        Properties props = PropertyLoader.loadProperties( "thread_pool.properties" );
+        final Properties props = PropertyLoader.loadProperties( "thread_pool.properties" );
         ThreadPoolManager.setProps( props );
-        ThreadPoolManager mgr = ThreadPoolManager.getInstance();
+        final ThreadPoolManager mgr = ThreadPoolManager.getInstance();
         assertNotNull( mgr );
 
-        ExecutorService pool = mgr.getExecutorService( "aborttest" );
+        final ExecutorService pool = mgr.getExecutorService( "aborttest" );
         assertNotNull( pool );
     }
 
@@ -70,16 +70,16 @@
      */
     public void testGetPoolNames()
     {
-        ThreadPoolManager mgr = ThreadPoolManager.getInstance();
+        final ThreadPoolManager mgr = ThreadPoolManager.getInstance();
         assertNotNull( mgr );
 
-        String poolName1 = "testGetPoolNames1";
+        final String poolName1 = "testGetPoolNames1";
         mgr.getExecutorService( poolName1 );
 
-        String poolName2 = "testGetPoolNames2";
+        final String poolName2 = "testGetPoolNames2";
         mgr.getExecutorService( poolName2 );
 
-        Set<String> names = mgr.getPoolNames();
+        final Set<String> names = mgr.getPoolNames();
         assertTrue( "Should have name in list.", names.contains( poolName1 ) );
         assertTrue( "Should have name in list.", names.contains( poolName2 ) );
     }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/timing/SleepUtil.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/timing/SleepUtil.java
index fdacaa4..5d30254 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/timing/SleepUtil.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/timing/SleepUtil.java
@@ -31,9 +31,9 @@
      * <p>
      * @param milliseconds the number of milliseconds to sleep
      */
-    public static void sleepAtLeast( long milliseconds )
+    public static void sleepAtLeast( final long milliseconds )
     {
-        long endTime = System.currentTimeMillis() + milliseconds;
+        final long endTime = System.currentTimeMillis() + milliseconds;
 
         while ( System.currentTimeMillis() <= endTime )
         {
@@ -41,7 +41,7 @@
             {
                 Thread.sleep( milliseconds );
             }
-            catch ( InterruptedException e )
+            catch ( final InterruptedException e )
             {
                 // TODO - Do something here?
             }
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/zip/CompressionUtilUnitTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/zip/CompressionUtilUnitTest.java
index bde7c65..e3d5588 100644
--- a/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/zip/CompressionUtilUnitTest.java
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs3/utils/zip/CompressionUtilUnitTest.java
@@ -40,7 +40,7 @@
             // VERIFY
             fail( "excepted an IllegalArgumentException" );
         }
-        catch ( IllegalArgumentException exception )
+        catch ( final IllegalArgumentException exception )
         {
             // expected
             return;
@@ -56,14 +56,14 @@
         throws IOException
     {
         // SETUP
-        String text = "This is some text to compress, not a lot, just a bit ";
+        final String text = "This is some text to compress, not a lot, just a bit ";
 
         // DO WORK
-        byte[] compressedText = CompressionUtil.compressByteArray( text.getBytes() );
-        byte[] output = CompressionUtil.decompressByteArray( compressedText );
+        final byte[] compressedText = CompressionUtil.compressByteArray( text.getBytes() );
+        final byte[] output = CompressionUtil.decompressByteArray( compressedText );
 
         // VERIFY
-        String result = new String( output );
+        final String result = new String( output );
         assertNotNull( "decompressed output stream shouldn't have been null ", output );
         assertEquals( text, result );
     }
@@ -77,20 +77,20 @@
         throws IOException
     {
         // SETUP
-        String text = " This is some text to compress, not a lot, just a bit ";
+        final String text = " This is some text to compress, not a lot, just a bit ";
 
-        ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        GZIPOutputStream os = new GZIPOutputStream( baos );
+        final ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        final GZIPOutputStream os = new GZIPOutputStream( baos );
 
         os.write( text.getBytes() );
         os.flush();
         os.close();
 
         // DO WORK
-        byte[] output = CompressionUtil.decompressGzipByteArray( baos.toByteArray() );
+        final byte[] output = CompressionUtil.decompressGzipByteArray( baos.toByteArray() );
 
         // VERIFY
-        String result = new String( output );
+        final String result = new String( output );
         assertNotNull( "decompressed output stream shouldn't have been null ", output );
         assertEquals( text, result );
     }