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

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-imaging.git


The following commit(s) were added to refs/heads/master by this push:
     new 714418e8 Clean ups.
714418e8 is described below

commit 714418e859300c84b4066eccd9e9a411bff2eee9
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Sat May 21 15:52:29 2022 -0400

    Clean ups.
    
    - Use the compact array declaration notation
    - Use final where possible (this was done already but not everywhere)
    - Remove unused imports
    - Remove some useless parentheses
    - Refactor some duplicate code
---
 pom.xml                                            | 15 ++++
 .../org/apache/commons/imaging/ImageFormats.java   |  2 +-
 .../org/apache/commons/imaging/ImageParser.java    |  2 +-
 .../java/org/apache/commons/imaging/Imaging.java   |  6 +-
 .../apache/commons/imaging/ImagingConstants.java   |  2 +-
 .../apache/commons/imaging/ImagingParameters.java  |  8 +-
 .../commons/imaging/common/ByteConversions.java    |  4 +-
 .../commons/imaging/common/RationalNumber.java     |  4 +-
 .../imaging/common/XmpImagingParameters.java       |  2 +-
 .../imaging/common/mylzw/MyLzwDecompressor.java    |  5 +-
 .../imaging/formats/bmp/BmpImageParser.java        |  2 +-
 .../imaging/formats/gif/GifImageParser.java        |  2 +-
 .../imaging/formats/icns/IcnsImageParser.java      |  6 +-
 .../imaging/formats/jpeg/decoder/JpegDecoder.java  |  2 +-
 .../imaging/formats/jpeg/iptc/IptcParser.java      | 16 ++--
 .../imaging/formats/pcx/PcxImagingParameters.java  |  6 +-
 .../imaging/formats/png/PngImageParser.java        |  4 +-
 .../imaging/formats/png/PngImagingParameters.java  | 12 +--
 .../commons/imaging/formats/png/PngWriter.java     |  6 +-
 .../commons/imaging/formats/pnm/PamFileInfo.java   |  2 +-
 .../imaging/formats/pnm/PnmImageParser.java        |  2 +-
 .../imaging/formats/pnm/PnmImagingParameters.java  |  4 +-
 .../imaging/formats/psd/ImageResourceType.java     |  2 +-
 .../commons/imaging/formats/rgbe/RgbeInfo.java     |  4 +-
 .../imaging/formats/tiff/TiffImageMetadata.java    | 11 +--
 .../formats/tiff/TiffImagingParameters.java        | 16 ++--
 .../imaging/formats/tiff/TiffRasterData.java       |  4 +-
 .../imaging/formats/tiff/TiffRasterDataFloat.java  | 28 +++----
 .../imaging/formats/tiff/TiffRasterDataInt.java    | 28 +++----
 .../commons/imaging/formats/tiff/TiffTags.java     |  5 +-
 .../formats/tiff/constants/GpsTagConstants.java    |  2 +-
 .../formats/tiff/datareaders/DataReaderStrips.java |  4 +-
 .../formats/tiff/datareaders/DataReaderTiled.java  |  6 +-
 .../formats/tiff/datareaders/ImageDataReader.java  | 16 ++--
 .../formats/tiff/fieldtypes/FieldTypeRational.java |  2 +-
 .../formats/tiff/write/TiffImageWriterBase.java    |  8 +-
 .../tiff/write/TiffImageWriterLossless.java        |  5 +-
 .../imaging/formats/wbmp/WbmpImageParser.java      |  2 +-
 .../imaging/formats/xbm/XbmImageParser.java        |  2 +-
 .../imaging/formats/xpm/XpmImageParser.java        |  7 +-
 .../org/apache/commons/imaging/internal/Util.java  | 10 +--
 .../commons/imaging/palette/PaletteFactory.java    | 15 +---
 .../commons/imaging/common/RationalNumberTest.java |  2 +-
 .../common/bytesource/ByteSourceImageTest.java     |  2 +-
 .../tiff/ExampleReadFloatingPointData.java         |  1 -
 .../imaging/examples/tiff/ReadTagsAndImages.java   | 95 +++++++++++-----------
 .../commons/imaging/formats/jpeg/JpegReadTest.java |  2 +-
 .../formats/jpeg/decoder/JpegInputStreamTest.java  |  2 +-
 .../imaging/formats/jpeg/exif/ExifRewriteTest.java |  1 -
 .../formats/jpeg/exif/MicrosoftTagTest.java        |  3 +-
 .../imaging/formats/jpeg/iptc/IptcParserTest.java  | 18 ++--
 .../png/PngWithInvalidPngChunkSizeTest.java        |  4 +-
 .../imaging/formats/png/PngWritePredictorTest.java | 24 +++---
 .../imaging/formats/png/PngWriteReadTest.java      |  2 +-
 .../formats/tiff/TiffAlphaRoundTripTest.java       | 20 ++---
 .../imaging/formats/tiff/TiffCcittTest.java        |  1 -
 .../tiff/TiffFloatingPointMultivariableTest.java   | 44 +++++-----
 .../formats/tiff/TiffRasterDataIntTest.java        |  6 +-
 .../imaging/formats/tiff/TiffRasterDataTest.java   |  4 +-
 .../formats/tiff/TiffReadWriteTagsTest.java        |  6 +-
 .../formats/tiff/TiffRoundTripInt32Test.java       |  6 +-
 .../imaging/formats/tiff/TiffRoundtripTest.java    |  2 +-
 .../formats/tiff/TiffShortIntRoundTripTest.java    |  6 +-
 .../PhotometricInterpreterLogLuvTest.java          |  2 +-
 .../PhotometricInterpreterRgbTest.java             |  2 +-
 .../PhotometricInterpreterFloatTest.java           |  4 +-
 .../commons/imaging/formats/xmp/XmpUpdateTest.java |  4 +-
 .../imaging/roundtrip/BitmapRoundtripTest.java     |  2 +-
 .../commons/imaging/roundtrip/FormatInfo.java      |  4 +-
 .../imaging/roundtrip/FullColorRoundtrip.java      |  2 +-
 .../imaging/roundtrip/GrayscaleRountripTest.java   |  2 +-
 .../roundtrip/LimitedColorRoundtripTest.java       |  2 +-
 .../imaging/roundtrip/PixelDensityRoundtrip.java   |  2 +-
 .../commons/imaging/roundtrip/RoundtripBase.java   |  2 +-
 74 files changed, 278 insertions(+), 292 deletions(-)

diff --git a/pom.xml b/pom.xml
index b6d8aa73..38eabf7a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -460,6 +460,21 @@
       <name>Matt Benson</name>
       <id>mbenson</id>
     </developer>
+    <developer>
+      <id>ggregory</id>
+      <name>Gary Gregory</name>
+      <email>ggregory at apache.org</email>
+      <url>https://www.garygregory.com</url>
+      <organization>The Apache Software Foundation</organization>
+      <organizationUrl>https://www.apache.org/</organizationUrl>      
+      <roles>
+        <role>PMC Member</role>
+      </roles>
+      <timezone>America/New_York</timezone>
+      <properties>
+        
<picUrl>https://people.apache.org/~ggregory/img/garydgregory80.png</picUrl>
+      </properties>
+    </developer>
   </developers>
 
   <contributors>
diff --git a/src/main/java/org/apache/commons/imaging/ImageFormats.java 
b/src/main/java/org/apache/commons/imaging/ImageFormats.java
index ba6c6b03..2d339749 100644
--- a/src/main/java/org/apache/commons/imaging/ImageFormats.java
+++ b/src/main/java/org/apache/commons/imaging/ImageFormats.java
@@ -45,7 +45,7 @@ public enum ImageFormats implements ImageFormat {
 
     private final String[] extensions;
 
-    ImageFormats(String ...extensions) {
+    ImageFormats(final String ...extensions) {
         this.extensions = extensions;
     }
 
diff --git a/src/main/java/org/apache/commons/imaging/ImageParser.java 
b/src/main/java/org/apache/commons/imaging/ImageParser.java
index f2eea728..23cbac55 100644
--- a/src/main/java/org/apache/commons/imaging/ImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/ImageParser.java
@@ -572,7 +572,7 @@ public abstract class ImageParser<T extends 
ImagingParameters> extends BinaryFil
      * @throws IOException         In the event of an write error from
      *                             the output stream.
      */
-    public void writeImage(final BufferedImage src, final OutputStream os, T 
params)
+    public void writeImage(final BufferedImage src, final OutputStream os, 
final T params)
             throws ImageWriteException, IOException {
         os.close(); // we are obligated to close stream.
 
diff --git a/src/main/java/org/apache/commons/imaging/Imaging.java 
b/src/main/java/org/apache/commons/imaging/Imaging.java
index 339f3c1a..1406f07f 100644
--- a/src/main/java/org/apache/commons/imaging/Imaging.java
+++ b/src/main/java/org/apache/commons/imaging/Imaging.java
@@ -288,7 +288,7 @@ public final class Imaging {
             }
             return Stream
                 .of(ImageFormats.values())
-                .filter((imageFormat) -> Stream
+                .filter(imageFormat -> Stream
                     .of(imageFormat.getExtensions())
                     .anyMatch((extension) -> {
                         final String fileName = byteSource.getFileName();
@@ -793,7 +793,7 @@ public final class Imaging {
      * @throws ImageReadException in the event of a processing error while 
reading an image (i.e. a format violation, etc.).
      * @throws IOException  in the event of an unrecoverable I/O exception.
      */
-    public static BufferedImage getBufferedImage(final InputStream is, String 
fileName) throws ImageReadException, IOException {
+    public static BufferedImage getBufferedImage(final InputStream is, final 
String fileName) throws ImageReadException, IOException {
         return getBufferedImage(new ByteSourceInputStream(is, fileName));
     }
 
@@ -912,7 +912,7 @@ public final class Imaging {
         Objects.requireNonNull(os, "os must not be null");
         Objects.requireNonNull(format, "format must not be null");
 
-        ImageParser<?> imageParser = Util.getImageParser(format);
+        final ImageParser<?> imageParser = Util.getImageParser(format);
         imageParser.writeImage(src, os, null);
     }
 }
diff --git a/src/main/java/org/apache/commons/imaging/ImagingConstants.java 
b/src/main/java/org/apache/commons/imaging/ImagingConstants.java
index 44c30893..4499850b 100644
--- a/src/main/java/org/apache/commons/imaging/ImagingConstants.java
+++ b/src/main/java/org/apache/commons/imaging/ImagingConstants.java
@@ -28,7 +28,7 @@ public final class ImagingConstants {
     /**
      * Empty byte array.
      */
-    public static final byte[] EMPTY_BYTE_ARRAY = new byte[0];
+    public static final byte[] EMPTY_BYTE_ARRAY = {};
 
     private ImagingConstants() {
     }
diff --git a/src/main/java/org/apache/commons/imaging/ImagingParameters.java 
b/src/main/java/org/apache/commons/imaging/ImagingParameters.java
index 57151b8a..7ef1b3ac 100644
--- a/src/main/java/org/apache/commons/imaging/ImagingParameters.java
+++ b/src/main/java/org/apache/commons/imaging/ImagingParameters.java
@@ -58,7 +58,7 @@ public class ImagingParameters {
         return strict;
     }
 
-    public void setStrict(boolean strict) {
+    public void setStrict(final boolean strict) {
         this.strict = strict;
     }
 
@@ -66,7 +66,7 @@ public class ImagingParameters {
         return fileName;
     }
 
-    public void setFileName(String fileName) {
+    public void setFileName(final String fileName) {
         this.fileName = fileName;
     }
 
@@ -74,7 +74,7 @@ public class ImagingParameters {
         return bufferedImageFactory;
     }
 
-    public void setBufferedImageFactory(BufferedImageFactory 
bufferedImageFactory) {
+    public void setBufferedImageFactory(final BufferedImageFactory 
bufferedImageFactory) {
         this.bufferedImageFactory = bufferedImageFactory;
     }
 
@@ -82,7 +82,7 @@ public class ImagingParameters {
         return pixelDensity;
     }
 
-    public void setPixelDensity(PixelDensity pixelDensity) {
+    public void setPixelDensity(final PixelDensity pixelDensity) {
         this.pixelDensity = pixelDensity;
     }
 }
diff --git 
a/src/main/java/org/apache/commons/imaging/common/ByteConversions.java 
b/src/main/java/org/apache/commons/imaging/common/ByteConversions.java
index dd900d3d..043352c9 100644
--- a/src/main/java/org/apache/commons/imaging/common/ByteConversions.java
+++ b/src/main/java/org/apache/commons/imaging/common/ByteConversions.java
@@ -392,7 +392,7 @@ public final class ByteConversions {
     public static RationalNumber[] toRationals(
             final byte[] bytes,
             final ByteOrder byteOrder,
-            boolean unsignedType) {
+            final boolean unsignedType) {
         return toRationals(bytes, 0, bytes.length, byteOrder, unsignedType);
     }
 
@@ -401,7 +401,7 @@ public final class ByteConversions {
             final int offset,
             final int length,
             final ByteOrder byteOrder,
-            boolean unsignedType) {
+            final boolean unsignedType) {
         final RationalNumber[] result = new RationalNumber[length / 8];
         for (int i = 0; i < result.length; i++) {
             result[i] = toRational(bytes, offset + 8 * i, byteOrder, 
unsignedType);
diff --git 
a/src/main/java/org/apache/commons/imaging/common/RationalNumber.java 
b/src/main/java/org/apache/commons/imaging/common/RationalNumber.java
index 3ae186f2..3a2791d2 100644
--- a/src/main/java/org/apache/commons/imaging/common/RationalNumber.java
+++ b/src/main/java/org/apache/commons/imaging/common/RationalNumber.java
@@ -81,7 +81,7 @@ public class RationalNumber extends Number {
      * @param unsignedType indicates how numerator and divisor values
      * are to be interpreted.
      */
-    private RationalNumber(final long numerator, final long divisor, boolean 
unsignedType){
+    private RationalNumber(final long numerator, final long divisor, final 
boolean unsignedType){
         this.numerator = numerator;
         this.divisor   = divisor;
         this.unsignedType = unsignedType;
@@ -149,7 +149,7 @@ public class RationalNumber extends Number {
                 // the unsigned value is so large that the high-order bit is 
set
                 // it cannot be converted to a negative number. Check to see
                 // whether there is an option to reduce its magnitude.
-                long g = gcd(numerator, divisor);
+                final long g = gcd(numerator, divisor);
                 if (g != 0) {
                     n /= g;
                     d /= g;
diff --git 
a/src/main/java/org/apache/commons/imaging/common/XmpImagingParameters.java 
b/src/main/java/org/apache/commons/imaging/common/XmpImagingParameters.java
index 33522744..810b22ab 100644
--- a/src/main/java/org/apache/commons/imaging/common/XmpImagingParameters.java
+++ b/src/main/java/org/apache/commons/imaging/common/XmpImagingParameters.java
@@ -31,7 +31,7 @@ public class XmpImagingParameters extends ImagingParameters {
         return xmpXml;
     }
 
-    public void setXmpXml(String xmpXml) {
+    public void setXmpXml(final String xmpXml) {
         this.xmpXml = xmpXml;
     }
 
diff --git 
a/src/main/java/org/apache/commons/imaging/common/mylzw/MyLzwDecompressor.java 
b/src/main/java/org/apache/commons/imaging/common/mylzw/MyLzwDecompressor.java
index 63b33277..d676871a 100644
--- 
a/src/main/java/org/apache/commons/imaging/common/mylzw/MyLzwDecompressor.java
+++ 
b/src/main/java/org/apache/commons/imaging/common/mylzw/MyLzwDecompressor.java
@@ -164,23 +164,20 @@ public final class MyLzwDecompressor {
                     break;
                 }
                 writeToResult(baos, stringFromCode(code));
-
-                oldCode = code;
             } else {
                 if (isInTable(code)) {
                     writeToResult(baos, stringFromCode(code));
 
                     addStringToTable(appendBytes(stringFromCode(oldCode),
                             firstChar(stringFromCode(code))));
-                    oldCode = code;
                 } else {
                     final byte[] outString = 
appendBytes(stringFromCode(oldCode),
                             firstChar(stringFromCode(oldCode)));
                     writeToResult(baos, outString);
                     addStringToTable(outString);
-                    oldCode = code;
                 }
             }
+            oldCode = code;
 
             if (written >= expectedLength) {
                 break;
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/bmp/BmpImageParser.java 
b/src/main/java/org/apache/commons/imaging/formats/bmp/BmpImageParser.java
index ea956e57..53916e4c 100644
--- a/src/main/java/org/apache/commons/imaging/formats/bmp/BmpImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/bmp/BmpImageParser.java
@@ -654,7 +654,7 @@ public class BmpImageParser extends 
ImageParser<BmpImagingParameters> {
         if (params == null) {
             params = new BmpImagingParameters();
         }
-        PixelDensity pixelDensity = params.getPixelDensity();
+        final PixelDensity pixelDensity = params.getPixelDensity();
 
         final SimplePalette palette = new 
PaletteFactory().makeExactRgbPaletteSimple(
                 src, 256);
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/gif/GifImageParser.java 
b/src/main/java/org/apache/commons/imaging/formats/gif/GifImageParser.java
index 7ba8b4ed..b08ede02 100644
--- a/src/main/java/org/apache/commons/imaging/formats/gif/GifImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/gif/GifImageParser.java
@@ -852,7 +852,7 @@ public class GifImageParser extends 
ImageParser<GifImagingParameters> implements
             params = new GifImagingParameters();
         }
 
-        String xmpXml = params.getXmpXml();
+        final String xmpXml = params.getXmpXml();
 
         final int width = src.getWidth();
         final int height = src.getHeight();
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/icns/IcnsImageParser.java 
b/src/main/java/org/apache/commons/imaging/formats/icns/IcnsImageParser.java
index 1bf29e8e..659dc171 100644
--- a/src/main/java/org/apache/commons/imaging/formats/icns/IcnsImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/icns/IcnsImageParser.java
@@ -81,7 +81,7 @@ public class IcnsImageParser extends 
ImageParser<IcnsImagingParameters> {
     }
 
     @Override
-    public ImageInfo getImageInfo(final ByteSource byteSource, 
IcnsImagingParameters params)
+    public ImageInfo getImageInfo(final ByteSource byteSource, final 
IcnsImagingParameters params)
             throws ImageReadException, IOException {
         final IcnsContents contents = readImage(byteSource);
         final List<BufferedImage> images = 
IcnsDecoder.decodeAllImages(contents.icnsElements);
@@ -98,7 +98,7 @@ public class IcnsImageParser extends 
ImageParser<IcnsImagingParameters> {
     }
 
     @Override
-    public Dimension getImageSize(final ByteSource byteSource, 
IcnsImagingParameters params)
+    public Dimension getImageSize(final ByteSource byteSource, final 
IcnsImagingParameters params)
             throws ImageReadException, IOException {
         final IcnsContents contents = readImage(byteSource);
         final List<BufferedImage> images = 
IcnsDecoder.decodeAllImages(contents.icnsElements);
@@ -247,7 +247,7 @@ public class IcnsImageParser extends 
ImageParser<IcnsImagingParameters> {
     }
 
     @Override
-    public void writeImage(final BufferedImage src, final OutputStream os, 
IcnsImagingParameters params)
+    public void writeImage(final BufferedImage src, final OutputStream os, 
final IcnsImagingParameters params)
             throws ImageWriteException, IOException {
         IcnsType imageType;
         if (src.getWidth() == 16 && src.getHeight() == 16) {
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/jpeg/decoder/JpegDecoder.java
 
b/src/main/java/org/apache/commons/imaging/formats/jpeg/decoder/JpegDecoder.java
index 1956625d..b7db94f8 100644
--- 
a/src/main/java/org/apache/commons/imaging/formats/jpeg/decoder/JpegDecoder.java
+++ 
b/src/main/java/org/apache/commons/imaging/formats/jpeg/decoder/JpegDecoder.java
@@ -115,7 +115,7 @@ public class JpegDecoder extends BinaryFileParser 
implements JpegUtils.Visitor {
             switch (sofnSegment.numberOfComponents) {
             case 4:
                 colorModel = new DirectColorModel(24, 0x00ff0000, 0x0000ff00, 
0x000000ff);
-                final int[] bandMasks = new int[] { 0x00ff0000, 0x0000ff00, 
0x000000ff };
+                final int[] bandMasks = { 0x00ff0000, 0x0000ff00, 0x000000ff };
                 raster = Raster.createPackedRaster(DataBuffer.TYPE_INT, 
sofnSegment.width, sofnSegment.height, bandMasks, null);
                 break;
             case 3:
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcParser.java 
b/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcParser.java
index c68b09e0..7029d309 100644
--- a/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcParser.java
@@ -431,7 +431,7 @@ public class IptcParser extends BinaryFileParser {
                 bos.write(IptcConstants.IPTC_RECORD_TAG_MARKER);
                 bos.write(IptcConstants.IPTC_ENVELOPE_RECORD_NUMBER);
                 bos.write(ENV_TAG_CODED_CHARACTER_SET);
-                byte[] codedCharset = CHARACTER_ESCAPE_SEQUENCE;
+                final byte[] codedCharset = CHARACTER_ESCAPE_SEQUENCE;
                 bos.write2Bytes(codedCharset.length);
                 bos.write(codedCharset);
             }
@@ -485,20 +485,20 @@ public class IptcParser extends BinaryFileParser {
         return blockData;
     }
 
-    private Charset findCharset(byte[] codedCharset) {
-        String codedCharsetString = new String(codedCharset, 
StandardCharsets.ISO_8859_1);
+    private Charset findCharset(final byte[] codedCharset) {
+        final String codedCharsetString = new String(codedCharset, 
StandardCharsets.ISO_8859_1);
         try {
             if (Charset.isSupported(codedCharsetString)) {
                 return Charset.forName(codedCharsetString);
             }
-        } catch (IllegalArgumentException e) { }
+        } catch (final IllegalArgumentException e) { }
         // check if encoding is a escape sequence
         // normalize encoding byte sequence
-        byte[] codedCharsetNormalized = new byte[codedCharset.length];
+        final byte[] codedCharsetNormalized = new byte[codedCharset.length];
         int j = 0;
-        for (int i = 0; i < codedCharset.length; i++) {
-            if (codedCharset[i] != ' ') {
-                codedCharsetNormalized[j++] = codedCharset[i];
+        for (final byte element : codedCharset) {
+            if (element != ' ') {
+                codedCharsetNormalized[j++] = element;
             }
         }
 
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/pcx/PcxImagingParameters.java
 
b/src/main/java/org/apache/commons/imaging/formats/pcx/PcxImagingParameters.java
index 4fdfa6fa..35b221b2 100644
--- 
a/src/main/java/org/apache/commons/imaging/formats/pcx/PcxImagingParameters.java
+++ 
b/src/main/java/org/apache/commons/imaging/formats/pcx/PcxImagingParameters.java
@@ -31,7 +31,7 @@ public class PcxImagingParameters extends ImagingParameters {
         return planes;
     }
 
-    public void setPlanes(int planes) {
+    public void setPlanes(final int planes) {
         this.planes = planes;
     }
 
@@ -39,7 +39,7 @@ public class PcxImagingParameters extends ImagingParameters {
         return bitDepth;
     }
 
-    public void setBitDepth(int bitDepth) {
+    public void setBitDepth(final int bitDepth) {
         this.bitDepth = bitDepth;
     }
 
@@ -47,7 +47,7 @@ public class PcxImagingParameters extends ImagingParameters {
         return compression;
     }
 
-    public void setCompression(int compression) {
+    public void setCompression(final int compression) {
         this.compression = compression;
     }
 
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java 
b/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java
index 327749d4..90a1884b 100644
--- a/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java
@@ -486,7 +486,7 @@ public class PngImageParser extends 
ImageParser<PngImagingParameters>  implement
     }
 
     @Override
-    public BufferedImage getBufferedImage(final ByteSource byteSource, 
PngImagingParameters params)
+    public BufferedImage getBufferedImage(final ByteSource byteSource, final 
PngImagingParameters params)
             throws ImageReadException, IOException {
 
         final List<PngChunk> chunks = readChunks(byteSource, new ChunkType[] {
@@ -578,7 +578,7 @@ public class PngImageParser extends 
ImageParser<PngImagingParameters>  implement
 
                 try {
                     iccProfile = ICC_Profile.getInstance(bytes);
-                } catch (IllegalArgumentException iae) {
+                } catch (final IllegalArgumentException iae) {
                     throw new ImageReadException("The image data does not 
correspond to a valid ICC Profile", iae);
                 }
             } else if (gAMAs.size() == 1) {
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/png/PngImagingParameters.java
 
b/src/main/java/org/apache/commons/imaging/formats/png/PngImagingParameters.java
index 2127e8d3..0eb6f297 100644
--- 
a/src/main/java/org/apache/commons/imaging/formats/png/PngImagingParameters.java
+++ 
b/src/main/java/org/apache/commons/imaging/formats/png/PngImagingParameters.java
@@ -59,7 +59,7 @@ public class PngImagingParameters extends 
XmpImagingParameters {
         return bitDepth;
     }
 
-    public void setBitDepth(byte bitDepth) {
+    public void setBitDepth(final byte bitDepth) {
         this.bitDepth = bitDepth;
     }
 
@@ -67,7 +67,7 @@ public class PngImagingParameters extends 
XmpImagingParameters {
         return forceIndexedColor;
     }
 
-    public void setForceIndexedColor(boolean forceIndexedColor) {
+    public void setForceIndexedColor(final boolean forceIndexedColor) {
         this.forceIndexedColor = forceIndexedColor;
     }
 
@@ -75,7 +75,7 @@ public class PngImagingParameters extends 
XmpImagingParameters {
         return forceTrueColor;
     }
 
-    public void setForceTrueColor(boolean forceTrueColor) {
+    public void setForceTrueColor(final boolean forceTrueColor) {
         this.forceTrueColor = forceTrueColor;
     }
 
@@ -83,7 +83,7 @@ public class PngImagingParameters extends 
XmpImagingParameters {
         return physicalScale;
     }
 
-    public void setPhysicalScale(PhysicalScale physicalScale) {
+    public void setPhysicalScale(final PhysicalScale physicalScale) {
         this.physicalScale = physicalScale;
     }
 
@@ -91,7 +91,7 @@ public class PngImagingParameters extends 
XmpImagingParameters {
         return textChunks != null ? Collections.unmodifiableList(textChunks) : 
null;
     }
 
-    public void setTextChunks(List<? extends PngText> textChunks) {
+    public void setTextChunks(final List<? extends PngText> textChunks) {
         this.textChunks = Collections.unmodifiableList(textChunks);
     }
 
@@ -114,7 +114,7 @@ public class PngImagingParameters extends 
XmpImagingParameters {
      * time required to read an image.
      * @param predictorEnabled true if a predictor is enabled; otherwise, 
false.
      */
-    public void setPredictorEnabled(boolean predictorEnabled){
+    public void setPredictorEnabled(final boolean predictorEnabled){
         this.predictorEnabled = predictorEnabled;
     }
 }
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/png/PngWriter.java 
b/src/main/java/org/apache/commons/imaging/formats/png/PngWriter.java
index 93b4795b..58e615da 100644
--- a/src/main/java/org/apache/commons/imaging/formats/png/PngWriter.java
+++ b/src/main/java/org/apache/commons/imaging/formats/png/PngWriter.java
@@ -293,7 +293,7 @@ class PngWriter {
     }
 
     private byte getBitDepth(final PngColorType pngColorType, final 
PngImagingParameters params) {
-        byte depth = params.getBitDepth();
+        final byte depth = params.getBitDepth();
 
         return pngColorType.isBitDepthAllowed(depth) ? depth : 
PngImagingParameters.DEFAULT_BIT_DEPTH;
     }
@@ -331,7 +331,7 @@ class PngWriter {
         if (params == null) {
             params = new PngImagingParameters();
         }
-        int compressionLevel = Deflater.DEFAULT_COMPRESSION;
+        final int compressionLevel = Deflater.DEFAULT_COMPRESSION;
 
         final int width = src.getWidth();
         final int height = src.getHeight();
@@ -467,7 +467,7 @@ class PngWriter {
             // for non-grayscale, true-color images.  This choice is made
             // out of caution and is not necessarily required by the PNG
             // spec.  We may broaden the use of predictors in future versions.
-            boolean usePredictor = params.isPredictorEnabled() &&
+            final boolean usePredictor = params.isPredictorEnabled() &&
                 !isGrayscale && palette==null;
 
             byte[] uncompressed;
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/pnm/PamFileInfo.java 
b/src/main/java/org/apache/commons/imaging/formats/pnm/PamFileInfo.java
index 05f4ec4e..88fdc37d 100644
--- a/src/main/java/org/apache/commons/imaging/formats/pnm/PamFileInfo.java
+++ b/src/main/java/org/apache/commons/imaging/formats/pnm/PamFileInfo.java
@@ -116,7 +116,7 @@ class PamFileInfo extends FileInfo {
         return tupleReader.getRGB(is);
     }
 
-    private abstract class TupleReader {
+    private abstract static class TupleReader {
         public abstract ImageInfo.ColorType getColorType();
         public abstract int getRGB(InputStream is) throws IOException;
     }
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/pnm/PnmImageParser.java 
b/src/main/java/org/apache/commons/imaging/formats/pnm/PnmImageParser.java
index 717d2c47..9d1213a1 100644
--- a/src/main/java/org/apache/commons/imaging/formats/pnm/PnmImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/pnm/PnmImageParser.java
@@ -317,7 +317,7 @@ public class PnmImageParser extends 
ImageParser<PnmImagingParameters> {
     }
 
     @Override
-    public void writeImage(final BufferedImage src, final OutputStream os, 
PnmImagingParameters params)
+    public void writeImage(final BufferedImage src, final OutputStream os, 
final PnmImagingParameters params)
             throws ImageWriteException, IOException {
         PnmWriter writer = null;
         boolean useRawbits = true;
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/pnm/PnmImagingParameters.java
 
b/src/main/java/org/apache/commons/imaging/formats/pnm/PnmImagingParameters.java
index 68f1e7cf..6cb95681 100644
--- 
a/src/main/java/org/apache/commons/imaging/formats/pnm/PnmImagingParameters.java
+++ 
b/src/main/java/org/apache/commons/imaging/formats/pnm/PnmImagingParameters.java
@@ -35,7 +35,7 @@ public class PnmImagingParameters extends ImagingParameters {
         return rawBits;
     }
 
-    public void setRawBits(boolean rawBits) {
+    public void setRawBits(final boolean rawBits) {
         this.rawBits = rawBits;
     }
 
@@ -43,7 +43,7 @@ public class PnmImagingParameters extends ImagingParameters {
         return subtype;
     }
 
-    public void setSubtype(ImageFormats subtype) {
+    public void setSubtype(final ImageFormats subtype) {
         this.subtype = subtype;
     }
 }
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/psd/ImageResourceType.java 
b/src/main/java/org/apache/commons/imaging/formats/psd/ImageResourceType.java
index 161bfbde..3ff092e4 100644
--- 
a/src/main/java/org/apache/commons/imaging/formats/psd/ImageResourceType.java
+++ 
b/src/main/java/org/apache/commons/imaging/formats/psd/ImageResourceType.java
@@ -23,7 +23,7 @@ package org.apache.commons.imaging.formats.psd;
  */
 class ImageResourceType {
 
-    private static final ImageResourceType[] TYPES = new ImageResourceType[]{
+    private static final ImageResourceType[] TYPES = {
             new ImageResourceType(1000, "Number of channels, rows, columns, 
depth, and mode."),
             new ImageResourceType(1001, "Optional. Macintosh print manager 
print info record"),
             new ImageResourceType(1003, "Indexed color table."),
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/rgbe/RgbeInfo.java 
b/src/main/java/org/apache/commons/imaging/formats/rgbe/RgbeInfo.java
index 205c4278..dc34a6b2 100644
--- a/src/main/java/org/apache/commons/imaging/formats/rgbe/RgbeInfo.java
+++ b/src/main/java/org/apache/commons/imaging/formats/rgbe/RgbeInfo.java
@@ -32,7 +32,7 @@ import 
org.apache.commons.imaging.common.bytesource.ByteSource;
 
 class RgbeInfo implements Closeable {
     // #?RADIANCE
-    private static final byte[] HEADER = new byte[] {
+    private static final byte[] HEADER = {
         0x23, 0x3F, 0x52, 0x41, 0x44, 0x49, 0x41, 0x4E, 0x43, 0x45
     };
     private static final Pattern RESOLUTION_STRING = Pattern.compile("-Y 
(\\d+) \\+X (\\d+)");
@@ -41,7 +41,7 @@ class RgbeInfo implements Closeable {
     private GenericImageMetadata metadata;
     private int width = -1;
     private int height = -1;
-    private static final byte[] TWO_TWO = new byte[] { 0x2, 0x2 };
+    private static final byte[] TWO_TWO = { 0x2, 0x2 };
 
     RgbeInfo(final ByteSource byteSource) throws IOException {
         this.in = byteSource.getInputStream();
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageMetadata.java 
b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageMetadata.java
index 5f61d618..c4dcc0f2 100644
--- 
a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageMetadata.java
+++ 
b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageMetadata.java
@@ -242,14 +242,9 @@ public class TiffImageMetadata extends 
GenericImageMetadata {
             }
             for (final ImageMetadataItem directory1 : directories) {
                 final Directory directory = (Directory) directory1;
-                if (tagInfo.directoryType.isImageDirectory()
-                        && directory.type >= 0) {
-                    final TiffField field = directory.findField(tagInfo);
-                    if (field != null) {
-                        return field;
-                    }
-                } else if (!tagInfo.directoryType.isImageDirectory()
-                        && directory.type < 0) {
+                if ((tagInfo.directoryType.isImageDirectory()
+                        && directory.type >= 0) || 
(!tagInfo.directoryType.isImageDirectory()
+                        && directory.type < 0)) {
                     final TiffField field = directory.findField(tagInfo);
                     if (field != null) {
                         return field;
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImagingParameters.java
 
b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImagingParameters.java
index 8a706f52..bb64fddf 100644
--- 
a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImagingParameters.java
+++ 
b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImagingParameters.java
@@ -103,7 +103,7 @@ public class TiffImagingParameters extends 
XmpImagingParameters {
         return readThumbnails;
     }
 
-    public void setReadThumbnails(boolean readThumbnails) {
+    public void setReadThumbnails(final boolean readThumbnails) {
         this.readThumbnails = readThumbnails;
     }
 
@@ -122,7 +122,7 @@ public class TiffImagingParameters extends 
XmpImagingParameters {
      *
      * @param tiffOutputSet A valid instance.
      */
-    public void setOutputSet(TiffOutputSet tiffOutputSet) {
+    public void setOutputSet(final TiffOutputSet tiffOutputSet) {
         this.tiffOutputSet = tiffOutputSet;
     }
 
@@ -143,7 +143,7 @@ public class TiffImagingParameters extends 
XmpImagingParameters {
      * @param height height of the image subset to be read, must be greater 
than
      * zero.
      */
-    public void setSubImage(int x, int y, int width, int height) {
+    public void setSubImage(final int x, final int y, final int width, final 
int height) {
         if (x < 0 || y < 0) {
             throw new IllegalArgumentException(
                     "Invalid sub-image specification: negative x and y values 
not allowed");
@@ -222,7 +222,7 @@ public class TiffImagingParameters extends 
XmpImagingParameters {
         return customPhotometricInterpreter;
     }
 
-    public void setCustomPhotometricInterpreter(PhotometricInterpreter 
customPhotometricInterpreter) {
+    public void setCustomPhotometricInterpreter(final PhotometricInterpreter 
customPhotometricInterpreter) {
         this.customPhotometricInterpreter = customPhotometricInterpreter;
     }
 
@@ -230,7 +230,7 @@ public class TiffImagingParameters extends 
XmpImagingParameters {
         return compression;
     }
 
-    public void setCompression(Integer compression) {
+    public void setCompression(final Integer compression) {
         this.compression = compression;
     }
 
@@ -238,7 +238,7 @@ public class TiffImagingParameters extends 
XmpImagingParameters {
         return lzwCompressionBlockSize;
     }
 
-    public void setLzwCompressionBlockSize(Integer lzwCompressionBlockSize) {
+    public void setLzwCompressionBlockSize(final Integer 
lzwCompressionBlockSize) {
         this.lzwCompressionBlockSize = lzwCompressionBlockSize;
     }
 
@@ -246,7 +246,7 @@ public class TiffImagingParameters extends 
XmpImagingParameters {
         return t4Options;
     }
 
-    public void setT4Options(Integer t4Options) {
+    public void setT4Options(final Integer t4Options) {
         this.t4Options = t4Options;
     }
 
@@ -254,7 +254,7 @@ public class TiffImagingParameters extends 
XmpImagingParameters {
         return t6Options;
     }
 
-    public void setT6Options(Integer t6Options) {
+    public void setT6Options(final Integer t6Options) {
         this.t6Options = t6Options;
     }
 
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffRasterData.java 
b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffRasterData.java
index e6a9a8dc..85de0b80 100644
--- a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffRasterData.java
+++ b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffRasterData.java
@@ -55,7 +55,7 @@ public abstract class TiffRasterData {
      * @param height a value of 1 or greater
      * @param samplesPerPixel a value of 1 or greater
      */
-    public TiffRasterData(final int width, final int height, int 
samplesPerPixel) {
+    public TiffRasterData(final int width, final int height, final int 
samplesPerPixel) {
         if (width <= 0 || height <= 0) {
             throw new IllegalArgumentException(
                     "Raster dimensions less than or equal to zero are not 
supported");
@@ -71,7 +71,7 @@ public abstract class TiffRasterData {
         planarOffset = width * height;
     }
 
-    protected final int checkCoordinatesAndComputeIndex(final int x, final int 
y, int i) {
+    protected final int checkCoordinatesAndComputeIndex(final int x, final int 
y, final int i) {
         if (x < 0 || x >= width || y < 0 || y >= height) {
             throw new IllegalArgumentException(
                     "Coordinates out of range (" + x + ", " + y + ")");
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffRasterDataFloat.java
 
b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffRasterDataFloat.java
index 6737c021..5db42808 100644
--- 
a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffRasterDataFloat.java
+++ 
b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffRasterDataFloat.java
@@ -63,7 +63,7 @@ public class TiffRasterDataFloat extends TiffRasterData {
      * @param height a value of 1 or greater
      * @param samplesPerPixel a value of 1 or greater
      */
-    public TiffRasterDataFloat(final int width, final int height, int 
samplesPerPixel) {
+    public TiffRasterDataFloat(final int width, final int height, final int 
samplesPerPixel) {
         super(width, height, samplesPerPixel);
         data = new float[nCells];
     }
@@ -93,7 +93,7 @@ public class TiffRasterDataFloat extends TiffRasterData {
      * @param samplesPerCell the number of samples per pixel
      * @param data the data to be stored in the raster.
      */
-    public TiffRasterDataFloat(final int width, final int height, int 
samplesPerCell, final float[] data) {
+    public TiffRasterDataFloat(final int width, final int height, final int 
samplesPerCell, final float[] data) {
         super(width, height, samplesPerCell);
 
         if (data == null || data.length < nCells) {
@@ -123,7 +123,7 @@ public class TiffRasterDataFloat extends TiffRasterData {
      */
     @Override
     public void setValue(final int x, final int y, final float value) {
-        int index = checkCoordinatesAndComputeIndex(x, y, 0);
+        final int index = checkCoordinatesAndComputeIndex(x, y, 0);
         data[index] = value;
     }
 
@@ -138,8 +138,8 @@ public class TiffRasterDataFloat extends TiffRasterData {
      * potentially a Float&#46;NaN.
      */
     @Override
-    public void setValue(final int x, final int y, int i, final float value) {
-        int index = checkCoordinatesAndComputeIndex(x, y, i);
+    public void setValue(final int x, final int y, final int i, final float 
value) {
+        final int index = checkCoordinatesAndComputeIndex(x, y, i);
         data[index] = value;
     }
 
@@ -153,7 +153,7 @@ public class TiffRasterDataFloat extends TiffRasterData {
      */
     @Override
     public float getValue(final int x, final int y) {
-        int index = checkCoordinatesAndComputeIndex(x, y, 0);
+        final int index = checkCoordinatesAndComputeIndex(x, y, 0);
         return data[index];
     }
 
@@ -168,8 +168,8 @@ public class TiffRasterDataFloat extends TiffRasterData {
      * Float&#46;NaN.
      */
     @Override
-    public float getValue(final int x, final int y, int i) {
-        int index = checkCoordinatesAndComputeIndex(x, y, i);
+    public float getValue(final int x, final int y, final int i) {
+        final int index = checkCoordinatesAndComputeIndex(x, y, i);
         return data[index];
     }
 
@@ -182,7 +182,7 @@ public class TiffRasterDataFloat extends TiffRasterData {
      */
     @Override
     public void setIntValue(final int x, final int y, final int value) {
-        int index = checkCoordinatesAndComputeIndex(x, y, 0);
+        final int index = checkCoordinatesAndComputeIndex(x, y, 0);
         data[index] = value;
     }
 
@@ -196,8 +196,8 @@ public class TiffRasterDataFloat extends TiffRasterData {
      * @param value the value to be stored at the specified location
      */
     @Override
-    public void setIntValue(final int x, final int y, int i, final int value) {
-        int index = checkCoordinatesAndComputeIndex(x, y, 0);
+    public void setIntValue(final int x, final int y, final int i, final int 
value) {
+        final int index = checkCoordinatesAndComputeIndex(x, y, 0);
         data[index] = value;
     }
 
@@ -210,7 +210,7 @@ public class TiffRasterDataFloat extends TiffRasterData {
      */
     @Override
     public int getIntValue(final int x, final int y) {
-        int index = checkCoordinatesAndComputeIndex(x, y, 0);
+        final int index = checkCoordinatesAndComputeIndex(x, y, 0);
         return (int) data[index];
     }
 
@@ -224,8 +224,8 @@ public class TiffRasterDataFloat extends TiffRasterData {
      * @return the value stored at the specified location
      */
     @Override
-    public int getIntValue(final int x, final int y, int i) {
-        int index = checkCoordinatesAndComputeIndex(x, y, 0);
+    public int getIntValue(final int x, final int y, final int i) {
+        final int index = checkCoordinatesAndComputeIndex(x, y, 0);
         return (int) data[index];
     }
 
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffRasterDataInt.java 
b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffRasterDataInt.java
index 7266a29c..8a355418 100644
--- 
a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffRasterDataInt.java
+++ 
b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffRasterDataInt.java
@@ -61,7 +61,7 @@ public class TiffRasterDataInt extends TiffRasterData {
      * @param height a value of 1 or greater
      * @param samplesPerPixel a value of 1 or greater
      */
-    public TiffRasterDataInt(final int width, final int height, int 
samplesPerPixel) {
+    public TiffRasterDataInt(final int width, final int height, final int 
samplesPerPixel) {
         super(width, height, samplesPerPixel);
         data = new int[nCells];
     }
@@ -91,7 +91,7 @@ public class TiffRasterDataInt extends TiffRasterData {
      * @param samplesPerPixel a value of 1 or greater
      * @param data the data to be stored in the raster.
      */
-    public TiffRasterDataInt(final int width, final int height, int 
samplesPerPixel, final int[] data) {
+    public TiffRasterDataInt(final int width, final int height, final int 
samplesPerPixel, final int[] data) {
         super(width, height, samplesPerPixel);
 
         if (data == null || data.length < nCells) {
@@ -121,7 +121,7 @@ public class TiffRasterDataInt extends TiffRasterData {
      */
     @Override
     public void setValue(final int x, final int y, final float value) {
-        int index = checkCoordinatesAndComputeIndex(x, y, 0);
+        final int index = checkCoordinatesAndComputeIndex(x, y, 0);
         data[index] = (int) value;
     }
 
@@ -136,8 +136,8 @@ public class TiffRasterDataInt extends TiffRasterData {
      * potentially a Float&#46;NaN.
      */
     @Override
-    public void setValue(final int x, final int y, int i, final float value) {
-        int index = checkCoordinatesAndComputeIndex(x, y, i);
+    public void setValue(final int x, final int y, final int i, final float 
value) {
+        final int index = checkCoordinatesAndComputeIndex(x, y, i);
         data[index] = (int) value;
     }
 
@@ -151,7 +151,7 @@ public class TiffRasterDataInt extends TiffRasterData {
      */
     @Override
     public float getValue(final int x, final int y) {
-        int index = checkCoordinatesAndComputeIndex(x, y, 0);
+        final int index = checkCoordinatesAndComputeIndex(x, y, 0);
         return data[index];
     }
 
@@ -166,8 +166,8 @@ public class TiffRasterDataInt extends TiffRasterData {
      * Float&#46;NaN.
      */
     @Override
-    public float getValue(final int x, final int y, int i) {
-        int index = checkCoordinatesAndComputeIndex(x, y, i);
+    public float getValue(final int x, final int y, final int i) {
+        final int index = checkCoordinatesAndComputeIndex(x, y, i);
         return data[index];
     }
 
@@ -180,7 +180,7 @@ public class TiffRasterDataInt extends TiffRasterData {
      */
     @Override
     public void setIntValue(final int x, final int y, final int value) {
-        int index = checkCoordinatesAndComputeIndex(x, y, 0);
+        final int index = checkCoordinatesAndComputeIndex(x, y, 0);
         data[index] = value;
     }
 
@@ -194,8 +194,8 @@ public class TiffRasterDataInt extends TiffRasterData {
      * @param value the value to be stored at the specified location
      */
     @Override
-    public void setIntValue(final int x, final int y, int i, final int value) {
-        int index = checkCoordinatesAndComputeIndex(x, y, i);
+    public void setIntValue(final int x, final int y, final int i, final int 
value) {
+        final int index = checkCoordinatesAndComputeIndex(x, y, i);
         data[index] = value;
     }
 
@@ -208,7 +208,7 @@ public class TiffRasterDataInt extends TiffRasterData {
      */
     @Override
     public int getIntValue(final int x, final int y) {
-        int index = checkCoordinatesAndComputeIndex(x, y, 0);
+        final int index = checkCoordinatesAndComputeIndex(x, y, 0);
         return data[index];
     }
 
@@ -222,8 +222,8 @@ public class TiffRasterDataInt extends TiffRasterData {
      * @return the value stored at the specified location
      */
     @Override
-    public int getIntValue(final int x, final int y, int i) {
-        int index = checkCoordinatesAndComputeIndex(x, y, i);
+    public int getIntValue(final int x, final int y, final int i) {
+        final int index = checkCoordinatesAndComputeIndex(x, y, i);
         return data[index];
     }
 
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffTags.java 
b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffTags.java
index 49014333..7027b6e5 100644
--- a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffTags.java
+++ b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffTags.java
@@ -54,8 +54,7 @@ final class TiffTags {
     private static final Map<Integer, Integer> TAG_COUNTS = 
countTags(TiffTags.ALL_TAGS);
 
     private static List<TagInfo> makeMergedTagList() {
-        final ArrayList<TagInfo> result = new ArrayList<>();
-        result.addAll(AdobePageMaker6TagConstants.ALL_ADOBE_PAGEMAKER_6_TAGS);
+        final ArrayList<TagInfo> result = new 
ArrayList<>(AdobePageMaker6TagConstants.ALL_ADOBE_PAGEMAKER_6_TAGS);
         result.addAll(AdobePhotoshopTagConstants.ALL_ADOBE_PHOTOSHOP_TAGS);
         
result.addAll(AliasSketchbookProTagConstants.ALL_ALIAS_SKETCHBOOK_PRO_TAGS);
         result.addAll(DcfTagConstants.ALL_DCF_TAGS);
@@ -84,7 +83,7 @@ final class TiffTags {
         final Map<Integer, List<TagInfo>> map = new HashMap<>();
 
         for (final TagInfo tag : tags) {
-            List<TagInfo> tagList = map.computeIfAbsent(tag.tag, k -> new 
ArrayList<>());
+            final List<TagInfo> tagList = map.computeIfAbsent(tag.tag, k -> 
new ArrayList<>());
             tagList.add(tag);
         }
 
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/tiff/constants/GpsTagConstants.java
 
b/src/main/java/org/apache/commons/imaging/formats/tiff/constants/GpsTagConstants.java
index 598374ed..ff759570 100644
--- 
a/src/main/java/org/apache/commons/imaging/formats/tiff/constants/GpsTagConstants.java
+++ 
b/src/main/java/org/apache/commons/imaging/formats/tiff/constants/GpsTagConstants.java
@@ -35,7 +35,7 @@ public final class GpsTagConstants {
             "GPSVersionID", 0x0000, 4,
             TiffDirectoryType.EXIF_DIRECTORY_GPS);
 
-    private static final byte[] GPS_VERSION = new byte[] { (byte)2, (byte)3, 
(byte)0, (byte)0 };
+    private static final byte[] GPS_VERSION = { (byte)2, (byte)3, (byte)0, 
(byte)0 };
 
     public static byte[] gpsVersion() {
         return GPS_VERSION.clone();
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReaderStrips.java
 
b/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReaderStrips.java
index 33b87096..fea2eb39 100644
--- 
a/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReaderStrips.java
+++ 
b/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReaderStrips.java
@@ -373,7 +373,7 @@ public final class DataReaderStrips extends ImageDataReader 
{
             rasterHeight = height;
         }
 
-        float[] rasterDataFloat = new float[rasterWidth * rasterHeight * 
samplesPerPixel];
+        final float[] rasterDataFloat = new float[rasterWidth * rasterHeight * 
samplesPerPixel];
 
         // the legacy code is optimized to the reading of whole
         // strips (except for the last strip in the image, which can
@@ -426,7 +426,7 @@ public final class DataReaderStrips extends ImageDataReader 
{
             rasterHeight = height;
         }
 
-        int[] rasterDataInt = new int[rasterWidth * rasterHeight];
+        final int[] rasterDataInt = new int[rasterWidth * rasterHeight];
 
         // the legacy code is optimized to the reading of whole
         // strips (except for the last strip in the image, which can
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReaderTiled.java
 
b/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReaderTiled.java
index 4da62843..a1374848 100644
--- 
a/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReaderTiled.java
+++ 
b/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReaderTiled.java
@@ -107,7 +107,7 @@ public final class DataReaderTiled extends ImageDataReader {
                 final int rowOffset = row * tileWidth;
                 for (int j = j0; j < j1; j++) {
                     final int column = j - startX;
-                    int k = (rowOffset + column) * samplesPerPixel;
+                    final int k = (rowOffset + column) * samplesPerPixel;
                     samples[0] = b[k];
                     photometricInterpreter.interpretPixel(
                         imageBuilder, samples, j, i);
@@ -313,7 +313,7 @@ public final class DataReaderTiled extends ImageDataReader {
             rasterWidth = width;
             rasterHeight = height;
         }
-        float[] rasterDataFloat = new float[rasterWidth * rasterHeight * 
samplesPerPixel];
+        final float[] rasterDataFloat = new float[rasterWidth * rasterHeight * 
samplesPerPixel];
 
         // tileWidth is the width of the tile
         // tileLength is the height of the tile
@@ -365,7 +365,7 @@ public final class DataReaderTiled extends ImageDataReader {
             rasterWidth = width;
             rasterHeight = height;
         }
-        int[] rasterDataInt = new int[rasterWidth * rasterHeight];
+        final int[] rasterDataInt = new int[rasterWidth * rasterHeight];
 
         // tileWidth is the width of the tile
         // tileLength is the height of the tile
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/ImageDataReader.java
 
b/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/ImageDataReader.java
index 242b1261..95fdf1f6 100644
--- 
a/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/ImageDataReader.java
+++ 
b/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/ImageDataReader.java
@@ -466,8 +466,8 @@ public abstract class ImageDataReader {
             } else {
                 final int bytesInRow = scanSize * 4;
                 for (int iPlane = 0; iPlane < samplesPerPixel; iPlane++) {
-                    int planarIntOffset = iPlane * length * scanSize;
-                    int planarByteOffset = planarIntOffset * 4;
+                    final int planarIntOffset = iPlane * length * scanSize;
+                    final int planarByteOffset = planarIntOffset * 4;
 
                     for (int i = 0; i < length; i++) {
                         final int aOffset = i * bytesInRow + planarByteOffset;
@@ -631,11 +631,11 @@ public abstract class ImageDataReader {
 
         // The logic that follows is simplified by the fact that
         // the existing API only supports two-byte signed integers.
-        boolean useDifferencing
+        final boolean useDifferencing
                 = predictor == 
TiffTagConstants.PREDICTOR_VALUE_HORIZONTAL_DIFFERENCING;
 
         for (int i = 0; i < length; i++) {
-            int index = i * scanSize;
+            final int index = i * scanSize;
             int offset = index * bytesPerSample;
             if (bitsPerSample == 16) {
                 if (byteOrder == ByteOrder.LITTLE_ENDIAN) {
@@ -696,7 +696,7 @@ public abstract class ImageDataReader {
     void transferBlockToRaster(final int xBlock, final int yBlock,
             final int blockWidth, final int blockHeight, final int[] blockData,
             final int xRaster, final int yRaster,
-            final int rasterWidth, final int rasterHeight, int samplesPerPixel,
+            final int rasterWidth, final int rasterHeight, final int 
samplesPerPixel,
             final float[] rasterData) {
 
         // xR0, yR0 are the coordinates within the raster (upper-left corner)
@@ -769,7 +769,7 @@ public abstract class ImageDataReader {
             // The source data is in the interleaved (Chunky) order,
             // but the TiffRasterData class expects non-interleaved order.
             // So we transcribe the elements as appropriate.
-            int pixelsPerPlane = rasterWidth * rasterHeight;
+            final int pixelsPerPlane = rasterWidth * rasterHeight;
             for (int i = 0; i < h; i++) {
                 final int yR = yR0 + i;
                 final int yB = yB0 + i;
@@ -784,8 +784,8 @@ public abstract class ImageDataReader {
             }
         } else {
             for (int iPlane = 0; iPlane < samplesPerPixel; iPlane++) {
-                int rPlanarOffset = iPlane * rasterWidth * rasterHeight;
-                int bPlanarOffset = iPlane * blockWidth * blockHeight;
+                final int rPlanarOffset = iPlane * rasterWidth * rasterHeight;
+                final int bPlanarOffset = iPlane * blockWidth * blockHeight;
                 for (int i = 0; i < h; i++) {
                     final int yR = yR0 + i;
                     final int yB = yB0 + i;
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/tiff/fieldtypes/FieldTypeRational.java
 
b/src/main/java/org/apache/commons/imaging/formats/tiff/fieldtypes/FieldTypeRational.java
index 644964c3..cf2e8d6c 100644
--- 
a/src/main/java/org/apache/commons/imaging/formats/tiff/fieldtypes/FieldTypeRational.java
+++ 
b/src/main/java/org/apache/commons/imaging/formats/tiff/fieldtypes/FieldTypeRational.java
@@ -31,7 +31,7 @@ public class FieldTypeRational extends FieldType {
     @Override
     public Object getValue(final TiffField entry) {
         final byte[] bytes = entry.getByteArrayValue();
-        boolean unsignedType = entry.getFieldType() != SRATIONAL;
+        final boolean unsignedType = entry.getFieldType() != SRATIONAL;
         if (entry.getCount() == 1) {
             return ByteConversions.toRational(
                     bytes,
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/tiff/write/TiffImageWriterBase.java
 
b/src/main/java/org/apache/commons/imaging/formats/tiff/write/TiffImageWriterBase.java
index f79b3551..97a0dd7d 100644
--- 
a/src/main/java/org/apache/commons/imaging/formats/tiff/write/TiffImageWriterBase.java
+++ 
b/src/main/java/org/apache/commons/imaging/formats/tiff/write/TiffImageWriterBase.java
@@ -300,11 +300,11 @@ public abstract class TiffImageWriterBase {
         }
     }
 
-    public void writeImage(final BufferedImage src, final OutputStream os, 
TiffImagingParameters params)
+    public void writeImage(final BufferedImage src, final OutputStream os, 
final TiffImagingParameters params)
             throws ImageWriteException, IOException {
-        TiffOutputSet userExif = params.getOutputSet();
+        final TiffOutputSet userExif = params.getOutputSet();
 
-        String xmpXml = params.getXmpXml();
+        final String xmpXml = params.getXmpXml();
 
         PixelDensity pixelDensity = params.getPixelDensity();
         if (pixelDensity == null) {
@@ -339,7 +339,7 @@ public abstract class TiffImageWriterBase {
         short predictor = TiffTagConstants.PREDICTOR_VALUE_NONE;
 
         int stripSizeInBits = 64000; // the default from legacy implementation
-        Integer compressionParameter = params.getCompression();
+        final Integer compressionParameter = params.getCompression();
         if (compressionParameter != null) {
             compression = compressionParameter;
             final Integer stripSizeInBytes = 
params.getLzwCompressionBlockSize();
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/tiff/write/TiffImageWriterLossless.java
 
b/src/main/java/org/apache/commons/imaging/formats/tiff/write/TiffImageWriterLossless.java
index 7f1b9216..b305ce04 100644
--- 
a/src/main/java/org/apache/commons/imaging/formats/tiff/write/TiffImageWriterLossless.java
+++ 
b/src/main/java/org/apache/commons/imaging/formats/tiff/write/TiffImageWriterLossless.java
@@ -110,15 +110,12 @@ public class TiffImageWriterLossless extends 
TiffImageWriterBase {
                 final long lastElementByte = element.offset + element.length;
                 if (start == null) {
                     start = element;
-                    index = lastElementByte;
                 } else if (element.offset - index > TOLERANCE) {
                     rewritableElements.add(new TiffElement.Stub(start.offset,
                             (int) (index - start.offset)));
                     start = element;
-                    index = lastElementByte;
-                } else {
-                    index = lastElementByte;
                 }
+                index = lastElementByte;
             }
             if (null != start) {
                 rewritableElements.add(new TiffElement.Stub(start.offset,
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/wbmp/WbmpImageParser.java 
b/src/main/java/org/apache/commons/imaging/formats/wbmp/WbmpImageParser.java
index 9e265912..070ef7da 100644
--- a/src/main/java/org/apache/commons/imaging/formats/wbmp/WbmpImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/wbmp/WbmpImageParser.java
@@ -218,7 +218,7 @@ public class WbmpImageParser extends 
ImageParser<WbmpImagingParameters> {
     }
 
     @Override
-    public void writeImage(final BufferedImage src, final OutputStream os, 
WbmpImagingParameters params)
+    public void writeImage(final BufferedImage src, final OutputStream os, 
final WbmpImagingParameters params)
             throws ImageWriteException, IOException {
         writeMultiByteInteger(os, 0); // typeField
         os.write(0); // fixHeaderField
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/xbm/XbmImageParser.java 
b/src/main/java/org/apache/commons/imaging/formats/xbm/XbmImageParser.java
index b0eaab7e..e04c2820 100644
--- a/src/main/java/org/apache/commons/imaging/formats/xbm/XbmImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/xbm/XbmImageParser.java
@@ -342,7 +342,7 @@ public class XbmImageParser extends 
ImageParser<XbmImagingParameters> {
     }
 
     @Override
-    public void writeImage(final BufferedImage src, final OutputStream os, 
XbmImagingParameters params)
+    public void writeImage(final BufferedImage src, final OutputStream os, 
final XbmImagingParameters params)
             throws ImageWriteException, IOException {
         final String name = randomName();
 
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/xpm/XpmImageParser.java 
b/src/main/java/org/apache/commons/imaging/formats/xpm/XpmImageParser.java
index 4c3e85e7..93d8ee83 100644
--- a/src/main/java/org/apache/commons/imaging/formats/xpm/XpmImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/xpm/XpmImageParser.java
@@ -379,10 +379,7 @@ public class XpmImageParser extends 
ImageParser<XpmImagingParameters> {
         } else if ("g".equals(key)) {
             paletteEntry.grayArgb = parseColor(color);
             paletteEntry.haveGray = true;
-        } else if ("s".equals(key)) {
-            paletteEntry.colorArgb = parseColor(color);
-            paletteEntry.haveColor = true;
-        } else if ("c".equals(key)) {
+        } else if ("s".equals(key) || "c".equals(key)) {
             paletteEntry.colorArgb = parseColor(color);
             paletteEntry.haveColor = true;
         }
@@ -647,7 +644,7 @@ public class XpmImageParser extends 
ImageParser<XpmImagingParameters> {
     }
 
     @Override
-    public void writeImage(final BufferedImage src, final OutputStream os, 
XpmImagingParameters params)
+    public void writeImage(final BufferedImage src, final OutputStream os, 
final XpmImagingParameters params)
             throws ImageWriteException, IOException {
         final PaletteFactory paletteFactory = new PaletteFactory();
         final boolean hasTransparency = paletteFactory.hasTransparency(src, 1);
diff --git a/src/main/java/org/apache/commons/imaging/internal/Util.java 
b/src/main/java/org/apache/commons/imaging/internal/Util.java
index 995ea2d6..7c02baad 100644
--- a/src/main/java/org/apache/commons/imaging/internal/Util.java
+++ b/src/main/java/org/apache/commons/imaging/internal/Util.java
@@ -35,17 +35,17 @@ public class Util {
 
     private Util() {}
 
-    public static ImageParser<?> getImageParser(ImageFormat format) {
-        return getImageParser((parser) -> parser.canAcceptType(format), () -> 
new IllegalArgumentException("Unknown Format: " + format));
+    public static ImageParser<?> getImageParser(final ImageFormat format) {
+        return getImageParser(parser -> parser.canAcceptType(format), () -> 
new IllegalArgumentException("Unknown Format: " + format));
     }
 
-    public static ImageParser<?> getImageParser(String fileExtension) {
-        return getImageParser((parser) -> 
parser.canAcceptExtension(fileExtension), () -> new 
IllegalArgumentException("Unknown Extension: " + fileExtension));
+    public static ImageParser<?> getImageParser(final String fileExtension) {
+        return getImageParser(parser -> 
parser.canAcceptExtension(fileExtension), () -> new 
IllegalArgumentException("Unknown Extension: " + fileExtension));
     }
 
     // This generics suppression is as good as the predicate given. If the 
predicate violates a generics design,
     // then there will be an error during runtime.
-    private static ImageParser<?> getImageParser(Predicate<ImageParser<?>> 
pred, Supplier<? extends RuntimeException> supplier) {
+    private static ImageParser<?> getImageParser(final 
Predicate<ImageParser<?>> pred, final Supplier<? extends RuntimeException> 
supplier) {
         return (ImageParser<?>) ImageParser
                 .getAllImageParsers()
                 .stream()
diff --git 
a/src/main/java/org/apache/commons/imaging/palette/PaletteFactory.java 
b/src/main/java/org/apache/commons/imaging/palette/PaletteFactory.java
index 99ae0060..2c0ceb0f 100644
--- a/src/main/java/org/apache/commons/imaging/palette/PaletteFactory.java
+++ b/src/main/java/org/apache/commons/imaging/palette/PaletteFactory.java
@@ -220,9 +220,8 @@ public class PaletteFactory {
 
     private DivisionCandidate divideSubset2(final int[] table,
             final ColorSpaceSubset subset, final int precision) {
-        final List<DivisionCandidate> dcs = new ArrayList<>();
+        final List<DivisionCandidate> dcs = new 
ArrayList<>(divideSubset2(table, subset, 0, precision));
 
-        dcs.addAll(divideSubset2(table, subset, 0, precision));
         dcs.addAll(divideSubset2(table, subset, 1, precision));
         dcs.addAll(divideSubset2(table, subset, 2, precision));
 
@@ -238,10 +237,7 @@ public class PaletteFactory {
             final int diff = Math.abs(area1 - area2);
             final double score = ((double) diff) / ((double) Math.max(area1, 
area2));
 
-            if (bestV == null) {
-                bestV = dc;
-                bestScore = score;
-            } else if (score < bestScore) {
+            if (bestV == null || score < bestScore) {
                 bestV = dc;
                 bestScore = score;
             }
@@ -277,10 +273,7 @@ public class PaletteFactory {
                 }
                 final int area = subset.total;
 
-                if (maxSubset == null) {
-                    maxSubset = subset;
-                    maxArea = area;
-                } else if (area > maxArea) {
+                if (maxSubset == null || area > maxArea) {
                     maxSubset = subset;
                     maxArea = area;
                 }
@@ -328,7 +321,7 @@ public class PaletteFactory {
         final int width = src.getWidth();
         final int height = src.getHeight();
 
-        List<ColorSpaceSubset> subsets = new ArrayList<>();
+        final List<ColorSpaceSubset> subsets = new ArrayList<>();
         final ColorSpaceSubset all = new ColorSpaceSubset(width * height, 
precision);
         subsets.add(all);
 
diff --git 
a/src/test/java/org/apache/commons/imaging/common/RationalNumberTest.java 
b/src/test/java/org/apache/commons/imaging/common/RationalNumberTest.java
index 40cb1af5..8f40bd71 100644
--- a/src/test/java/org/apache/commons/imaging/common/RationalNumberTest.java
+++ b/src/test/java/org/apache/commons/imaging/common/RationalNumberTest.java
@@ -126,7 +126,7 @@ public class RationalNumberTest extends ImagingTest {
 
     @Test
     public void testSpecialRationalNumber(){
-        RationalNumber test = new RationalNumber(0xF5937B1F, 70_000_000, true);
+        final RationalNumber test = new RationalNumber(0xF5937B1F, 70_000_000, 
true);
         assertEquals(58.858331871428570, test.doubleValue(), 1.0e-14, 
"Unsigned integer support failed for double conversion");
         assertEquals(58.858334f, test.floatValue(), 1.0e-6f, "Float conversion 
failed");
         assertEquals(58L, test.longValue(), "Long value conversion failed");
diff --git 
a/src/test/java/org/apache/commons/imaging/common/bytesource/ByteSourceImageTest.java
 
b/src/test/java/org/apache/commons/imaging/common/bytesource/ByteSourceImageTest.java
index d839ed38..e8fc0658 100644
--- 
a/src/test/java/org/apache/commons/imaging/common/bytesource/ByteSourceImageTest.java
+++ 
b/src/test/java/org/apache/commons/imaging/common/bytesource/ByteSourceImageTest.java
@@ -172,7 +172,7 @@ public class ByteSourceImageTest extends ByteSourceTest {
             params = new JpegImagingParameters();
         }
 
-        ImageParser imageParser = Util.getImageParser(imageFormat);
+        final ImageParser imageParser = Util.getImageParser(imageFormat);
 
         final ImageInfo imageInfoFile = imageParser.getImageInfo(imageFile, 
params);
 
diff --git 
a/src/test/java/org/apache/commons/imaging/examples/tiff/ExampleReadFloatingPointData.java
 
b/src/test/java/org/apache/commons/imaging/examples/tiff/ExampleReadFloatingPointData.java
index 255e962c..db95b225 100644
--- 
a/src/test/java/org/apache/commons/imaging/examples/tiff/ExampleReadFloatingPointData.java
+++ 
b/src/test/java/org/apache/commons/imaging/examples/tiff/ExampleReadFloatingPointData.java
@@ -29,7 +29,6 @@ import org.apache.commons.imaging.FormatCompliance;
 import org.apache.commons.imaging.ImageReadException;
 import org.apache.commons.imaging.common.ImageBuilder;
 import org.apache.commons.imaging.common.bytesource.ByteSourceFile;
-import org.apache.commons.imaging.formats.jpeg.JpegImagingParameters;
 import org.apache.commons.imaging.formats.tiff.TiffContents;
 import org.apache.commons.imaging.formats.tiff.TiffDirectory;
 import org.apache.commons.imaging.formats.tiff.TiffImagingParameters;
diff --git 
a/src/test/java/org/apache/commons/imaging/examples/tiff/ReadTagsAndImages.java 
b/src/test/java/org/apache/commons/imaging/examples/tiff/ReadTagsAndImages.java
index e53ca018..9e90136c 100644
--- 
a/src/test/java/org/apache/commons/imaging/examples/tiff/ReadTagsAndImages.java
+++ 
b/src/test/java/org/apache/commons/imaging/examples/tiff/ReadTagsAndImages.java
@@ -26,7 +26,6 @@ import javax.imageio.ImageIO;
 import org.apache.commons.imaging.FormatCompliance;
 import org.apache.commons.imaging.ImageReadException;
 import org.apache.commons.imaging.common.bytesource.ByteSourceFile;
-import org.apache.commons.imaging.formats.jpeg.JpegImagingParameters;
 import org.apache.commons.imaging.formats.tiff.TiffContents;
 import org.apache.commons.imaging.formats.tiff.TiffDirectory;
 import org.apache.commons.imaging.formats.tiff.TiffField;
@@ -72,7 +71,7 @@ public class ReadTagsAndImages {
         // For brevity, map System.out to a PrintStream reference.
         // In the future, this might also be used for writing to a text file
         // rather than standard output.
-        PrintStream ps = System.out;
+        final PrintStream ps = System.out;
 
         final File target = new File(args[0]);
         String rootName = null;
@@ -156,13 +155,13 @@ public class ReadTagsAndImages {
     // See also:
     //     Open Geospatial Consortium [OGC] (2019) OGC GeoTIFF Standard 
Version 1.1
     //     http://www.opengis.net/doc/IS/GeoTIFF/1.1
-    
+
     enum GeoKey{
       // From 6.2.1 GeoTiff Configuration Keys
         GTModelTypeGeoKey(             1024), /* Section 6.3.1.1 Codes       */
         GTRasterTypeGeoKey(            1025), /* Section 6.3.1.2 Codes       */
         GTCitationGeoKey(              1026), /* documentation */
-        
+
         // From 6.2.2 Geographic Coordinate System Parameter Keys
         GeographicTypeGeoKey(          2048), /* Section 6.3.2.1 Codes     */
         GeogCitationGeoKey(            2049), /* documentation             */
@@ -178,7 +177,7 @@ public class ReadTagsAndImages {
         GeogInvFlatteningGeoKey(       2059), /* ratio                     */
         GeogAzimuthUnitsGeoKey(        2060), /* Section 6.3.1.4 Codes     */
         GeogPrimeMeridianLongGeoKey(   2061), /* GeogAngularUnit           */
-        
+
         // From 6.2.3 Projected Coordinate System Parameter Keys
         ProjectedCRSGeoKey(              3072),  /* Section 6.3.3.1 codes   */
         PCSCitationGeoKey(               3073),  /* documentation           */
@@ -209,16 +208,16 @@ public class ReadTagsAndImages {
         VerticalCitationGeoKey(          4097),   /* documentation */
         VerticalDatumGeoKey(             4098),   /* Section 6.3.4.2 codes   */
         VerticalUnitsGeoKey(             4099),   /* Section 6.3.1.3 codes   */
-        
+
         // Widely used key not defined in original specification
         To_WGS84_GeoKey(                 2062);   /* Not in original spec */
-         
+
         int key;
-        GeoKey(int key) {
-            this.key = key; 
+        GeoKey(final int key) {
+            this.key = key;
         }
-    };
-    
+    }
+
     private static HashMap<Integer, GeoKey> keyMap;
     private static String nameFormat;
 
@@ -231,15 +230,15 @@ public class ReadTagsAndImages {
      * @throws ImageReadException in the event of a data-format error or
      * unhandled I/O error.
      */
-    private static void summarizeGeoTiffTags(PrintStream ps, TiffDirectory 
directory)
+    private static void summarizeGeoTiffTags(final PrintStream ps, final 
TiffDirectory directory)
         throws ImageReadException {
 
         if (keyMap == null) {
-            GeoKey[] values = GeoKey.values();
+            final GeoKey[] values = GeoKey.values();
             int maxNameLength = 0;
             keyMap = new HashMap<>();
-            for (GeoKey g : values) {
-                String name = g.name();
+            for (final GeoKey g : values) {
+                final String name = g.name();
                 if (name.length() > maxNameLength) {
                     maxNameLength = name.length();
                 }
@@ -251,7 +250,7 @@ public class ReadTagsAndImages {
         }
 
         // check to see if the directory has GeoTIFF tags.
-        short[] geoKeyDirectory = directory.getFieldValue(
+        final short[] geoKeyDirectory = directory.getFieldValue(
             GeoTiffTagConstants.EXIF_TAG_GEO_KEY_DIRECTORY_TAG, false);
         if (geoKeyDirectory == null || geoKeyDirectory.length < 4) {
             // The TIFF directory does not contain GeoTIFF information
@@ -260,9 +259,9 @@ public class ReadTagsAndImages {
         ps.println("");
         ps.println("Summary of GeoTIFF Elements ----------------------------");
 
-        short[] bitsPerSample = directory.getFieldValue(
+        final short[] bitsPerSample = directory.getFieldValue(
             TiffTagConstants.TIFF_TAG_BITS_PER_SAMPLE, false);
-        short[] sampleFormat = directory.getFieldValue(
+        final short[] sampleFormat = directory.getFieldValue(
             TiffTagConstants.TIFF_TAG_SAMPLE_FORMAT, false);
         String contentTypeString = null;
         if (bitsPerSample != null && sampleFormat != null) {
@@ -275,7 +274,7 @@ public class ReadTagsAndImages {
         }
         if (contentTypeString != null) {
             ps.format("%nContent Type: %s", contentTypeString);
-            String gdalNoDataString[] = directory.getFieldValue(
+            final String gdalNoDataString[] = directory.getFieldValue(
                 GdalLibraryTagConstants.EXIF_TAG_GDAL_NO_DATA, false);
             if (gdalNoDataString != null && gdalNoDataString.length > 0) {
                 ps.format("    GDAL No-Data value: %s", gdalNoDataString[0]);
@@ -284,11 +283,11 @@ public class ReadTagsAndImages {
         }
 
         // all GeoKeyDirectory elements are unsigned shorts (2 bytes).
-        // Some of which exceed the value 32767, the maximum value of 
+        // Some of which exceed the value 32767, the maximum value of
         // a signed short). Because Java does not support an unsigned short 
type,
-        // we need to mask in the low-order 2 bytes and obtain a 4-byte 
integer 
+        // we need to mask in the low-order 2 bytes and obtain a 4-byte integer
         // equivalent.
-        int[] elements = new int[geoKeyDirectory.length];
+        final int[] elements = new int[geoKeyDirectory.length];
         for (int i = 0; i < geoKeyDirectory.length; i++) {
             elements[i] = geoKeyDirectory[i] & 0xffff;
         }
@@ -298,7 +297,7 @@ public class ReadTagsAndImages {
         // European Petroleum Survey Group (EPSG) map projection ID
         // and may omit the floating-point map-projection parameters.
         // That approach is generally discouraged, but not prohibited.
-        TiffField doubleParametersField = directory.findField(
+        final TiffField doubleParametersField = directory.findField(
             GeoTiffTagConstants.EXIF_TAG_GEO_DOUBLE_PARAMS_TAG);
         double[] doubleParameters = null;
         if (doubleParametersField != null) {
@@ -307,7 +306,7 @@ public class ReadTagsAndImages {
 
         // Get the ASCII field, Tag ID=34737 (0x87B1). This field
         // is often, but not always, present.
-        TiffField asciiParametersField = directory.findField(
+        final TiffField asciiParametersField = directory.findField(
             GeoTiffTagConstants.EXIF_TAG_GEO_ASCII_PARAMS_TAG);
         String asciiParameters = null;
         if (asciiParametersField != null) {
@@ -319,10 +318,10 @@ public class ReadTagsAndImages {
         int k = 0;
         int n = elements.length / 4;
         for (int i = 0; i < n; i++) {
-            int key = elements[k];
-            int ref = elements[k + 1];
-            int len = elements[k + 2];
-            int vop = elements[k + 3];
+            final int key = elements[k];
+            final int ref = elements[k + 1];
+            final int len = elements[k + 2];
+            final int vop = elements[k + 3];
             String label = "";
             if (ref == GeoTiffTagConstants.EXIF_TAG_GEO_ASCII_PARAMS_TAG.tag) {
                 label = "(A)";
@@ -366,9 +365,9 @@ public class ReadTagsAndImages {
         //        (following the conventional graphics standards). In cases
         //        where the rows in the image or rster run from north to south,
         //        one might expect that the delta-Y between rows would be
-        //        a negative number.  But by the GeoTIFF standard, 
+        //        a negative number.  But by the GeoTIFF standard,
         //        the verical spacing is given as a postive   number.
-        TiffField pixelScaleField = directory.findField(
+        final TiffField pixelScaleField = directory.findField(
             GeoTiffTagConstants.EXIF_TAG_MODEL_PIXEL_SCALE_TAG);
         double[] pixelScale;
         if (pixelScaleField == null) {
@@ -376,19 +375,19 @@ public class ReadTagsAndImages {
         } else {
             pixelScale = pixelScaleField.getDoubleArrayValue();
             ps.format("%nModelPixelScale%n");
-            for (int i = 0; i < pixelScale.length; i++) {
-                ps.format("   %15.10e", pixelScale[i]);
+            for (final double element : pixelScale) {
+                ps.format("   %15.10e", element);
             }
             ps.format("%n");
         }
 
-        TiffField modelTiepointField = directory.findField(
+        final TiffField modelTiepointField = directory.findField(
             GeoTiffTagConstants.EXIF_TAG_MODEL_TIEPOINT_TAG);
         if (modelTiepointField != null) {
             ps.format("%nModelTiepointTag%n");
             ps.println("           Pixel                           Model");
 
-            double[] tiePoints = modelTiepointField.getDoubleArrayValue();
+            final double[] tiePoints = 
modelTiepointField.getDoubleArrayValue();
             n = tiePoints.length / 6;
             for (int i = 0; i < n; i++) {
                 ps.format("   ");
@@ -403,11 +402,11 @@ public class ReadTagsAndImages {
             }
         }
 
-        TiffField modelTransformField = directory.findField(
+        final TiffField modelTransformField = directory.findField(
             GeoTiffTagConstants.EXIF_TAG_MODEL_TRANSFORMATION_TAG);
         if (modelTransformField != null) {
             ps.format("%nModelTransformationTag%n");
-            double[] mtf = modelTiepointField.getDoubleArrayValue();
+            final double[] mtf = modelTiepointField.getDoubleArrayValue();
             if (mtf.length >= 16) {
                 for (int i = 0; i < 4; i++) {
                     ps.format("   ");
@@ -456,10 +455,10 @@ public class ReadTagsAndImages {
 
         int key;
 
-        CoordinateTransformationCode(int key){
+        CoordinateTransformationCode(final int key){
          this.key = key;
-        } 
-        
+        }
+
         /**
          * Gets the enumeration value associated with the specified
          * key if any.
@@ -467,8 +466,8 @@ public class ReadTagsAndImages {
          * @return if the key is matched, a value enumeration value;
          * otherwise, a null.
          */
-        static CoordinateTransformationCode getValueForKey(int key){
-            for(CoordinateTransformationCode v: values()){
+        static CoordinateTransformationCode getValueForKey(final int key){
+            for(final CoordinateTransformationCode v: values()){
                 if(v.key==key){
                     return v;
                 }
@@ -495,8 +494,8 @@ public class ReadTagsAndImages {
      * more useful description is not available.
      */
     private static String interpretElements(
-        GeoKey geoKey, int ref, int len, int valueOrPosition,
-        double[] doubleParameters, String asciiParameters) {
+        final GeoKey geoKey, final int ref, final int len, final int 
valueOrPosition,
+        final double[] doubleParameters, final String asciiParameters) {
         switch (geoKey) {
             case GTModelTypeGeoKey:
                 switch (valueOrPosition) {
@@ -565,7 +564,7 @@ public class ReadTagsAndImages {
                 }
                 break;
             case ProjCoordTransGeoKey:
-                CoordinateTransformationCode code = 
+                final CoordinateTransformationCode code =
                     
CoordinateTransformationCode.getValueForKey(valueOrPosition);
                 if(code!=null){
                     return code.name();
@@ -595,7 +594,7 @@ public class ReadTagsAndImages {
             case ProjCenterLongGeoKey:
             case ProjCenterLatGeoKey:
                 return String.format("%13.4f", 
doubleParameters[valueOrPosition]);
-                
+
             default:
                 break;
         }
@@ -613,7 +612,7 @@ public class ReadTagsAndImages {
      * @param len the length of the sub-string.
      * @return a valid string.
      */
-    private static String extractAscii(String asciiParameters, int pos, int 
len) {
+    private static String extractAscii(final String asciiParameters, final int 
pos, final int len) {
         if (asciiParameters != null && len > 0 && pos + len <= 
asciiParameters.length()) {
             return asciiParameters.substring(pos, pos + len - 1);
         }
@@ -632,9 +631,9 @@ public class ReadTagsAndImages {
      * @param len the number of values for the GeoKey
      * @return a formatted string.
      */
-    private static String extractDouble(double[] doubleParameters, int pos, 
int len) {
+    private static String extractDouble(final double[] doubleParameters, final 
int pos, final int len) {
         if (doubleParameters != null && doubleParameters.length >= pos + len) {
-            StringBuilder sb = new StringBuilder();
+            final StringBuilder sb = new StringBuilder();
             for (int i = 0; i < len && i < 3; i++) {
                 if (i > 0) {
                     sb.append(" | ");
diff --git 
a/src/test/java/org/apache/commons/imaging/formats/jpeg/JpegReadTest.java 
b/src/test/java/org/apache/commons/imaging/formats/jpeg/JpegReadTest.java
index e589d60f..39e6708b 100644
--- a/src/test/java/org/apache/commons/imaging/formats/jpeg/JpegReadTest.java
+++ b/src/test/java/org/apache/commons/imaging/formats/jpeg/JpegReadTest.java
@@ -45,7 +45,7 @@ public class JpegReadTest extends JpegBaseTest {
     @ParameterizedTest
     @MethodSource("data")
     public void test(final File imageFile) throws Exception {
-        JpegImageParser jpegImageParser = new JpegImageParser();
+        final JpegImageParser jpegImageParser = new JpegImageParser();
         final ImageMetadata metadata = jpegImageParser.getExifMetadata(new 
ByteSourceFile(imageFile), new TiffImagingParameters());
         // TODO only run this tests with images that have metadata...
         //assertNotNull(metadata);
diff --git 
a/src/test/java/org/apache/commons/imaging/formats/jpeg/decoder/JpegInputStreamTest.java
 
b/src/test/java/org/apache/commons/imaging/formats/jpeg/decoder/JpegInputStreamTest.java
index 6598b409..616b3673 100644
--- 
a/src/test/java/org/apache/commons/imaging/formats/jpeg/decoder/JpegInputStreamTest.java
+++ 
b/src/test/java/org/apache/commons/imaging/formats/jpeg/decoder/JpegInputStreamTest.java
@@ -39,7 +39,7 @@ public class JpegInputStreamTest {
 
   @Test
   public void testNextBitThrowsImageReadExceptionTwo() {
-    final int[] byteArray = new int[0];
+    final int[] byteArray = {};
     final JpegInputStream jpegInputStream = new JpegInputStream(byteArray);
 
     Assertions.assertThrows(IllegalStateException.class, 
jpegInputStream::nextBit);
diff --git 
a/src/test/java/org/apache/commons/imaging/formats/jpeg/exif/ExifRewriteTest.java
 
b/src/test/java/org/apache/commons/imaging/formats/jpeg/exif/ExifRewriteTest.java
index fde7eebf..13ec8700 100644
--- 
a/src/test/java/org/apache/commons/imaging/formats/jpeg/exif/ExifRewriteTest.java
+++ 
b/src/test/java/org/apache/commons/imaging/formats/jpeg/exif/ExifRewriteTest.java
@@ -28,7 +28,6 @@ import java.io.File;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
diff --git 
a/src/test/java/org/apache/commons/imaging/formats/jpeg/exif/MicrosoftTagTest.java
 
b/src/test/java/org/apache/commons/imaging/formats/jpeg/exif/MicrosoftTagTest.java
index e2e257fb..f139cc87 100644
--- 
a/src/test/java/org/apache/commons/imaging/formats/jpeg/exif/MicrosoftTagTest.java
+++ 
b/src/test/java/org/apache/commons/imaging/formats/jpeg/exif/MicrosoftTagTest.java
@@ -25,7 +25,6 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.commons.imaging.ImageFormats;
 import org.apache.commons.imaging.ImageReadException;
 import org.apache.commons.imaging.ImageWriteException;
 import org.apache.commons.imaging.Imaging;
@@ -60,7 +59,7 @@ public class MicrosoftTagTest extends ExifBaseTest {
         root.add(MicrosoftTagConstants.EXIF_TAG_XPTITLE, TITLE);
         final TiffImagingParameters params = new TiffImagingParameters();
         params.setOutputSet(exifSet);
-        TiffImageParser tiffImageParser = new TiffImageParser();
+        final TiffImageParser tiffImageParser = new TiffImageParser();
         final byte[] bytes;
         try (ByteArrayOutputStream baos = new ByteArrayOutputStream()) {
             tiffImageParser.writeImage(image, baos, params);
diff --git 
a/src/test/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcParserTest.java
 
b/src/test/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcParserTest.java
index f8911908..39104693 100644
--- 
a/src/test/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcParserTest.java
+++ 
b/src/test/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcParserTest.java
@@ -71,11 +71,8 @@ public class IptcParserTest {
         final List<IptcBlock> blocks = photoshopApp13Data.getRawBlocks();
         assertEquals(2, blocks.size());
         for (final IptcBlock block : blocks) {
-            if (block.getBlockType() == 1028) {
+            if ((block.getBlockType() == 1028) || (block.getBlockType() == 
1061)) {
                 // 0x0404 IPTC-NAA record
-                final byte[] data = block.getBlockData();
-                assertTrue(data.length > 0);
-            } else if (block.getBlockType() == 1061) {
                 // 0x0425 (Photoshop 7.0) Caption digest
                 final byte[] data = block.getBlockData();
                 assertTrue(data.length > 0);
@@ -93,15 +90,16 @@ public class IptcParserTest {
     @Test
     public void testEncodingSupport() throws IOException, ImageReadException {
         // NOTE: We use the JpegParser, so it will send only the block/segment 
that IptcParser needs for the test image
-        File file = new 
File(IptcParserTest.class.getResource("/images/jpeg/iptc/IMAGING-168/111083453-c07f1880-851e-11eb-8b61-2757f7d934bf.jpg").getFile());
-        JpegImageParser parser = new JpegImageParser();
-        JpegImageMetadata metadata = (JpegImageMetadata) 
parser.getMetadata(file);
-        JpegPhotoshopMetadata photoshopMetadata = metadata.getPhotoshop();
+        final File file = new 
File(IptcParserTest.class.getResource("/images/jpeg/iptc/IMAGING-168/111083453-c07f1880-851e-11eb-8b61-2757f7d934bf.jpg").getFile());
+        final JpegImageParser parser = new JpegImageParser();
+        final JpegImageMetadata metadata = (JpegImageMetadata) 
parser.getMetadata(file);
+        final JpegPhotoshopMetadata photoshopMetadata = 
metadata.getPhotoshop();
         @SuppressWarnings("unchecked")
+        final
         List<GenericImageMetadataItem> items = 
(List<GenericImageMetadataItem>) photoshopMetadata.getItems();
-        GenericImageMetadataItem thanksInMandarin = items.get(3);
+        final GenericImageMetadataItem thanksInMandarin = items.get(3);
         // converted the thank-you in chinese characters to unicode for 
comparison here
-        assertArrayEquals("\u8c22\u8c22".getBytes(StandardCharsets.UTF_8), 
+        assertArrayEquals("\u8c22\u8c22".getBytes(StandardCharsets.UTF_8),
               thanksInMandarin.getText().getBytes(StandardCharsets.UTF_8));
     }
 }
diff --git 
a/src/test/java/org/apache/commons/imaging/formats/png/PngWithInvalidPngChunkSizeTest.java
 
b/src/test/java/org/apache/commons/imaging/formats/png/PngWithInvalidPngChunkSizeTest.java
index 7b6279e6..be2e13f9 100644
--- 
a/src/test/java/org/apache/commons/imaging/formats/png/PngWithInvalidPngChunkSizeTest.java
+++ 
b/src/test/java/org/apache/commons/imaging/formats/png/PngWithInvalidPngChunkSizeTest.java
@@ -39,7 +39,7 @@ public class PngWithInvalidPngChunkSizeTest {
         final File imageFile = new 
File(JpegWithInvalidDhtSegmentTest.class.getResource("/IMAGING-211/testfile_2.png").getFile());
         final PngImagingParameters params = new PngImagingParameters();
         params.setBufferedImageFactory(new ManagedImageBufferedImageFactory());
-        PngImageParser jpegImageParser = new PngImageParser();
+        final PngImageParser jpegImageParser = new PngImageParser();
         Assertions.assertThrows(ImageReadException.class, () -> 
jpegImageParser.getBufferedImage(imageFile, params));
     }
 
@@ -53,7 +53,7 @@ public class PngWithInvalidPngChunkSizeTest {
                 
JpegWithInvalidDhtSegmentTest.class.getResource("/IMAGING-210/testfile.png").getFile());
         final PngImagingParameters params = new PngImagingParameters();
         params.setBufferedImageFactory(new ManagedImageBufferedImageFactory());
-        PngImageParser jpegImageParser = new PngImageParser();
+        final PngImageParser jpegImageParser = new PngImageParser();
         Assertions.assertThrows(ImageReadException.class, () -> 
jpegImageParser.getBufferedImage(imageFile, params));
     }
 }
diff --git 
a/src/test/java/org/apache/commons/imaging/formats/png/PngWritePredictorTest.java
 
b/src/test/java/org/apache/commons/imaging/formats/png/PngWritePredictorTest.java
index 26bafd56..2ef113fd 100644
--- 
a/src/test/java/org/apache/commons/imaging/formats/png/PngWritePredictorTest.java
+++ 
b/src/test/java/org/apache/commons/imaging/formats/png/PngWritePredictorTest.java
@@ -55,12 +55,12 @@ public class PngWritePredictorTest {
    */
   private int[] populateARGB() {
     //populate array with a blend of color components
-    int[] argb = new int[256 * 256];
+    final int[] argb = new int[256 * 256];
     for (int i = 0; i < 256; i++) {
       for (int j = 0; j < 256; j++) {
-        int red = i;
-        int green = (255 - i);
-        int blue = j;
+        final int red = i;
+        final int green = (255 - i);
+        final int blue = j;
         argb[i * 256 + j] = ((((0xff00 | red) << 8) | green) << 8) | blue;
       }
     }
@@ -77,7 +77,7 @@ public class PngWritePredictorTest {
 
   @Test
   void testWriteWithPredictor() {
-    int[] argb = populateARGB();
+    final int[] argb = populateARGB();
 
     // Test the RGB (no alpha) case ---------------------
     BufferedImage bImage = new BufferedImage(256, 256, 
BufferedImage.TYPE_INT_RGB);
@@ -87,12 +87,12 @@ public class PngWritePredictorTest {
 
     try {
       tempFile = File.createTempFile("PngWritePredictorRGB", ".png");
-    } catch (IOException ioex) {
+    } catch (final IOException ioex) {
       fail("Failed to create temporary file, " + ioex.getMessage());
     }
-    PngImagingParameters params = new PngImagingParameters();
+    final PngImagingParameters params = new PngImagingParameters();
     params.setPredictorEnabled(true);
-    PngImageParser parser = new PngImageParser();
+    final PngImageParser parser = new PngImageParser();
     try ( FileOutputStream fos = new FileOutputStream(tempFile);  
BufferedOutputStream bos = new BufferedOutputStream(fos)) {
       parser.writeImage(bImage, bos, params);
       bos.flush();
@@ -101,11 +101,11 @@ public class PngWritePredictorTest {
     }
 
     try {
-      int[] brgb = new int[256 * 256];
+      final int[] brgb = new int[256 * 256];
       bImage = ImageIO.read(tempFile);
       bImage.getRGB(0, 0, 256, 256, brgb, 0, 256);
       assertArrayEquals(argb, brgb, "Round trip for RGB failed");
-    } catch (IOException ex) {
+    } catch (final IOException ex) {
       fail("Failed reading RGB with exception " + ex.getMessage());
     }
 
@@ -122,11 +122,11 @@ public class PngWritePredictorTest {
       fail("Failed writing ARGB with exception " + ex.getMessage());
     }
     try {
-      int[] brgb = new int[256 * 256];
+      final int[] brgb = new int[256 * 256];
       bImage = ImageIO.read(tempFile);
       bImage.getRGB(0, 0, 256, 256, brgb, 0, 256);
       assertArrayEquals(argb, brgb, "Round trip for ARGB failed");
-    } catch (IOException ex) {
+    } catch (final IOException ex) {
       fail("Failed reading ARGB with exception " + ex.getMessage());
     }
 
diff --git 
a/src/test/java/org/apache/commons/imaging/formats/png/PngWriteReadTest.java 
b/src/test/java/org/apache/commons/imaging/formats/png/PngWriteReadTest.java
index b8299995..e7668893 100644
--- a/src/test/java/org/apache/commons/imaging/formats/png/PngWriteReadTest.java
+++ b/src/test/java/org/apache/commons/imaging/formats/png/PngWriteReadTest.java
@@ -205,7 +205,7 @@ public class PngWriteReadTest extends ImagingTest {
         final PngImagingParameters writeParams = new PngImagingParameters();
         writeParams.setTextChunks(textChunks);
 
-        PngImageParser pngImageParser = new PngImageParser();
+        final PngImageParser pngImageParser = new PngImageParser();
         final byte[] bytes;
         try (ByteArrayOutputStream os = new ByteArrayOutputStream()) {
             pngImageParser.writeImage(srcImage, os, writeParams);
diff --git 
a/src/test/java/org/apache/commons/imaging/formats/tiff/TiffAlphaRoundTripTest.java
 
b/src/test/java/org/apache/commons/imaging/formats/tiff/TiffAlphaRoundTripTest.java
index 2e9af5c5..35e55d45 100644
--- 
a/src/test/java/org/apache/commons/imaging/formats/tiff/TiffAlphaRoundTripTest.java
+++ 
b/src/test/java/org/apache/commons/imaging/formats/tiff/TiffAlphaRoundTripTest.java
@@ -146,10 +146,10 @@ public class TiffAlphaRoundTripTest {
         final int nBytesPerStrip = bytesPerSample * height * width;
         final ByteOrder byteOrder = ByteOrder.nativeOrder();
 
-        int[] samples = new int[width * height];
+        final int[] samples = new int[width * height];
         for (int i = 0; i < 10; i++) {
             for (int j = 0; j < 10; j++) {
-                int index = i * width + j;
+                final int index = i * width + j;
                 samples[index] = j > i ? 0xffff0000 : 0x88ff0000;
             }
         }
@@ -174,7 +174,7 @@ public class TiffAlphaRoundTripTest {
 
             final byte[] b = new byte[nBytesPerStrip];
             int k = 0;
-            for (int sample : samples) {
+            for (final int sample : samples) {
                 b[k++] = (byte) ((sample >> 16) & 0xff);  // R
                 b[k++] = (byte) ((sample >> 8) & 0xff);   // G
                 b[k++] = (byte) (sample & 0xff);          // B
@@ -184,7 +184,7 @@ public class TiffAlphaRoundTripTest {
             final TiffElement.DataElement[] imageData = new 
TiffElement.DataElement[1];
             imageData[0] = new TiffImageData.Data(0, b.length, b);
 
-            TiffImageData tiffImageData
+            final TiffImageData tiffImageData
                 = new TiffImageData.Strips(imageData, height);
 
             outDir.setTiffImageData(tiffImageData);
@@ -197,12 +197,12 @@ public class TiffAlphaRoundTripTest {
                 bos.flush();
             }
 
-            BufferedImage result = Imaging.getBufferedImage(outputFile);
-            int []argb = new int[samples.length];
+            final BufferedImage result = Imaging.getBufferedImage(outputFile);
+            final int []argb = new int[samples.length];
             result.getRGB(0, 0, width, height, argb, 0, width);
-            int index = 3*width+1;
+            final int index = 3*width+1;
             int iSample = samples[index];
-            int iArgb   = argb[index];
+            final int iArgb   = argb[index];
             if (iExtra == 0) {
                 // when extra samples is zero, the alpha channel is ignored.
                 // We expect ARGB to start with 0xff.  So we OR in 0xff for
@@ -212,8 +212,8 @@ public class TiffAlphaRoundTripTest {
                 // The pre-multiply alpha case
                 iSample = 0x89de0000;
             }
-            String p = String.format("%08x", iSample);
-            String q = String.format("%08x", iArgb);
+            final String p = String.format("%08x", iSample);
+            final String q = String.format("%08x", iArgb);
             assertEquals(p, q, "Failure on ExtraSamples="+iExtra);
         }
     }
diff --git 
a/src/test/java/org/apache/commons/imaging/formats/tiff/TiffCcittTest.java 
b/src/test/java/org/apache/commons/imaging/formats/tiff/TiffCcittTest.java
index 63946ae8..9877160c 100644
--- a/src/test/java/org/apache/commons/imaging/formats/tiff/TiffCcittTest.java
+++ b/src/test/java/org/apache/commons/imaging/formats/tiff/TiffCcittTest.java
@@ -24,7 +24,6 @@ import java.awt.image.BufferedImage;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 
-import org.apache.commons.imaging.ImageFormats;
 import org.apache.commons.imaging.ImageReadException;
 import org.apache.commons.imaging.ImageWriteException;
 import org.apache.commons.imaging.Imaging;
diff --git 
a/src/test/java/org/apache/commons/imaging/formats/tiff/TiffFloatingPointMultivariableTest.java
 
b/src/test/java/org/apache/commons/imaging/formats/tiff/TiffFloatingPointMultivariableTest.java
index 82310928..c6795251 100644
--- 
a/src/test/java/org/apache/commons/imaging/formats/tiff/TiffFloatingPointMultivariableTest.java
+++ 
b/src/test/java/org/apache/commons/imaging/formats/tiff/TiffFloatingPointMultivariableTest.java
@@ -62,10 +62,10 @@ public class TiffFloatingPointMultivariableTest extends 
TiffBaseTest {
     float[] fSample = new float[width * height * samplesPerPixel];
     public TiffFloatingPointMultivariableTest() {
         for(int iPlane = 0; iPlane<2; iPlane++){
-            int pOffset = iPlane*width*height;
+            final int pOffset = iPlane*width*height;
             for(int iRow=0; iRow<height; iRow++){
                 for(int iCol=0; iCol<width; iCol++){
-                    int index = pOffset + iRow*width +iCol;
+                    final int index = pOffset + iRow*width +iCol;
                     fSample[index] = index;
                 }
             }
@@ -79,7 +79,7 @@ public class TiffFloatingPointMultivariableTest extends 
TiffBaseTest {
         // TIFF datareaders classes.  So that format is not yet exercised.
         // Note also that the compressed floating-point with predictor=3
         // is processed in other tests, but not here.
-        List<File>testFiles = new ArrayList<>();
+        final List<File>testFiles = new ArrayList<>();
         testFiles.add(writeFile(ByteOrder.LITTLE_ENDIAN, false, false, 
TiffPlanarConfiguration.CHUNKY));
         testFiles.add(writeFile(ByteOrder.BIG_ENDIAN,    false, false, 
TiffPlanarConfiguration.CHUNKY));
         testFiles.add(writeFile(ByteOrder.LITTLE_ENDIAN, true, false, 
TiffPlanarConfiguration.CHUNKY));
@@ -96,7 +96,7 @@ public class TiffFloatingPointMultivariableTest extends 
TiffBaseTest {
         // the test logic implemented here does.
         testFiles.add(writeFile(ByteOrder.BIG_ENDIAN, true, true, 
TiffPlanarConfiguration.PLANAR));
 
-        for(File testFile : testFiles){
+        for(final File testFile : testFiles){
             final String name = testFile.getName();
             final ByteSourceFile byteSource = new ByteSourceFile(testFile);
             final TiffReader tiffReader = new TiffReader(true);
@@ -109,12 +109,12 @@ public class TiffFloatingPointMultivariableTest extends 
TiffBaseTest {
             assertNotNull(raster, "Failed to get raster from " + name);
             assertEquals(2, raster.getSamplesPerPixel(), "Invalid samples per 
pixel in " + name);
             for(int iPlane = 0; iPlane<2; iPlane++){
-                int pOffset = iPlane*width*height;
+                final int pOffset = iPlane*width*height;
                 for(int iRow=0; iRow<height; iRow++){
                     for(int iCol=0; iCol<width; iCol++){
-                        int index = pOffset + iRow*width +iCol;
-                        float tValue = fSample[index];
-                        float rValue = raster.getValue(iCol, iRow, iPlane);
+                        final int index = pOffset + iRow*width +iCol;
+                        final float tValue = fSample[index];
+                        final float rValue = raster.getValue(iCol, iRow, 
iPlane);
                         assertEquals(tValue, rValue, "Failed at index 
x="+iCol+", y="+iRow+", iPlane="+iPlane);
                     }
                 }
@@ -126,7 +126,7 @@ public class TiffFloatingPointMultivariableTest extends 
TiffBaseTest {
         final ByteOrder byteOrder,
         final boolean useTiles,
         final boolean usePredictorForTiles,
-        TiffPlanarConfiguration planarConfiguration ) throws IOException, 
ImageWriteException {
+        final TiffPlanarConfiguration planarConfiguration ) throws 
IOException, ImageWriteException {
 
         final String name = String.format("FpMultiVarRoundTrip_%s_%s%s.tiff",
             planarConfiguration==TiffPlanarConfiguration.CHUNKY ? "Chunky" : 
"Planar",
@@ -175,8 +175,8 @@ public class TiffFloatingPointMultivariableTest extends 
TiffBaseTest {
         if(useTiles && usePredictorForTiles){
             outDir.add(TiffTagConstants.TIFF_TAG_PREDICTOR,
             (short) 
TiffTagConstants.PREDICTOR_VALUE_FLOATING_POINT_DIFFERENCING);
-              for(int iBlock=0; iBlock<blocks.length; iBlock++){
-                  applyTilePredictor(nRowsInBlock, nColsInBlock, 
blocks[iBlock]);
+              for (final byte[] block : blocks) {
+                  applyTilePredictor(nRowsInBlock, nColsInBlock, block);
               }
         }
 
@@ -239,8 +239,8 @@ public class TiffFloatingPointMultivariableTest extends 
TiffBaseTest {
      */
     private byte[][] getBytesForOutput32(
         final int nRowsInBlock, final int nColsInBlock,
-        ByteOrder byteOrder,
-        boolean useTiles, TiffPlanarConfiguration planarConfiguration ) {
+        final ByteOrder byteOrder,
+        final boolean useTiles, final TiffPlanarConfiguration 
planarConfiguration ) {
         final int nColsOfBlocks = (width + nColsInBlock - 1) / nColsInBlock;
         final int nRowsOfBlocks = (height + nRowsInBlock + 1) / nRowsInBlock;
         final int bytesPerPixel = 4 * samplesPerPixel;
@@ -284,7 +284,7 @@ public class TiffFloatingPointMultivariableTest extends 
TiffBaseTest {
                     // height of the image is not evenly divided by the number
                     // of rows per strip, an adjustmnet is made to the size of 
the block.
                     // However, the TIFF specification calls for tiles to 
always be padded.
-                     int nRowsAdjusted = height - blockRow*nRowsInBlock;
+                     final int nRowsAdjusted = height - blockRow*nRowsInBlock;
                      blockPlanarOffset = nRowsAdjusted * nColsInBlock;
                 }
                 for (int j = 0; j < width; j++) {
@@ -314,7 +314,7 @@ public class TiffFloatingPointMultivariableTest extends 
TiffBaseTest {
         return blocks;
     }
 
-    private void applyTilePredictor(int nRowsInBlock, int nColsInBlock, byte[] 
bytes) {
+    private void applyTilePredictor(final int nRowsInBlock, final int 
nColsInBlock, final byte[] bytes) {
         // The floating-point horizonal predictor breaks the samples into
         // separate sets of bytes.  The first set contains the high-order 
bytes.
         // The second the second-highest order bytes, etc.  Once the bytes are
@@ -323,16 +323,16 @@ public class TiffFloatingPointMultivariableTest extends 
TiffBaseTest {
         // its compressibility.
         //     More extensive discussions of this technique are given in the
         // Javadoc for the TIFF-specific ImageDataReader class.
-        byte[] b = new byte[bytes.length];
-        int bytesInRow = nColsInBlock * 4;
+        final byte[] b = new byte[bytes.length];
+        final int bytesInRow = nColsInBlock * 4;
         for (int iPlane = 0; iPlane < samplesPerPixel; iPlane++) {
             // separate out the groups of bytes
-            int planarByteOffset = iPlane * nRowsInBlock * nColsInBlock * 4;
+            final int planarByteOffset = iPlane * nRowsInBlock * nColsInBlock 
* 4;
             for (int i = 0; i < nRowsInBlock; i++) {
-                int aOffset = planarByteOffset + i * bytesInRow;
-                int bOffset = aOffset + nColsInBlock;
-                int cOffset = bOffset + nColsInBlock;
-                int dOffset = cOffset + nColsInBlock;
+                final int aOffset = planarByteOffset + i * bytesInRow;
+                final int bOffset = aOffset + nColsInBlock;
+                final int cOffset = bOffset + nColsInBlock;
+                final int dOffset = cOffset + nColsInBlock;
                 for (int j = 0; j < nColsInBlock; j++) {
                     b[aOffset + j] = bytes[aOffset + j * 4];
                     b[bOffset + j] = bytes[aOffset + j * 4 + 1];
diff --git 
a/src/test/java/org/apache/commons/imaging/formats/tiff/TiffRasterDataIntTest.java
 
b/src/test/java/org/apache/commons/imaging/formats/tiff/TiffRasterDataIntTest.java
index b9170741..51feea8d 100644
--- 
a/src/test/java/org/apache/commons/imaging/formats/tiff/TiffRasterDataIntTest.java
+++ 
b/src/test/java/org/apache/commons/imaging/formats/tiff/TiffRasterDataIntTest.java
@@ -109,9 +109,9 @@ public class TiffRasterDataIntTest {
      */
     @Test
     public void testGetValue2() {
-        int []data = new int[width*height*2];
+        final int []data = new int[width*height*2];
         data[width*height] = 77;
-        TiffRasterDataInt instance = new TiffRasterDataInt(width, height, 2, 
data);
+        final TiffRasterDataInt instance = new TiffRasterDataInt(width, 
height, 2, data);
         int test = instance.getIntValue(0, 0, 1);
         assertEquals(77, test, "Get into source data test failed at (0, 0, 
1)");
 
@@ -183,7 +183,7 @@ public class TiffRasterDataIntTest {
      */
     @Test
     public void testGetDataType() {
-        TiffRasterDataType dataType = raster.getDataType();
+        final TiffRasterDataType dataType = raster.getDataType();
         assertTrue(dataType == TiffRasterDataType.INTEGER, "Unexpected data 
type "+dataType.name());
     }
 
diff --git 
a/src/test/java/org/apache/commons/imaging/formats/tiff/TiffRasterDataTest.java 
b/src/test/java/org/apache/commons/imaging/formats/tiff/TiffRasterDataTest.java
index b9b44625..752b191f 100644
--- 
a/src/test/java/org/apache/commons/imaging/formats/tiff/TiffRasterDataTest.java
+++ 
b/src/test/java/org/apache/commons/imaging/formats/tiff/TiffRasterDataTest.java
@@ -165,7 +165,7 @@ public class TiffRasterDataTest {
     public void testGetData() {
         final float[] result = raster.getData();
         assertArrayEquals(data, result);
-        int samplesPerPixel = raster.getSamplesPerPixel();
+        final int samplesPerPixel = raster.getSamplesPerPixel();
         assertEquals(1, samplesPerPixel, "Incorrect number of samples per 
pixel");
     }
 
@@ -190,7 +190,7 @@ public class TiffRasterDataTest {
      */
     @Test
     public void testGetDataType() {
-        TiffRasterDataType dataType = raster.getDataType();
+        final TiffRasterDataType dataType = raster.getDataType();
         assertTrue(dataType == TiffRasterDataType.FLOAT, "Unexpected data type 
"+dataType.name());
     }
 
diff --git 
a/src/test/java/org/apache/commons/imaging/formats/tiff/TiffReadWriteTagsTest.java
 
b/src/test/java/org/apache/commons/imaging/formats/tiff/TiffReadWriteTagsTest.java
index 2249f69b..51aa2098 100644
--- 
a/src/test/java/org/apache/commons/imaging/formats/tiff/TiffReadWriteTagsTest.java
+++ 
b/src/test/java/org/apache/commons/imaging/formats/tiff/TiffReadWriteTagsTest.java
@@ -49,8 +49,8 @@ public class TiffReadWriteTagsTest extends TiffBaseTest {
         final String area = "A good area";
         final float widthRes = 2.2f;
         final double geoDoubleParams = -8.4;
-        RationalNumber exposureCompensation = new RationalNumber(-17, 10);
-        RationalNumber[] latitude = new RationalNumber[3];
+        final RationalNumber exposureCompensation = new RationalNumber(-17, 
10);
+        final RationalNumber[] latitude = new RationalNumber[3];
         latitude[0] = new RationalNumber(38, 1, true);
         latitude[1] = new RationalNumber(36, 1, true);
         latitude[2] = new RationalNumber(0xF5937B1E, 70_000_000, true);
@@ -89,7 +89,7 @@ public class TiffReadWriteTagsTest extends TiffBaseTest {
         assertEquals(widthRes, 
rootDir.getFieldValue(MicrosoftHdPhotoTagConstants.EXIF_TAG_WIDTH_RESOLUTION), 
0.0);
         assertEquals(geoDoubleParams, 
rootDir.getFieldValue(GeoTiffTagConstants.EXIF_TAG_GEO_DOUBLE_PARAMS_TAG, 
true)[0], 0.0);
         assertEquals(exposureCompensation.doubleValue(), 
rootDir.getFieldValue(ExifTagConstants.EXIF_TAG_EXPOSURE_COMPENSATION).doubleValue(),
 0.0);
-        RationalNumber[] testLat = 
rootDir.getFieldValue(GpsTagConstants.GPS_TAG_GPS_LATITUDE, true);
+        final RationalNumber[] testLat = 
rootDir.getFieldValue(GpsTagConstants.GPS_TAG_GPS_LATITUDE, true);
         for (int i = 0; i < 3; i++) {
             assertEquals(latitude[i].doubleValue(), testLat[i].doubleValue(), 
0.0);
         }
diff --git 
a/src/test/java/org/apache/commons/imaging/formats/tiff/TiffRoundTripInt32Test.java
 
b/src/test/java/org/apache/commons/imaging/formats/tiff/TiffRoundTripInt32Test.java
index 1efd0b7c..acd3cb43 100644
--- 
a/src/test/java/org/apache/commons/imaging/formats/tiff/TiffRoundTripInt32Test.java
+++ 
b/src/test/java/org/apache/commons/imaging/formats/tiff/TiffRoundTripInt32Test.java
@@ -82,8 +82,8 @@ public class TiffRoundTripInt32Test extends TiffBaseTest {
                 true, // indicates that application should read image data, if 
present
                 FormatCompliance.getDefault());
             final TiffDirectory directory = contents.directories.get(0);
-            TiffRasterData rdInt = directory.getRasterData(null);
-            int []test = rdInt.getIntData();
+            final TiffRasterData rdInt = directory.getRasterData(null);
+            final int []test = rdInt.getIntData();
             for(int j=0; j<sample.length; j++){
                   assertEquals(sample[j], test[j],
                 "Extracted data does not match original, test "+name+": "
@@ -91,7 +91,7 @@ public class TiffRoundTripInt32Test extends TiffBaseTest {
             }
             final TiffImagingParameters params = new TiffImagingParameters();
             params.setSubImage(2, 2, width-4, height-4);
-            TiffRasterData rdSub = directory.getRasterData(params);
+            final TiffRasterData rdSub = directory.getRasterData(params);
             assertEquals(width-4, rdSub.getWidth(), "Invalid sub-image width");
             assertEquals(height-4, rdSub.getHeight(), "Invalid sub-image 
height");
             for(int x = 2; x<width-2; x++){
diff --git 
a/src/test/java/org/apache/commons/imaging/formats/tiff/TiffRoundtripTest.java 
b/src/test/java/org/apache/commons/imaging/formats/tiff/TiffRoundtripTest.java
index 36537800..ee2f2bbe 100644
--- 
a/src/test/java/org/apache/commons/imaging/formats/tiff/TiffRoundtripTest.java
+++ 
b/src/test/java/org/apache/commons/imaging/formats/tiff/TiffRoundtripTest.java
@@ -49,7 +49,7 @@ public class TiffRoundtripTest extends TiffBaseTest {
             final BufferedImage image = Imaging.getBufferedImage(imageFile);
             assertNotNull(image);
 
-            final int[] compressions = new int[]{
+            final int[] compressions = {
                     TiffConstants.TIFF_COMPRESSION_UNCOMPRESSED,
                     TiffConstants.TIFF_COMPRESSION_LZW,
                     TiffConstants.TIFF_COMPRESSION_PACKBITS,
diff --git 
a/src/test/java/org/apache/commons/imaging/formats/tiff/TiffShortIntRoundTripTest.java
 
b/src/test/java/org/apache/commons/imaging/formats/tiff/TiffShortIntRoundTripTest.java
index 267f0eed..67c7dc10 100644
--- 
a/src/test/java/org/apache/commons/imaging/formats/tiff/TiffShortIntRoundTripTest.java
+++ 
b/src/test/java/org/apache/commons/imaging/formats/tiff/TiffShortIntRoundTripTest.java
@@ -82,8 +82,8 @@ public class TiffShortIntRoundTripTest extends TiffBaseTest {
                 true, // indicates that application should read image data, if 
present
                 FormatCompliance.getDefault());
             final TiffDirectory directory = contents.directories.get(0);
-            TiffRasterData rdInt = directory.getRasterData(null);
-            int []test = rdInt.getIntData();
+            final TiffRasterData rdInt = directory.getRasterData(null);
+            final int []test = rdInt.getIntData();
             for(int j=0; j<sample.length; j++){
                   assertEquals(sample[j], test[j],
                 "Extracted data does not match original, test "+name+": "
@@ -91,7 +91,7 @@ public class TiffShortIntRoundTripTest extends TiffBaseTest {
             }
             final TiffImagingParameters params = new TiffImagingParameters();
             params.setSubImage(2, 2, width-4, height-4);
-            TiffRasterData rdSub = directory.getRasterData(params);
+            final TiffRasterData rdSub = directory.getRasterData(params);
             assertEquals(width-4, rdSub.getWidth(), "Invalid sub-image width");
             assertEquals(height-4, rdSub.getHeight(), "Invalid sub-image 
height");
             for(int x = 2; x<width-2; x++){
diff --git 
a/src/test/java/org/apache/commons/imaging/formats/tiff/photometricinterpreters/PhotometricInterpreterLogLuvTest.java
 
b/src/test/java/org/apache/commons/imaging/formats/tiff/photometricinterpreters/PhotometricInterpreterLogLuvTest.java
index 73ade225..4b3ea92f 100644
--- 
a/src/test/java/org/apache/commons/imaging/formats/tiff/photometricinterpreters/PhotometricInterpreterLogLuvTest.java
+++ 
b/src/test/java/org/apache/commons/imaging/formats/tiff/photometricinterpreters/PhotometricInterpreterLogLuvTest.java
@@ -32,7 +32,7 @@ public class PhotometricInterpreterLogLuvTest {
     private PhotometricInterpreterLogLuv p;
 
     private final int samplesPerPixel = 8;
-    private final int[] bitsPerSample = new int[] {1, 2, 3};
+    private final int[] bitsPerSample = {1, 2, 3};
     private final int predictor = 1;
     private final int width = 800;
     private final int height = 600;
diff --git 
a/src/test/java/org/apache/commons/imaging/formats/tiff/photometricinterpreters/PhotometricInterpreterRgbTest.java
 
b/src/test/java/org/apache/commons/imaging/formats/tiff/photometricinterpreters/PhotometricInterpreterRgbTest.java
index fb213806..00dc6b77 100644
--- 
a/src/test/java/org/apache/commons/imaging/formats/tiff/photometricinterpreters/PhotometricInterpreterRgbTest.java
+++ 
b/src/test/java/org/apache/commons/imaging/formats/tiff/photometricinterpreters/PhotometricInterpreterRgbTest.java
@@ -30,7 +30,7 @@ public class PhotometricInterpreterRgbTest {
     private PhotometricInterpreterRgb p;
 
     private final int samplesPerPixel = 3;
-    private final int[] bitsPerSample = new int[] {8, 8, 8};
+    private final int[] bitsPerSample = {8, 8, 8};
     private final int predictor = 1;
     private final int width = 800;
     private final int height = 600;
diff --git 
a/src/test/java/org/apache/commons/imaging/formats/tiff/photometricinterpreters/floatingpoint/PhotometricInterpreterFloatTest.java
 
b/src/test/java/org/apache/commons/imaging/formats/tiff/photometricinterpreters/floatingpoint/PhotometricInterpreterFloatTest.java
index 9f7afb4d..ac5ed5da 100644
--- 
a/src/test/java/org/apache/commons/imaging/formats/tiff/photometricinterpreters/floatingpoint/PhotometricInterpreterFloatTest.java
+++ 
b/src/test/java/org/apache/commons/imaging/formats/tiff/photometricinterpreters/floatingpoint/PhotometricInterpreterFloatTest.java
@@ -161,7 +161,7 @@ public class PhotometricInterpreterFloatTest {
      */
     @Test
     public void testGetMaxXY() {
-        final int[] expResult = new int[]{256, 256};
+        final int[] expResult = {256, 256};
         final int[] result = pInterp.getMaxXY();
         assertArrayEquals(expResult, result);
     }
@@ -181,7 +181,7 @@ public class PhotometricInterpreterFloatTest {
      */
     @Test
     public void testGetMinXY() {
-        final int[] expResult = new int[]{0, 0};
+        final int[] expResult = {0, 0};
         final int[] result = pInterp.getMinXY();
         assertArrayEquals(expResult, result);
     }
diff --git 
a/src/test/java/org/apache/commons/imaging/formats/xmp/XmpUpdateTest.java 
b/src/test/java/org/apache/commons/imaging/formats/xmp/XmpUpdateTest.java
index fcd17ead..45ad49d5 100644
--- a/src/test/java/org/apache/commons/imaging/formats/xmp/XmpUpdateTest.java
+++ b/src/test/java/org/apache/commons/imaging/formats/xmp/XmpUpdateTest.java
@@ -69,8 +69,8 @@ public class XmpUpdateTest extends ImagingTest {
 
             // ----
 
-            ImageParser parser = Util.getImageParser("." + 
imageFormat.getDefaultExtension());
-            ImagingParameters params = parser.getDefaultParameters();
+            final ImageParser parser = Util.getImageParser("." + 
imageFormat.getDefaultExtension());
+            final ImagingParameters params = parser.getDefaultParameters();
             ((XmpImagingParameters) params).setXmpXml(xmpXml);
             try (FileOutputStream fos = new FileOutputStream(tempFile)) {
                 parser.writeImage(image, fos, params);
diff --git 
a/src/test/java/org/apache/commons/imaging/roundtrip/BitmapRoundtripTest.java 
b/src/test/java/org/apache/commons/imaging/roundtrip/BitmapRoundtripTest.java
index b2fd0503..c1c768ca 100644
--- 
a/src/test/java/org/apache/commons/imaging/roundtrip/BitmapRoundtripTest.java
+++ 
b/src/test/java/org/apache/commons/imaging/roundtrip/BitmapRoundtripTest.java
@@ -26,7 +26,7 @@ import org.junit.jupiter.params.provider.MethodSource;
 
 public class BitmapRoundtripTest extends RoundtripBase {
 
-    public static BufferedImage[] images = new BufferedImage[] {
+    public static BufferedImage[] images = {
             TestImages.createArgbBitmapImage(1, 1), // minimal
             TestImages.createArgbBitmapImage(2, 2), //
             TestImages.createArgbBitmapImage(10, 10), // larger than 8
diff --git a/src/test/java/org/apache/commons/imaging/roundtrip/FormatInfo.java 
b/src/test/java/org/apache/commons/imaging/roundtrip/FormatInfo.java
index 6f29c822..e663974b 100644
--- a/src/test/java/org/apache/commons/imaging/roundtrip/FormatInfo.java
+++ b/src/test/java/org/apache/commons/imaging/roundtrip/FormatInfo.java
@@ -27,7 +27,7 @@ class FormatInfo {
     static final int COLOR_GRAYSCALE = 2;
     static final int COLOR_BITMAP = 3;
 
-    static final FormatInfo[] PRESERVING_RESOLUTION_FORMATS = new FormatInfo[] 
{
+    static final FormatInfo[] PRESERVING_RESOLUTION_FORMATS = {
             new FormatInfo(ImageFormats.PNG, true, true,
                     COLOR_FULL_RGB, true, true), //
             new FormatInfo(ImageFormats.ICO, true, true,
@@ -42,7 +42,7 @@ class FormatInfo {
                     COLOR_FULL_RGB, true, true), //
     };
 
-    static final FormatInfo[] READ_WRITE_FORMATS = new FormatInfo[] {
+    static final FormatInfo[] READ_WRITE_FORMATS = {
             new FormatInfo(ImageFormats.PNG, true, true,
                     COLOR_FULL_RGB, true, true), //
             new FormatInfo(ImageFormats.GIF, true, true,
diff --git 
a/src/test/java/org/apache/commons/imaging/roundtrip/FullColorRoundtrip.java 
b/src/test/java/org/apache/commons/imaging/roundtrip/FullColorRoundtrip.java
index 3f9a9e02..290aeed6 100644
--- a/src/test/java/org/apache/commons/imaging/roundtrip/FullColorRoundtrip.java
+++ b/src/test/java/org/apache/commons/imaging/roundtrip/FullColorRoundtrip.java
@@ -26,7 +26,7 @@ import org.junit.jupiter.params.provider.MethodSource;
 
 public class FullColorRoundtrip extends RoundtripBase {
 
-    public static final BufferedImage[] images = new BufferedImage[]{
+    public static final BufferedImage[] images = {
             TestImages.createFullColorImage(1, 1), // minimal
             TestImages.createFullColorImage(2, 2), //
             TestImages.createFullColorImage(10, 10), // larger than 8
diff --git 
a/src/test/java/org/apache/commons/imaging/roundtrip/GrayscaleRountripTest.java 
b/src/test/java/org/apache/commons/imaging/roundtrip/GrayscaleRountripTest.java
index c8feb2cf..af528678 100644
--- 
a/src/test/java/org/apache/commons/imaging/roundtrip/GrayscaleRountripTest.java
+++ 
b/src/test/java/org/apache/commons/imaging/roundtrip/GrayscaleRountripTest.java
@@ -26,7 +26,7 @@ import org.junit.jupiter.params.provider.MethodSource;
 
 public class GrayscaleRountripTest extends RoundtripBase {
 
-    public static BufferedImage[] images = new BufferedImage[]{
+    public static BufferedImage[] images = {
             TestImages.createArgbBitmapImage(1, 1), // minimal
             TestImages.createArgbGrayscaleImage(2, 2), //
             TestImages.createArgbGrayscaleImage(10, 10), // larger than 8
diff --git 
a/src/test/java/org/apache/commons/imaging/roundtrip/LimitedColorRoundtripTest.java
 
b/src/test/java/org/apache/commons/imaging/roundtrip/LimitedColorRoundtripTest.java
index 8e3adaea..8b4ac5de 100644
--- 
a/src/test/java/org/apache/commons/imaging/roundtrip/LimitedColorRoundtripTest.java
+++ 
b/src/test/java/org/apache/commons/imaging/roundtrip/LimitedColorRoundtripTest.java
@@ -26,7 +26,7 @@ import org.junit.jupiter.params.provider.MethodSource;
 
 public class LimitedColorRoundtripTest extends RoundtripBase {
 
-    public static BufferedImage[] images = new BufferedImage[] {
+    public static BufferedImage[] images = {
             TestImages.createLimitedColorImage(1, 1), // minimal
             TestImages.createLimitedColorImage(2, 2), //
             TestImages.createLimitedColorImage(10, 10), // larger than 8
diff --git 
a/src/test/java/org/apache/commons/imaging/roundtrip/PixelDensityRoundtrip.java 
b/src/test/java/org/apache/commons/imaging/roundtrip/PixelDensityRoundtrip.java
index 651e7f85..f5269f4c 100644
--- 
a/src/test/java/org/apache/commons/imaging/roundtrip/PixelDensityRoundtrip.java
+++ 
b/src/test/java/org/apache/commons/imaging/roundtrip/PixelDensityRoundtrip.java
@@ -48,7 +48,7 @@ public class PixelDensityRoundtrip extends RoundtripBase {
         final TiffImagingParameters params = new TiffImagingParameters();
         final PixelDensity pixelDensity = 
PixelDensity.createFromPixelsPerInch(75, 150);
         params.setPixelDensity(pixelDensity);
-        TiffImageParser tiffImageParser = new TiffImageParser();
+        final TiffImageParser tiffImageParser = new TiffImageParser();
         tiffImageParser.writeImage(testImage, new ByteArrayOutputStream(), 
params);
 
         final ImageInfo imageInfo = Imaging.getImageInfo(temp1);
diff --git 
a/src/test/java/org/apache/commons/imaging/roundtrip/RoundtripBase.java 
b/src/test/java/org/apache/commons/imaging/roundtrip/RoundtripBase.java
index 47c5b558..5a961e4f 100644
--- a/src/test/java/org/apache/commons/imaging/roundtrip/RoundtripBase.java
+++ b/src/test/java/org/apache/commons/imaging/roundtrip/RoundtripBase.java
@@ -42,7 +42,7 @@ public class RoundtripBase {
                 + formatInfo.format.getDefaultExtension());
         Debug.debug("tempFile: " + temp1.getName());
 
-        ImageParser imageParser = Util.getImageParser(formatInfo.format);
+        final ImageParser imageParser = Util.getImageParser(formatInfo.format);
 
         final ImagingParameters params = 
Util.getImageParser(formatInfo.format).getDefaultParameters();
         try (FileOutputStream fos = new FileOutputStream(temp1)) {

Reply via email to