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

commit 7245861591e57af01f2b22171cc063d67830de17
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Tue Jan 21 11:33:38 2025 -0500

    Use final
---
 .../commons/imaging/color/ColorConversions.java    | 25 +++++++++++-----------
 .../apache/commons/imaging/common/Allocator.java   |  2 +-
 .../commons/imaging/common/BasicCParser.java       |  2 +-
 .../commons/imaging/common/ImageBuilder.java       |  4 ++--
 .../commons/imaging/common/RationalNumber.java     |  4 ++--
 .../imaging/formats/bmp/BmpImageParser.java        |  9 ++++----
 .../imaging/formats/bmp/PixelParserBitFields.java  |  3 +--
 .../imaging/formats/bmp/PixelParserRle.java        |  2 +-
 .../imaging/formats/gif/GifImageParser.java        |  6 +++---
 .../commons/imaging/formats/icns/IcnsDecoder.java  |  8 +++----
 .../imaging/formats/icns/IcnsImageParser.java      |  4 ++--
 .../imaging/formats/ico/IcoImageParser.java        |  2 +-
 .../imaging/formats/jpeg/JpegImageParser.java      |  2 +-
 .../imaging/formats/jpeg/decoder/JpegDecoder.java  | 10 ++++-----
 .../imaging/formats/jpeg/exif/ExifRewriter.java    |  2 +-
 .../imaging/formats/jpeg/iptc/IptcParser.java      |  6 +++---
 .../imaging/formats/pcx/PcxImageParser.java        |  2 +-
 .../commons/imaging/formats/pcx/PcxWriter.java     |  6 +++---
 .../commons/imaging/formats/png/ChunkType.java     | 14 ++++++------
 .../imaging/formats/png/PngImageMetadata.java      |  6 +++---
 .../imaging/formats/png/PngImageParser.java        |  4 ++--
 .../commons/imaging/formats/png/PngWriter.java     |  6 +++---
 .../imaging/formats/psd/PsdImageParser.java        |  6 +++---
 .../imaging/formats/tiff/TiffImageParser.java      |  2 +-
 .../commons/imaging/formats/tiff/TiffReader.java   |  6 +++---
 .../tiff/datareaders/DataInterpreterJpeg.java      |  2 +-
 .../formats/tiff/datareaders/DataReaderStrips.java | 16 +++++++-------
 .../formats/tiff/datareaders/DataReaderTiled.java  | 16 +++++++-------
 .../formats/tiff/datareaders/ImageDataReader.java  |  4 ++--
 .../imaging/formats/tiff/itu_t4/HuffmanTree.java   |  2 +-
 .../formats/tiff/itu_t4/T4AndT6Compression.java    | 14 ++++++------
 .../PhotometricInterpreterPalette.java             |  4 ++--
 .../tiff/write/AbstractTiffImageWriter.java        |  6 +++---
 .../formats/tiff/write/TiffOutputDirectory.java    |  6 +++---
 .../imaging/formats/webp/WebPImageParser.java      |  6 +++---
 .../imaging/formats/xpm/XpmImageParser.java        | 10 ++++-----
 .../org/apache/commons/imaging/internal/Debug.java |  2 +-
 .../commons/imaging/mylzw/MyBitInputStream.java    |  2 +-
 .../imaging/palette/LongestAxisMedianCut.java      |  2 +-
 .../palette/MostPopulatedBoxesMedianCut.java       |  2 +-
 .../imaging/formats/jpeg/iptc/IptcParserTest.java  | 14 ++++++------
 .../commons/imaging/formats/png/PngReadTest.java   |  4 ++--
 42 files changed, 127 insertions(+), 128 deletions(-)

diff --git 
a/src/main/java/org/apache/commons/imaging/color/ColorConversions.java 
b/src/main/java/org/apache/commons/imaging/color/ColorConversions.java
index 70f311e7..27ed5a23 100644
--- a/src/main/java/org/apache/commons/imaging/color/ColorConversions.java
+++ b/src/main/java/org/apache/commons/imaging/color/ColorConversions.java
@@ -35,7 +35,7 @@ public final class ColorConversions {
     private static final double XYZ_t0 = 0.008856;
 
     public static int convertCieLabToArgbTest(final int cieL, final int cieA, 
final int cieB) {
-        double x, y, z;
+        final double x, y, z;
         {
 
             double varY = (cieL * 100.0 / 255.0 + 16.0) / 116.0;
@@ -52,7 +52,7 @@ public final class ColorConversions {
 
         }
 
-        double r, g, b;
+        final double r, g, b;
         {
             final double varX = x / 100; // X = From 0 to REF_X
             final double varY = y / 100; // Y = From 0 to REF_Y
@@ -204,8 +204,7 @@ public final class ColorConversions {
     public static ColorXyz convertCieLuvToXyz(final double l, final double u, 
final double v) {
         // problems here with div by zero
 
-        double varY = (l + 16) / 116.0;
-        varY = unPivotXyz(varY);
+        final double varY = unPivotXyz((l + 16) / 116.0);
 
         final double refU = 4 * REF_X / (REF_X + 15 * REF_Y + 3 * REF_Z);
         final double refV = 9 * REF_Y / (REF_X + 15 * REF_Y + 3 * REF_Z);
@@ -369,7 +368,7 @@ public final class ColorConversions {
     }
 
     public static int convertHslToRgb(final double h, final double s, final 
double l) {
-        double r, g, b;
+        final double r, g, b;
 
         if (s == 0) {
             // HSL values = 0 ÷ 1
@@ -377,7 +376,7 @@ public final class ColorConversions {
             g = l * 255;
             b = l * 255;
         } else {
-            double var2;
+            final double var2;
 
             if (l < 0.5) {
                 var2 = l * (1 + s);
@@ -400,7 +399,7 @@ public final class ColorConversions {
     }
 
     public static int convertHsvToRgb(final double h, final double s, final 
double v) {
-        double r, g, b;
+        final double r, g, b;
 
         if (s == 0) {
             // HSV values = 0 ÷ 1
@@ -417,7 +416,7 @@ public final class ColorConversions {
             final double var2 = v * (1 - s * (varH - varI));
             final double var3 = v * (1 - s * (1 - (varH - varI)));
 
-            double varR, varG, varB;
+            final double varR, varG, varB;
 
             if (varI == 0) {
                 varR = v;
@@ -515,7 +514,7 @@ public final class ColorConversions {
 
         final double varMin = Math.min(varR, Math.min(varG, varB)); // Min. 
value
                                                                     // of RGB
-        double varMax;
+        final double varMax;
         boolean maxIsR = false;
         boolean maxIsG = false;
         if (varR >= varG && varR >= varB) {
@@ -531,7 +530,8 @@ public final class ColorConversions {
 
         final double l = (varMax + varMin) / 2.0;
 
-        double h, s;
+        double h;
+        final double s;
         // Debug.debug("del_Max", del_Max);
         if (delMax == 0) {
             // This is a gray, no chroma...
@@ -591,7 +591,7 @@ public final class ColorConversions {
                                                                     // of RGB
         boolean maxIsR = false;
         boolean maxIsG = false;
-        double varMax;
+        final double varMax;
         if (varR >= varG && varR >= varB) {
             varMax = varR;
             maxIsR = true;
@@ -605,7 +605,8 @@ public final class ColorConversions {
 
         final double v = varMax;
 
-        double h, s;
+        double h;
+        final double s;
         if (delMax == 0) {
             // This is a gray, no chroma...
             h = 0; // HSV results = 0 ÷ 1
diff --git a/src/main/java/org/apache/commons/imaging/common/Allocator.java 
b/src/main/java/org/apache/commons/imaging/common/Allocator.java
index ae51b9fc..c8015e53 100644
--- a/src/main/java/org/apache/commons/imaging/common/Allocator.java
+++ b/src/main/java/org/apache/commons/imaging/common/Allocator.java
@@ -145,7 +145,7 @@ public class Allocator {
      * @throws AllocationRequestException Thrown when the request exceeds the 
limit.
      */
     public static int check(final int request, final int elementSize) {
-        int multiplyExact;
+        final int multiplyExact;
         try {
             multiplyExact = Math.multiplyExact(request, elementSize);
         } catch (final ArithmeticException e) {
diff --git a/src/main/java/org/apache/commons/imaging/common/BasicCParser.java 
b/src/main/java/org/apache/commons/imaging/common/BasicCParser.java
index 300197a3..3e9a7487 100644
--- a/src/main/java/org/apache/commons/imaging/common/BasicCParser.java
+++ b/src/main/java/org/apache/commons/imaging/common/BasicCParser.java
@@ -51,7 +51,7 @@ public class BasicCParser {
         final char hex1 = string.charAt(i + 1);
         final char hex2 = string.charAt(i + 2);
         i += 2;
-        int constant;
+        final int constant;
         try {
             constant = Integer.parseInt(hex1 + Character.toString(hex2), 16);
         } catch (final NumberFormatException nfe) {
diff --git a/src/main/java/org/apache/commons/imaging/common/ImageBuilder.java 
b/src/main/java/org/apache/commons/imaging/common/ImageBuilder.java
index 7fcf4057..9a373d5e 100644
--- a/src/main/java/org/apache/commons/imaging/common/ImageBuilder.java
+++ b/src/main/java/org/apache/commons/imaging/common/ImageBuilder.java
@@ -237,8 +237,8 @@ public class ImageBuilder {
     }
 
     private BufferedImage makeBufferedImage(final int[] argb, final int w, 
final int h, final boolean useAlpha) {
-        ColorModel colorModel;
-        WritableRaster raster;
+        final ColorModel colorModel;
+        final WritableRaster raster;
         final DataBufferInt buffer = new DataBufferInt(argb, w * h);
         if (useAlpha) {
             colorModel = new 
DirectColorModel(ColorSpace.getInstance(ColorSpace.CS_sRGB), 32, 0x00ff0000, 
0x0000ff00, 0x000000ff, 0xff000000,
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 1f4a8a5b..bb0aafc0 100644
--- a/src/main/java/org/apache/commons/imaging/common/RationalNumber.java
+++ b/src/main/java/org/apache/commons/imaging/common/RationalNumber.java
@@ -107,8 +107,8 @@ public class RationalNumber extends Number {
             value = Math.abs(value);
         }
 
-        RationalNumber l;
-        RationalNumber h;
+        final RationalNumber l;
+        final RationalNumber h;
 
         if (value == 0) {
             return new RationalNumber(0, 1);
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 201813fb..6286a017 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
@@ -466,7 +466,7 @@ public class BmpImageParser extends 
AbstractImageParser<BmpImagingParameters> {
         // A palette is always valid, even for images that don't need it
         // (like 32 bpp), it specifies the "optimal color palette" for
         // when the image is displayed on a <= 256 color graphics card.
-        int paletteLength;
+        final int paletteLength;
         int rleSamplesPerByte = 0;
         boolean rle = false;
 
@@ -583,7 +583,7 @@ public class BmpImageParser extends 
AbstractImageParser<BmpImagingParameters> {
             debugNumber("imageDataSize", imageDataSize, 4);
         }
 
-        byte[] imageData;
+        final byte[] imageData;
         if (rle) {
             imageData = getRleBytes(is, rleSamplesPerByte);
         } else {
@@ -594,8 +594,7 @@ public class BmpImageParser extends 
AbstractImageParser<BmpImagingParameters> {
             debugNumber("ImageData.length", imageData.length, 4);
         }
 
-        AbstractPixelParser abstractPixelParser;
-
+        final AbstractPixelParser abstractPixelParser;
         switch (bhi.compression) {
         case BI_RLE4:
         case BI_RLE8:
@@ -623,7 +622,7 @@ public class BmpImageParser extends 
AbstractImageParser<BmpImagingParameters> {
 
         final SimplePalette palette = new 
PaletteFactory().makeExactRgbPaletteSimple(src, 256);
 
-        BmpWriter writer;
+        final BmpWriter writer;
         if (palette == null) {
             writer = new BmpWriterRgb();
         } else {
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/bmp/PixelParserBitFields.java
 
b/src/main/java/org/apache/commons/imaging/formats/bmp/PixelParserBitFields.java
index 0c916ecc..6709208a 100644
--- 
a/src/main/java/org/apache/commons/imaging/formats/bmp/PixelParserBitFields.java
+++ 
b/src/main/java/org/apache/commons/imaging/formats/bmp/PixelParserBitFields.java
@@ -78,8 +78,7 @@ final class PixelParserBitFields extends 
AbstractPixelParserSimple {
 
     @Override
     public int getNextRgb() throws ImagingException, IOException {
-        int data;
-
+        final int data;
         switch (bhi.bitsPerPixel) {
         case 8:
             data = 0xff & imageData[byteCount + 0];
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/bmp/PixelParserRle.java 
b/src/main/java/org/apache/commons/imaging/formats/bmp/PixelParserRle.java
index b977645a..1d027693 100644
--- a/src/main/java/org/apache/commons/imaging/formats/bmp/PixelParserRle.java
+++ b/src/main/java/org/apache/commons/imaging/formats/bmp/PixelParserRle.java
@@ -32,7 +32,7 @@ final class PixelParserRle extends AbstractPixelParser {
     }
 
     private int[] convertDataToSamples(final int data) throws ImagingException 
{
-        int[] rgbs;
+        final int[] rgbs;
         if (bhi.bitsPerPixel == 8) {
             rgbs = new int[1];
             rgbs[0] = getColorTableRgb(data);
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 06730629..982f3d27 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
@@ -258,7 +258,7 @@ public class GifImageParser extends 
AbstractImageParser<GifImagingParameters> im
 
         final ImageBuilder imageBuilder = new ImageBuilder(width, height, 
hasAlpha);
 
-        int[] colorTable;
+        final int[] colorTable;
         if (id.localColorTable != null) {
             colorTable = getColorTable(id.localColorTable);
         } else if (globalColorTable != null) {
@@ -280,7 +280,7 @@ public class GifImageParser extends 
AbstractImageParser<GifImagingParameters> im
         final int rowsInPass4 = height / 2;
 
         for (int row = 0; row < height; row++) {
-            int y;
+            final int y;
             if (id.interlaceFlag) {
                 int theRow = row;
                 if (theRow < rowsInPass1) {
@@ -1017,7 +1017,7 @@ public class GifImageParser extends 
AbstractImageParser<GifImagingParameters> im
                     for (int x = 0; x < width; x++) {
                         final int argb = src.getRGB(x, y);
                         final int rgb = 0xffffff & argb;
-                        int index;
+                        final int index;
 
                         if (hasAlpha) {
                             final int alpha = 0xff & argb >> 24;
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/icns/IcnsDecoder.java 
b/src/main/java/org/apache/commons/imaging/formats/icns/IcnsDecoder.java
index 201c04be..ea5ef045 100644
--- a/src/main/java/org/apache/commons/imaging/formats/icns/IcnsDecoder.java
+++ b/src/main/java/org/apache/commons/imaging/formats/icns/IcnsDecoder.java
@@ -71,7 +71,7 @@ final class IcnsDecoder {
                     value = 0xff & maskData[position++];
                     bitsLeft = 8;
                 }
-                int alpha;
+                final int alpha;
                 if ((value & 0x80) != 0) {
                     alpha = 0xff;
                 } else {
@@ -103,7 +103,7 @@ final class IcnsDecoder {
                     value = 0xff & imageData[position++];
                     bitsLeft = 8;
                 }
-                int argb;
+                final int argb;
                 if ((value & 0x80) != 0) {
                     argb = 0xff000000;
                 } else {
@@ -132,7 +132,7 @@ final class IcnsDecoder {
         boolean visited = false;
         for (int y = 0; y < imageType.getHeight(); y++) {
             for (int x = 0; x < imageType.getWidth(); x++) {
-                int index;
+                final int index;
                 if (!visited) {
                     index = 0xf & imageData[i] >> 4;
                 } else {
@@ -202,7 +202,7 @@ final class IcnsDecoder {
     private static BufferedImage decodeImageImpl(final IcnsType imageType, 
final IcnsElement imageElement, final IcnsElement[] icnsElements)
             throws ImagingException {
         final int expectedSize = (imageType.getWidth() * imageType.getHeight() 
* imageType.getBitsPerPixel() + 7) / 8;
-        byte[] imageData;
+        final byte[] imageData;
         if (imageElement.data.length < expectedSize) {
             if (imageType.getBitsPerPixel() != 32) {
                 throw new ImagingException("Short image data but not a 32 bit 
compressed type");
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 6de40a35..9b54d962 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
@@ -63,7 +63,7 @@ public class IcnsImageParser extends 
AbstractImageParser<IcnsImagingParameters>
         public void dump(final PrintWriter pw) {
             pw.println("IcnsElement");
             final IcnsType icnsType = IcnsType.findAnyType(type);
-            String typeDescription;
+            final String typeDescription;
             if (icnsType == null) {
                 typeDescription = "";
             } else {
@@ -224,7 +224,7 @@ public class IcnsImageParser extends 
AbstractImageParser<IcnsImagingParameters>
 
     @Override
     public void writeImage(final BufferedImage src, final OutputStream os, 
final IcnsImagingParameters params) throws ImagingException, IOException {
-        IcnsType imageType;
+        final IcnsType imageType;
         if (src.getWidth() == 16 && src.getHeight() == 16) {
             imageType = IcnsType.ICNS_16x16_32BIT_IMAGE;
         } else if (src.getWidth() == 32 && src.getHeight() == 32) {
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/ico/IcoImageParser.java 
b/src/main/java/org/apache/commons/imaging/formats/ico/IcoImageParser.java
index a225fdf3..d59596e2 100644
--- a/src/main/java/org/apache/commons/imaging/formats/ico/IcoImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/ico/IcoImageParser.java
@@ -482,7 +482,7 @@ public class IcoImageParser extends 
AbstractImageParser<IcoImagingParameters> {
                 }
             }
         }
-        BufferedImage resultImage;
+        final BufferedImage resultImage;
         if (allAlphasZero) {
             resultImage = new BufferedImage(bmpImage.getWidth(), 
bmpImage.getHeight(), BufferedImage.TYPE_INT_ARGB);
             for (int y = 0; y < resultImage.getHeight(); y++) {
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageParser.java 
b/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageParser.java
index 8d46887f..dcc18f1e 100644
--- a/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageParser.java
@@ -349,7 +349,7 @@ public class JpegImageParser extends 
AbstractImageParser<JpegImagingParameters>
         double unitsPerInch = -1.0;
         // int JFIF_major_version;
         // int JFIF_minor_version;
-        String formatDetails;
+        final String formatDetails;
 
         if (jfifSegment != null) {
             xDensity = jfifSegment.xDensity;
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 140f4a49..70462dd3 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
@@ -112,7 +112,7 @@ public class JpegDecoder extends BinaryFileParser 
implements JpegUtils.Visitor {
         final JpegInputStream[] streams = Allocator.array(intervalCount, 
JpegInputStream[]::new, JpegInputStream.SHALLOW_SIZE);
         for (int i = 0; i < intervalCount; i++) {
             final int from = intervalStarts.get(i);
-            int to;
+            final int to;
             if (i < intervalCount - 1) {
                 // because each restart marker needs two bytes the end of
                 // this interval is two bytes before the next interval starts
@@ -271,7 +271,7 @@ public class JpegDecoder extends BinaryFileParser 
implements JpegUtils.Visitor {
                         for (int xx = 0; xx < 8; xx++) {
                             float sample = block[srcNext++];
                             sample += shift;
-                            int result;
+                            final int result;
                             if (sample < 0) {
                                 result = 0;
                             } else if (sample > max) {
@@ -373,7 +373,7 @@ public class JpegDecoder extends BinaryFileParser 
implements JpegUtils.Visitor {
         } else if (marker == JpegConstants.DHT_MARKER) {
             final DhtSegment dhtSegment = new DhtSegment(marker, segmentData);
             for (final HuffmanTable table : dhtSegment.huffmanTables) {
-                DhtSegment.HuffmanTable[] tables;
+                final DhtSegment.HuffmanTable[] tables;
                 if (table.tableClass == 0) {
                     tables = huffmanDCTables;
                 } else if (table.tableClass == 1) {
@@ -423,8 +423,8 @@ public class JpegDecoder extends BinaryFileParser 
implements JpegUtils.Visitor {
             final Block[] scaledMCU = Allocator.array(mcu.length, 
Block[]::new, Block.SHALLOW_SIZE);
             Arrays.setAll(scaledMCU, i -> new Block(hSize, vSize));
             final int[] preds = 
Allocator.intArray(sofnSegment.numberOfComponents);
-            ColorModel colorModel;
-            WritableRaster raster;
+            final ColorModel colorModel;
+            final WritableRaster raster;
             Allocator.check(Integer.BYTES * sofnSegment.width * 
sofnSegment.height);
             switch (sofnSegment.numberOfComponents) {
             case 4:
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/jpeg/exif/ExifRewriter.java 
b/src/main/java/org/apache/commons/imaging/formats/jpeg/exif/ExifRewriter.java
index fc0eb151..009eb97b 100644
--- 
a/src/main/java/org/apache/commons/imaging/formats/jpeg/exif/ExifRewriter.java
+++ 
b/src/main/java/org/apache/commons/imaging/formats/jpeg/exif/ExifRewriter.java
@@ -288,7 +288,7 @@ public class ExifRewriter extends BinaryFileParser {
         final JFIFPieces jfifPieces = analyzeJfif(byteSource);
         final List<JFIFPiece> pieces = jfifPieces.pieces;
 
-        AbstractTiffImageWriter writer;
+        final AbstractTiffImageWriter writer;
         // Just use first APP1 segment for now.
         // Multiple APP1 segments are rare and poorly supported.
         if (!jfifPieces.exifPieces.isEmpty()) {
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 8f053db6..679fc759 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
@@ -145,7 +145,7 @@ public class IptcParser extends BinaryFileParser {
                 if (blockNameLength > 0) {
                     Debug.debug("blockNameLength: " + blockNameLength + " (0x" 
+ Integer.toHexString(blockNameLength) + ")");
                 }
-                byte[] blockNameBytes;
+                final byte[] blockNameBytes;
                 if (blockNameLength == 0) {
                     BinaryFunctions.readByte("Block name bytes", bis, "Image 
Resource Block has invalid name");
                     blockNameBytes = ImagingConstants.EMPTY_BYTE_ARRAY;
@@ -371,11 +371,11 @@ public class IptcParser extends BinaryFileParser {
         return parsePhotoshopSegment(bytes, strict);
     }
 
-    public byte[] writeIptcBlock(List<IptcRecord> elements) throws 
ImagingException, IOException {
+    public byte[] writeIptcBlock(final List<IptcRecord> elements) throws 
ImagingException, IOException {
         return writeIptcBlock(elements, false);
     }
 
-    public byte[] writeIptcBlock(List<IptcRecord> elements, boolean 
forceUtf8Encoding) throws ImagingException, IOException {
+    public byte[] writeIptcBlock(List<IptcRecord> elements, final boolean 
forceUtf8Encoding) throws ImagingException, IOException {
         Charset charset;
         if (forceUtf8Encoding) {
             // Using UTF-8 is forced
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/pcx/PcxImageParser.java 
b/src/main/java/org/apache/commons/imaging/formats/pcx/PcxImageParser.java
index 502917d6..4d4f060b 100644
--- a/src/main/java/org/apache/commons/imaging/formats/pcx/PcxImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/pcx/PcxImageParser.java
@@ -303,7 +303,7 @@ public class PcxImageParser extends 
AbstractImageParser<PcxImagingParameters> {
             } else {
                 palette = pcxHeader.colormap;
             }
-            WritableRaster raster;
+            final WritableRaster raster;
             if (pcxHeader.bitsPerPixel == 8) {
                 raster = Raster.createInterleavedRaster(dataBuffer, xSize, 
ySize, bytesPerImageRow, 1, new int[] { 0 }, null);
             } else {
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/pcx/PcxWriter.java 
b/src/main/java/org/apache/commons/imaging/formats/pcx/PcxWriter.java
index 91f01e8e..d933f40f 100644
--- a/src/main/java/org/apache/commons/imaging/formats/pcx/PcxWriter.java
+++ b/src/main/java/org/apache/commons/imaging/formats/pcx/PcxWriter.java
@@ -118,7 +118,7 @@ final class PcxWriter {
         // TODO What's the right thing to do here for a null palette?
         final int paletteLen = palette != null ? palette.length() : 0;
         for (int i = 0; i < 16; i++) {
-            int rgb;
+            final int rgb;
             if (i < paletteLen) {
                 rgb = palette.getEntry(i);
             } else {
@@ -159,7 +159,7 @@ final class PcxWriter {
             // 256 color palette
             bos.write(12);
             for (int i = 0; i < 256; i++) {
-                int rgb;
+                final int rgb;
                 if (i < palette.length()) {
                     rgb = palette.getEntry(i);
                 } else {
@@ -188,7 +188,7 @@ final class PcxWriter {
             if (bitDepth == 1 && planes == 1) {
                 for (int x = 0; x < src.getWidth(); x++) {
                     final int rgb = 0xffffff & src.getRGB(x, y);
-                    int bit;
+                    final int bit;
                     if (rgb == 0x000000) {
                         bit = 0;
                     } else {
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/png/ChunkType.java 
b/src/main/java/org/apache/commons/imaging/formats/png/ChunkType.java
index 922e992a..fa739289 100644
--- a/src/main/java/org/apache/commons/imaging/formats/png/ChunkType.java
+++ b/src/main/java/org/apache/commons/imaging/formats/png/ChunkType.java
@@ -189,8 +189,8 @@ public enum ChunkType {
 
     private static final ChunkType[] types = ChunkType.values();
 
-    static ChunkType findType(int chunkType) {
-        for (ChunkType type : types) {
+    static ChunkType findType(final int chunkType) {
+        for (final ChunkType type : types) {
             if (type.value == chunkType) {
                 return type;
             }
@@ -198,8 +198,8 @@ public enum ChunkType {
         return null;
     }
 
-    static PngChunk makeChunk(int length, int chunkType, int crc, byte[] 
bytes) throws IOException {
-        ChunkType type = findType(chunkType);
+    static PngChunk makeChunk(final int length, final int chunkType, final int 
crc, final byte[] bytes) throws IOException {
+        final ChunkType type = findType(chunkType);
         return type != null && type.constructor != null
                 ? type.constructor.make(length, chunkType, crc, bytes)
                 : new PngChunk(length, chunkType, crc, bytes);
@@ -214,15 +214,15 @@ public enum ChunkType {
         this(null, null);
     }
 
-    ChunkType(Extension extension) {
+    ChunkType(final Extension extension) {
         this(extension, null);
     }
 
-    ChunkType(ChunkConstructor constructor) {
+    ChunkType(final ChunkConstructor constructor) {
         this(null, constructor);
     }
 
-    ChunkType(Extension extension, ChunkConstructor constructor) {
+    ChunkType(final Extension extension, final ChunkConstructor constructor) {
         final char[] chars = name().toCharArray();
         this.array = name().getBytes(StandardCharsets.UTF_8);
         this.value = BinaryFunctions.charsToQuad(chars[0], chars[1], chars[2], 
chars[3]);
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/png/PngImageMetadata.java 
b/src/main/java/org/apache/commons/imaging/formats/png/PngImageMetadata.java
index defa4232..bf93bc3b 100644
--- a/src/main/java/org/apache/commons/imaging/formats/png/PngImageMetadata.java
+++ b/src/main/java/org/apache/commons/imaging/formats/png/PngImageMetadata.java
@@ -34,11 +34,11 @@ public class PngImageMetadata implements ImageMetadata {
     private final ImageMetadata textualInformation;
     private final TiffImageMetadata exif;
 
-    public PngImageMetadata(ImageMetadata textualInformation) {
+    public PngImageMetadata(final ImageMetadata textualInformation) {
         this(textualInformation, null);
     }
 
-    public PngImageMetadata(ImageMetadata textualInformation, 
TiffImageMetadata exif) {
+    public PngImageMetadata(final ImageMetadata textualInformation, final 
TiffImageMetadata exif) {
         this.textualInformation = Objects.requireNonNull(textualInformation);
         this.exif = exif;
     }
@@ -86,7 +86,7 @@ public class PngImageMetadata implements ImageMetadata {
             return textualInformation.getItems();
         }
 
-        ArrayList<ImageMetadataItem> result = new ArrayList<>();
+        final ArrayList<ImageMetadataItem> result = new ArrayList<>();
         result.addAll(textualInformation.getItems());
         result.addAll(exif.getItems());
         return result;
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 cb927968..68224237 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
@@ -276,7 +276,7 @@ public class PngImageParser extends 
AbstractImageParser<PngImagingParameters> im
             final ByteArrayInputStream bais = new 
ByteArrayInputStream(compressed);
             final InflaterInputStream iis = new InflaterInputStream(bais);
 
-            AbstractScanExpediter abstractScanExpediter;
+            final AbstractScanExpediter abstractScanExpediter;
 
             switch (pngChunkIHDR.getInterlaceMethod()) {
             case NONE:
@@ -468,7 +468,7 @@ public class PngImageParser extends 
AbstractImageParser<PngImagingParameters> im
             usesPalette = true;
         }
 
-        ImageInfo.ColorType colorType;
+        final ImageInfo.ColorType colorType;
         switch (pngChunkIHDR.getPngColorType()) {
         case GREYSCALE:
         case GREYSCALE_WITH_ALPHA:
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 54096166..5a7e5fbd 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
@@ -316,7 +316,7 @@ public class PngWriter {
         boolean isGrayscale = paletteFactory.isGrayscale(src);
         Debug.debug("isGrayscale: " + isGrayscale);
 
-        PngColorType pngColorType;
+        final PngColorType pngColorType;
         {
             final boolean forceIndexedColor = params.isForceIndexedColor();
             final boolean forceTrueColor = params.isForceTrueColor();
@@ -338,7 +338,7 @@ public class PngWriter {
         final byte bitDepth = getBitDepth(pngColorType, params);
         Debug.debug("bitDepth: " + bitDepth);
 
-        int sampleDepth;
+        final int sampleDepth;
         if (pngColorType == PngColorType.INDEXED_COLOR) {
             sampleDepth = 8;
         } else {
@@ -431,7 +431,7 @@ public class PngWriter {
             // spec. We may broaden the use of predictors in future versions.
             final boolean usePredictor = params.isPredictorEnabled() && 
!isGrayscale && palette == null;
 
-            byte[] uncompressed;
+            final byte[] uncompressed;
             if (!usePredictor) {
                 final ByteArrayOutputStream baos = new ByteArrayOutputStream();
 
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/psd/PsdImageParser.java 
b/src/main/java/org/apache/commons/imaging/formats/psd/PsdImageParser.java
index f1acfcff..d62458b5 100644
--- a/src/main/java/org/apache/commons/imaging/formats/psd/PsdImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/psd/PsdImageParser.java
@@ -142,7 +142,7 @@ public class PsdImageParser extends 
AbstractImageParser<PsdImagingParameters> im
         final boolean hasAlpha = false;
         final BufferedImage result = 
getBufferedImageFactory(params).getColorBufferedImage(width, height, hasAlpha);
 
-        DataParser dataParser;
+        final DataParser dataParser;
         switch (imageContents.header.mode) {
         case 0: // bitmap
             dataParser = new DataParserBitmap();
@@ -183,7 +183,7 @@ public class PsdImageParser extends 
AbstractImageParser<PsdImagingParameters> im
         default:
             throw new ImagingException("Unknown Mode: " + 
imageContents.header.mode);
         }
-        DataReader fDataReader;
+        final DataReader fDataReader;
         switch (imageContents.compression) {
         case 0:
             fDataReader = new UncompressedDataReader(dataParser);
@@ -351,7 +351,7 @@ public class PsdImageParser extends 
AbstractImageParser<PsdImagingParameters> im
         final boolean usesPalette = header.mode == COLOR_MODE_INDEXED;
         final ImageInfo.ColorType colorType = ImageInfo.ColorType.UNKNOWN;
 
-        ImageInfo.CompressionAlgorithm compressionAlgorithm;
+        final ImageInfo.CompressionAlgorithm compressionAlgorithm;
         switch (imageContents.compression) {
         case 0:
             compressionAlgorithm = ImageInfo.CompressionAlgorithm.NONE;
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java 
b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java
index c174faed..3fdc40b6 100644
--- a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java
@@ -531,7 +531,7 @@ public class TiffImageParser extends 
AbstractImageParser<TiffImagingParameters>
             compressionFieldValue = TiffConstants.COMPRESSION_UNCOMPRESSED_1;
         }
         final int compression = 0xffff & compressionFieldValue;
-        ImageInfo.CompressionAlgorithm compressionAlgorithm;
+        final ImageInfo.CompressionAlgorithm compressionAlgorithm;
 
         switch (compression) {
         case TiffConstants.COMPRESSION_UNCOMPRESSED_1:
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffReader.java 
b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffReader.java
index 9ce0b53f..f7bfa83e 100644
--- a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffReader.java
+++ b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffReader.java
@@ -283,7 +283,7 @@ public class TiffReader extends BinaryFileParser {
 
             final List<TiffField> fields = new ArrayList<>();
 
-            long entryCount;
+            final long entryCount;
             try {
                 if (standardTiff) {
                     entryCount = 
BinaryFunctions.read2Bytes("DirectoryEntryCount", is, "Not a Valid TIFF File", 
getByteOrder());
@@ -383,8 +383,8 @@ public class TiffReader extends BinaryFileParser {
                     final TagInfoDirectory offsetField = offsetFields[i];
                     final TiffField field = directory.findField(offsetField);
                     if (field != null) {
-                        long subDirectoryOffset;
-                        int subDirectoryType;
+                        final long subDirectoryOffset;
+                        final int subDirectoryType;
                         boolean subDirectoryRead = false;
                         try {
                             subDirectoryOffset = 
directory.getFieldValue(offsetField);
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataInterpreterJpeg.java
 
b/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataInterpreterJpeg.java
index 53e2f458..8f4781eb 100644
--- 
a/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataInterpreterJpeg.java
+++ 
b/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataInterpreterJpeg.java
@@ -70,7 +70,7 @@ final class DataInterpreterJpeg {
             return;
         }
 
-        byte[] concat;
+        final byte[] concat;
 
         final byte[] field = directory.getFieldValue(EXIF_TAG_JPEGTABLES, 
false);
 
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 3678d31d..57530b01 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
@@ -347,10 +347,10 @@ public final class DataReaderStrips extends 
ImageDataReader {
     }
 
     private TiffRasterData readRasterDataFloat(final Rectangle subImage) 
throws ImagingException, IOException {
-        int xRaster;
-        int yRaster;
-        int rasterWidth;
-        int rasterHeight;
+        final int xRaster;
+        final int yRaster;
+        final int rasterWidth;
+        final int rasterHeight;
         if (subImage != null) {
             xRaster = subImage.x;
             yRaster = subImage.y;
@@ -392,10 +392,10 @@ public final class DataReaderStrips extends 
ImageDataReader {
     }
 
     private TiffRasterData readRasterDataInt(final Rectangle subImage) throws 
ImagingException, IOException {
-        int xRaster;
-        int yRaster;
-        int rasterWidth;
-        int rasterHeight;
+        final int xRaster;
+        final int yRaster;
+        final int rasterWidth;
+        final int rasterHeight;
         if (subImage != null) {
             xRaster = subImage.x;
             yRaster = subImage.y;
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 1c845cd1..2db1faa5 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
@@ -286,10 +286,10 @@ public final class DataReaderTiled extends 
ImageDataReader {
         final int bitsPerRow = tileWidth * bitsPerPixel;
         final int bytesPerRow = (bitsPerRow + 7) / 8;
         final int bytesPerTile = bytesPerRow * tileLength;
-        int xRaster;
-        int yRaster;
-        int rasterWidth;
-        int rasterHeight;
+        final int xRaster;
+        final int yRaster;
+        final int rasterWidth;
+        final int rasterHeight;
         if (subImage != null) {
             xRaster = subImage.x;
             yRaster = subImage.y;
@@ -332,10 +332,10 @@ public final class DataReaderTiled extends 
ImageDataReader {
         final int bitsPerRow = tileWidth * bitsPerPixel;
         final int bytesPerRow = (bitsPerRow + 7) / 8;
         final int bytesPerTile = bytesPerRow * tileLength;
-        int xRaster;
-        int yRaster;
-        int rasterWidth;
-        int rasterHeight;
+        final int xRaster;
+        final int yRaster;
+        final int rasterWidth;
+        final int rasterHeight;
         if (subImage != null) {
             xRaster = subImage.x;
             yRaster = subImage.y;
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 415dec9d..c7157ac8 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
@@ -637,7 +637,7 @@ public abstract class ImageDataReader {
                     final long b5 = bytes[k++] & 0xffL;
                     final long b6 = bytes[k++] & 0xffL;
                     final long b7 = bytes[k++] & 0xffL;
-                    long sbits;
+                    final long sbits;
                     if (byteOrder == ByteOrder.LITTLE_ENDIAN) {
                         sbits = b7 << 56 | b6 << 48 | b5 << 40 | b4 << 32 | b3 
<< 24 | b2 << 16 | b1 << 8 | b0;
 
@@ -661,7 +661,7 @@ public abstract class ImageDataReader {
                     final int b1 = bytes[k++] & 0xff;
                     final int b2 = bytes[k++] & 0xff;
                     final int b3 = bytes[k++] & 0xff;
-                    int sbits;
+                    final int sbits;
                     if (byteOrder == ByteOrder.LITTLE_ENDIAN) {
                         sbits = b3 << 24 | b2 << 16 | b1 << 8 | b0;
 
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/tiff/itu_t4/HuffmanTree.java 
b/src/main/java/org/apache/commons/imaging/formats/tiff/itu_t4/HuffmanTree.java
index 97586b5b..62065879 100644
--- 
a/src/main/java/org/apache/commons/imaging/formats/tiff/itu_t4/HuffmanTree.java
+++ 
b/src/main/java/org/apache/commons/imaging/formats/tiff/itu_t4/HuffmanTree.java
@@ -37,7 +37,7 @@ final class HuffmanTree<T> {
         int position = 0;
         Node<T> node = nodes.get(0);
         while (node.value == null) {
-            int nextBit;
+            final int nextBit;
             try {
                 nextBit = bitStream.readBits(1);
             } catch (final IOException ioEx) {
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/tiff/itu_t4/T4AndT6Compression.java
 
b/src/main/java/org/apache/commons/imaging/formats/tiff/itu_t4/T4AndT6Compression.java
index 74037a74..bc254b56 100644
--- 
a/src/main/java/org/apache/commons/imaging/formats/tiff/itu_t4/T4AndT6Compression.java
+++ 
b/src/main/java/org/apache/commons/imaging/formats/tiff/itu_t4/T4AndT6Compression.java
@@ -129,7 +129,7 @@ public final class T4AndT6Compression {
             final int[] codingLine) {
         final int a1b1 = a1 - b1;
         if (-3 <= a1b1 && a1b1 <= 3) {
-            T4_T6_Tables.Entry entry;
+            final T4_T6_Tables.Entry entry;
             switch (a1b1) {
             case -3:
                 entry = T4_T6_Tables.VL3;
@@ -436,8 +436,8 @@ public final class T4AndT6Compression {
                         int b1 = nextChangingElement(referenceLine, 
referenceA0Color, 0);
                         int b2 = nextChangingElement(referenceLine, 1 - 
referenceA0Color, b1 + 1);
                         for (int a0 = 0; a0 < width;) {
-                            int a1;
-                            int a2;
+                            final int a1;
+                            final int a2;
                             entry = CONTROL_CODES.decode(inputStream);
                             if (entry == T4_T6_Tables.P) {
                                 fillRange(outputStream, referenceLine, a0, b2, 
codingA0Color);
@@ -451,7 +451,7 @@ public final class T4AndT6Compression {
                                 fillRange(outputStream, referenceLine, a1, a2, 
1 - codingA0Color);
                                 a0 = a2;
                             } else {
-                                int a1b1;
+                                final int a1b1;
                                 if (entry == T4_T6_Tables.V0) {
                                     a1b1 = 0;
                                 } else if (entry == T4_T6_Tables.VL1) {
@@ -533,8 +533,8 @@ public final class T4AndT6Compression {
                 int b1 = nextChangingElement(referenceLine, referenceA0Color, 
0);
                 int b2 = nextChangingElement(referenceLine, 1 - 
referenceA0Color, b1 + 1);
                 for (int a0 = 0; a0 < width;) {
-                    int a1;
-                    int a2;
+                    final int a1;
+                    final int a2;
                     final T4_T6_Tables.Entry entry = 
CONTROL_CODES.decode(inputStream);
                     if (entry == T4_T6_Tables.P) {
                         fillRange(outputStream, referenceLine, a0, b2, 
codingA0Color);
@@ -548,7 +548,7 @@ public final class T4AndT6Compression {
                         fillRange(outputStream, referenceLine, a1, a2, 1 - 
codingA0Color);
                         a0 = a2;
                     } else {
-                        int a1b1;
+                        final int a1b1;
                         if (entry == T4_T6_Tables.V0) {
                             a1b1 = 0;
                         } else if (entry == T4_T6_Tables.VL1) {
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/tiff/photometricinterpreters/PhotometricInterpreterPalette.java
 
b/src/main/java/org/apache/commons/imaging/formats/tiff/photometricinterpreters/PhotometricInterpreterPalette.java
index 29aafb9e..a2e5baab 100644
--- 
a/src/main/java/org/apache/commons/imaging/formats/tiff/photometricinterpreters/PhotometricInterpreterPalette.java
+++ 
b/src/main/java/org/apache/commons/imaging/formats/tiff/photometricinterpreters/PhotometricInterpreterPalette.java
@@ -51,7 +51,7 @@ public class PhotometricInterpreterPalette extends 
PhotometricInterpreter {
 
         final int bitsPerPixel = getBitsPerSample(0);
         final int colorMapScale = 1 << bitsPerPixel;
-        int colorMapScaleX2;
+        final int colorMapScaleX2;
         try {
             colorMapScaleX2 = Math.multiplyExact(2, colorMapScale);
         } catch (final ArithmeticException e) {
@@ -59,7 +59,7 @@ public class PhotometricInterpreterPalette extends 
PhotometricInterpreter {
         }
         // Validate colorMap[i], colorMap[i + colorMapScale], and colorMap[i + 
colorMapScaleX2] where max(i) is
         // colorMapScale - 1.
-        int maxI;
+        final int maxI;
         try {
             maxI = Math.addExact(colorMapScaleX2, colorMapScale - 1);
         } catch (final ArithmeticException e) {
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/tiff/write/AbstractTiffImageWriter.java
 
b/src/main/java/org/apache/commons/imaging/formats/tiff/write/AbstractTiffImageWriter.java
index 23ebcdeb..2094c3f7 100644
--- 
a/src/main/java/org/apache/commons/imaging/formats/tiff/write/AbstractTiffImageWriter.java
+++ 
b/src/main/java/org/apache/commons/imaging/formats/tiff/write/AbstractTiffImageWriter.java
@@ -406,9 +406,9 @@ public abstract class AbstractTiffImageWriter {
             }
         }
 
-        int samplesPerPixel;
-        int bitsPerSample;
-        int photometricInterpretation;
+        final int samplesPerPixel;
+        final int bitsPerSample;
+        final int photometricInterpretation;
         if (compression == TiffConstants.COMPRESSION_CCITT_1D || compression 
== TiffConstants.COMPRESSION_CCITT_GROUP_3
                 || compression == TiffConstants.COMPRESSION_CCITT_GROUP_4) {
             samplesPerPixel = 1;
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/tiff/write/TiffOutputDirectory.java
 
b/src/main/java/org/apache/commons/imaging/formats/tiff/write/TiffOutputDirectory.java
index cd147b5b..81c6b784 100644
--- 
a/src/main/java/org/apache/commons/imaging/formats/tiff/write/TiffOutputDirectory.java
+++ 
b/src/main/java/org/apache/commons/imaging/formats/tiff/write/TiffOutputDirectory.java
@@ -478,13 +478,13 @@ public final class TiffOutputDirectory extends 
AbstractTiffOutputItem implements
         removeFieldIfPresent(TiffTagConstants.TIFF_TAG_TILE_OFFSETS);
         removeFieldIfPresent(TiffTagConstants.TIFF_TAG_TILE_BYTE_COUNTS);
 
-        TiffOutputField imageDataOffsetField;
+        final TiffOutputField imageDataOffsetField;
         ImageDataOffsets imageDataInfo = null;
         if (null != abstractTiffImageData) {
             final boolean stripsNotTiles = 
abstractTiffImageData.stripsNotTiles();
 
-            TagInfo offsetTag;
-            TagInfo byteCountsTag;
+            final TagInfo offsetTag;
+            final TagInfo byteCountsTag;
             if (stripsNotTiles) {
                 offsetTag = TiffTagConstants.TIFF_TAG_STRIP_OFFSETS;
                 byteCountsTag = TiffTagConstants.TIFF_TAG_STRIP_BYTE_COUNTS;
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/webp/WebPImageParser.java 
b/src/main/java/org/apache/commons/imaging/formats/webp/WebPImageParser.java
index 19e39be4..3e464a55 100644
--- a/src/main/java/org/apache/commons/imaging/formats/webp/WebPImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/webp/WebPImageParser.java
@@ -216,9 +216,9 @@ public class WebPImageParser extends 
AbstractImageParser<WebPImagingParameters>
     @Override
     public ImageInfo getImageInfo(final ByteSource byteSource, final 
WebPImagingParameters params) throws ImagingException, IOException {
         try (ChunksReader reader = new ChunksReader(byteSource, 
WebPChunkType.VP8, WebPChunkType.VP8L, WebPChunkType.VP8X, WebPChunkType.ANMF)) 
{
-            String formatDetails;
-            int width;
-            int height;
+            final String formatDetails;
+            final int width;
+            final int height;
             int numberOfImages;
             boolean hasAlpha = false;
             ImageInfo.ColorType colorType = ImageInfo.ColorType.RGB;
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 52d385a5..3e13917c 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
@@ -354,7 +354,7 @@ public class XpmImageParser extends 
AbstractImageParser<XpmImagingParameters> {
     }
 
     private XpmHeader parseXpmHeader(final BasicCParser cParser) throws 
ImagingException, IOException {
-        String name;
+        final String name;
         String token;
         token = cParser.nextToken();
         if (!"static".equals(token)) {
@@ -511,9 +511,9 @@ public class XpmImageParser extends 
AbstractImageParser<XpmImagingParameters> {
     }
 
     private BufferedImage readXpmImage(final XpmHeader xpmHeader, final 
BasicCParser cParser) throws ImagingException, IOException {
-        ColorModel colorModel;
-        WritableRaster raster;
-        int bpp;
+        final ColorModel colorModel;
+        final WritableRaster raster;
+        final int bpp;
         if (xpmHeader.palette.size() <= 1 << 8) {
             final int[] palette = Allocator.intArray(xpmHeader.palette.size());
             for (final Entry<Object, PaletteEntry> entry : 
xpmHeader.palette.entrySet()) {
@@ -641,7 +641,7 @@ public class XpmImageParser extends 
AbstractImageParser<XpmImagingParameters> {
         os.write(line.getBytes(StandardCharsets.US_ASCII));
 
         for (int i = 0; i < colors; i++) {
-            String color;
+            final String color;
             if (i < palette.length()) {
                 color = toColor(palette.getEntry(i));
             } else {
diff --git a/src/main/java/org/apache/commons/imaging/internal/Debug.java 
b/src/main/java/org/apache/commons/imaging/internal/Debug.java
index 60e51bc1..11ce87ed 100644
--- a/src/main/java/org/apache/commons/imaging/internal/Debug.java
+++ b/src/main/java/org/apache/commons/imaging/internal/Debug.java
@@ -186,7 +186,7 @@ public final class Debug {
             for (int i = 0; i < max && i < v.length; i++) {
                 final int b = 0xff & v[i];
 
-                char c;
+                final char c;
                 if (b == 0 || b == 10 || b == 11 || b == 13) {
                     c = ' ';
                 } else {
diff --git 
a/src/main/java/org/apache/commons/imaging/mylzw/MyBitInputStream.java 
b/src/main/java/org/apache/commons/imaging/mylzw/MyBitInputStream.java
index 4a651a79..a9e3c153 100644
--- a/src/main/java/org/apache/commons/imaging/mylzw/MyBitInputStream.java
+++ b/src/main/java/org/apache/commons/imaging/mylzw/MyBitInputStream.java
@@ -73,7 +73,7 @@ public class MyBitInputStream extends FilterInputStream {
         }
         final int sampleMask = (1 << sampleBits) - 1;
 
-        int sample;
+        final int sample;
 
         if (byteOrder == ByteOrder.BIG_ENDIAN) {
             sample = sampleMask & bitCache >> bitsInCache - sampleBits;
diff --git 
a/src/main/java/org/apache/commons/imaging/palette/LongestAxisMedianCut.java 
b/src/main/java/org/apache/commons/imaging/palette/LongestAxisMedianCut.java
index 6bafabfd..a3e9d39e 100644
--- a/src/main/java/org/apache/commons/imaging/palette/LongestAxisMedianCut.java
+++ b/src/main/java/org/apache/commons/imaging/palette/LongestAxisMedianCut.java
@@ -70,7 +70,7 @@ public class LongestAxisMedianCut implements MedianCut {
         colorGroups.add(more);
 
         final ColorCount medianValue = colorCounts.get(medianIndex);
-        int limit;
+        final int limit;
         switch (mode) {
         case ALPHA:
             limit = medianValue.alpha;
diff --git 
a/src/main/java/org/apache/commons/imaging/palette/MostPopulatedBoxesMedianCut.java
 
b/src/main/java/org/apache/commons/imaging/palette/MostPopulatedBoxesMedianCut.java
index 2a563639..986a3eda 100644
--- 
a/src/main/java/org/apache/commons/imaging/palette/MostPopulatedBoxesMedianCut.java
+++ 
b/src/main/java/org/apache/commons/imaging/palette/MostPopulatedBoxesMedianCut.java
@@ -101,7 +101,7 @@ public class MostPopulatedBoxesMedianCut implements 
MedianCut {
         colorGroups.add(upperGroup);
 
         final ColorCount medianValue = colorCounts.get(bestMedianIndex);
-        int limit;
+        final int limit;
         switch (bestColorComponent) {
         case ALPHA:
             limit = medianValue.alpha;
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 25d52b03..234d197a 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
@@ -78,15 +78,15 @@ public class IptcParserTest {
      */
     @ParameterizedTest
     @CsvSource({ "äöü ÄÖÜß, true", "äöü ÄÖÜß €, true", "äöü ÄÖÜß, false", "äöü 
ÄÖÜß €, false" })
-    public void testEncoding(String value, boolean forceUtf8) throws 
IOException {
+    public void testEncoding(final String value, final boolean forceUtf8) 
throws IOException {
 
-        IptcParser parser = new IptcParser();
-        List<IptcRecord> records = new ArrayList<>();
+        final IptcParser parser = new IptcParser();
+        final List<IptcRecord> records = new ArrayList<>();
         records.add(new IptcRecord(IptcTypes.CAPTION_ABSTRACT, value));
         final Charset charset;
 
         //
-        byte[] actualBytes = parser.writeIptcBlock(records, forceUtf8);
+        final byte[] actualBytes = parser.writeIptcBlock(records, forceUtf8);
 
         // Write prefix including (optional)
         final byte[] prefix;
@@ -122,14 +122,14 @@ public class IptcParserTest {
             bos.write(IptcConstants.IPTC_RECORD_TAG_MARKER);
             bos.write(IptcConstants.IPTC_APPLICATION_2_RECORD_NUMBER);
             bos.write(IptcTypes.CAPTION_ABSTRACT.type);
-            byte[] valueBytes = value.getBytes(charset);
+            final byte[] valueBytes = value.getBytes(charset);
             bos.write2Bytes(valueBytes.length);
             bos.write(valueBytes);
             applicationRecord = applicationRecordStream.toByteArray();
         }
 
-        byte[] actualPrefix = ArrayUtils.subarray(actualBytes, 0, 
prefix.length);
-        byte[] actualApplicationRecord = ArrayUtils.subarray(actualBytes, 
prefix.length, prefix.length + applicationRecord.length);
+        final byte[] actualPrefix = ArrayUtils.subarray(actualBytes, 0, 
prefix.length);
+        final byte[] actualApplicationRecord = 
ArrayUtils.subarray(actualBytes, prefix.length, prefix.length + 
applicationRecord.length);
 
         assertArrayEquals(prefix, actualPrefix);
         assertArrayEquals(applicationRecord, actualApplicationRecord);
diff --git 
a/src/test/java/org/apache/commons/imaging/formats/png/PngReadTest.java 
b/src/test/java/org/apache/commons/imaging/formats/png/PngReadTest.java
index 0fa4de0c..3a39a62b 100644
--- a/src/test/java/org/apache/commons/imaging/formats/png/PngReadTest.java
+++ b/src/test/java/org/apache/commons/imaging/formats/png/PngReadTest.java
@@ -140,12 +140,12 @@ public class PngReadTest extends AbstractPngTest {
 
         final PngImageMetadata pngMetadata = (PngImageMetadata) 
parser.getMetadata(new File(file));
 
-        TiffImageMetadata exifMetadata = pngMetadata.getExif();
+        final TiffImageMetadata exifMetadata = pngMetadata.getExif();
         assertEquals("Glavo",
                 
exifMetadata.findDirectory(TiffDirectoryConstants.DIRECTORY_TYPE_ROOT)
                         
.getFieldValue(TiffTagConstants.TIFF_TAG_IMAGE_DESCRIPTION));
 
-        PngImageMetadata metadata = (PngImageMetadata) parser.getMetadata(new 
File(file));
+        final PngImageMetadata metadata = (PngImageMetadata) 
parser.getMetadata(new File(file));
         assertTrue(metadata.getTextualInformation().getItems().isEmpty());
         assertEquals("Glavo",
                 metadata.getExif()

Reply via email to