You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2016/04/09 19:10:43 UTC

[8/9] commons-compress git commit: Add final modifier to local variables.

http://git-wip-us.apache.org/repos/asf/commons-compress/blob/3f2c760a/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveEntry.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveEntry.java b/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveEntry.java
index 0e4fa50..941bbbd 100644
--- a/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveEntry.java
+++ b/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveEntry.java
@@ -259,7 +259,7 @@ public class TarArchiveEntry implements TarConstants, ArchiveEntry {
         this.preserveLeadingSlashes = preserveLeadingSlashes;
 
         name = normalizeFileName(name, preserveLeadingSlashes);
-        boolean isDir = name.endsWith("/");
+        final boolean isDir = name.endsWith("/");
 
         this.name = name;
         this.mode = isDir ? DEFAULT_DIR_MODE : DEFAULT_FILE_MODE;
@@ -316,14 +316,14 @@ public class TarArchiveEntry implements TarConstants, ArchiveEntry {
      * @param fileName the name to be used for the entry.
      */
     public TarArchiveEntry(final File file, final String fileName) {
-        String normalizedName = normalizeFileName(fileName, false);
+        final String normalizedName = normalizeFileName(fileName, false);
         this.file = file;
 
         if (file.isDirectory()) {
             this.mode = DEFAULT_DIR_MODE;
             this.linkFlag = LF_DIR;
 
-            int nameLength = normalizedName.length();
+            final int nameLength = normalizedName.length();
             if (nameLength == 0 || normalizedName.charAt(nameLength - 1) != '/') {
                 this.name = normalizedName + "/";
             } else {
@@ -950,11 +950,11 @@ public class TarArchiveEntry implements TarConstants, ArchiveEntry {
             return EMPTY_TAR_ARCHIVE_ENTRIES;
         }
 
-        String[] list = file.list();
+        final String[] list = file.list();
         if (list == null) {
             return EMPTY_TAR_ARCHIVE_ENTRIES;
         }
-        TarArchiveEntry[] result = new TarArchiveEntry[list.length];
+        final TarArchiveEntry[] result = new TarArchiveEntry[list.length];
 
         for (int i = 0; i < result.length; ++i) {
             result[i] = new TarArchiveEntry(new File(file, list[i]));
@@ -973,10 +973,10 @@ public class TarArchiveEntry implements TarConstants, ArchiveEntry {
     public void writeEntryHeader(final byte[] outbuf) {
         try {
             writeEntryHeader(outbuf, TarUtils.DEFAULT_ENCODING, false);
-        } catch (IOException ex) {
+        } catch (final IOException ex) {
             try {
                 writeEntryHeader(outbuf, TarUtils.FALLBACK_ENCODING, false);
-            } catch (IOException ex2) {
+            } catch (final IOException ex2) {
                 // impossible
                 throw new RuntimeException(ex2);
             }
@@ -1009,7 +1009,7 @@ public class TarArchiveEntry implements TarConstants, ArchiveEntry {
         offset = writeEntryHeaderField(modTime, outbuf, offset, MODTIMELEN,
                                        starMode);
 
-        int csOffset = offset;
+        final int csOffset = offset;
 
         for (int c = 0; c < CHKSUMLEN; ++c) {
             outbuf[offset++] = (byte) ' ';
@@ -1033,7 +1033,7 @@ public class TarArchiveEntry implements TarConstants, ArchiveEntry {
             outbuf[offset++] = 0;
         }
 
-        long chk = TarUtils.computeCheckSum(outbuf);
+        final long chk = TarUtils.computeCheckSum(outbuf);
 
         TarUtils.formatCheckSumOctalBytes(chk, outbuf, csOffset, CHKSUMLEN);
     }
@@ -1060,10 +1060,10 @@ public class TarArchiveEntry implements TarConstants, ArchiveEntry {
     public void parseTarHeader(final byte[] header) {
         try {
             parseTarHeader(header, TarUtils.DEFAULT_ENCODING);
-        } catch (IOException ex) {
+        } catch (final IOException ex) {
             try {
                 parseTarHeader(header, TarUtils.DEFAULT_ENCODING, true);
-            } catch (IOException ex2) {
+            } catch (final IOException ex2) {
                 // not really possible
                 throw new RuntimeException(ex2);
             }
@@ -1124,7 +1124,7 @@ public class TarArchiveEntry implements TarConstants, ArchiveEntry {
         devMinor = (int) TarUtils.parseOctalOrBinary(header, offset, DEVLEN);
         offset += DEVLEN;
 
-        int type = evaluateType(header);
+        final int type = evaluateType(header);
         switch (type) {
         case FORMAT_OLDGNU: {
             offset += ATIMELEN_GNU;
@@ -1140,7 +1140,7 @@ public class TarArchiveEntry implements TarConstants, ArchiveEntry {
             break;
         }
         case FORMAT_XSTAR: {
-            String xstarPrefix = oldStyle
+            final String xstarPrefix = oldStyle
                 ? TarUtils.parseName(header, offset, PREFIXLEN_XSTAR)
                 : TarUtils.parseName(header, offset, PREFIXLEN_XSTAR, encoding);
             if (xstarPrefix.length() > 0) {
@@ -1150,7 +1150,7 @@ public class TarArchiveEntry implements TarConstants, ArchiveEntry {
         }
         case FORMAT_POSIX:
         default: {
-            String prefix = oldStyle
+            final String prefix = oldStyle
                 ? TarUtils.parseName(header, offset, PREFIXLEN)
                 : TarUtils.parseName(header, offset, PREFIXLEN, encoding);
             // SunOS tar -E does not add / to directory names, so fix
@@ -1171,7 +1171,7 @@ public class TarArchiveEntry implements TarConstants, ArchiveEntry {
      */
     private static String normalizeFileName(String fileName,
                                             final boolean preserveLeadingSlashes) {
-        String osname = System.getProperty("os.name").toLowerCase(Locale.ENGLISH);
+        final String osname = System.getProperty("os.name").toLowerCase(Locale.ENGLISH);
 
         if (osname != null) {
 
@@ -1180,8 +1180,8 @@ public class TarArchiveEntry implements TarConstants, ArchiveEntry {
 
             if (osname.startsWith("windows")) {
                 if (fileName.length() > 2) {
-                    char ch1 = fileName.charAt(0);
-                    char ch2 = fileName.charAt(1);
+                    final char ch1 = fileName.charAt(0);
+                    final char ch2 = fileName.charAt(1);
 
                     if (ch2 == ':'
                         && (ch1 >= 'a' && ch1 <= 'z'
@@ -1190,7 +1190,7 @@ public class TarArchiveEntry implements TarConstants, ArchiveEntry {
                     }
                 }
             } else if (osname.contains("netware")) {
-                int colon = fileName.indexOf(':');
+                final int colon = fileName.indexOf(':');
                 if (colon != -1) {
                     fileName = fileName.substring(colon + 1);
                 }

http://git-wip-us.apache.org/repos/asf/commons-compress/blob/3f2c760a/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStream.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStream.java b/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStream.java
index 3859e43..61b908f 100644
--- a/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStream.java
+++ b/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStream.java
@@ -272,7 +272,7 @@ public class TarArchiveInputStream extends ArchiveInputStream {
             skipRecordPadding();
         }
 
-        byte[] headerBuf = getRecord();
+        final byte[] headerBuf = getRecord();
 
         if (headerBuf == null) {
             /* hit EOF */
@@ -282,7 +282,7 @@ public class TarArchiveInputStream extends ArchiveInputStream {
 
         try {
             currEntry = new TarArchiveEntry(headerBuf, zipEncoding);
-        } catch (IllegalArgumentException e) {
+        } catch (final IllegalArgumentException e) {
             throw new IOException("Error detected parsing the header", e);
         }
 
@@ -290,7 +290,7 @@ public class TarArchiveInputStream extends ArchiveInputStream {
         entrySize = currEntry.getSize();
 
         if (currEntry.isGNULongLinkEntry()) {
-            byte[] longLinkData = getLongNameData();
+            final byte[] longLinkData = getLongNameData();
             if (longLinkData == null) {
                 // Bugzilla: 40334
                 // Malformed tar file - long link entry name not followed by
@@ -301,7 +301,7 @@ public class TarArchiveInputStream extends ArchiveInputStream {
         }
 
         if (currEntry.isGNULongNameEntry()) {
-            byte[] longNameData = getLongNameData();
+            final byte[] longNameData = getLongNameData();
             if (longNameData == null) {
                 // Bugzilla: 40334
                 // Malformed tar file - long entry name not followed by
@@ -340,9 +340,9 @@ public class TarArchiveInputStream extends ArchiveInputStream {
      */
     private void skipRecordPadding() throws IOException {
         if (!isDirectory() && this.entrySize > 0 && this.entrySize % this.recordSize != 0) {
-            long numRecords = (this.entrySize / this.recordSize) + 1;
-            long padding = (numRecords * this.recordSize) - this.entrySize;
-            long skipped = IOUtils.skip(is, padding);
+            final long numRecords = (this.entrySize / this.recordSize) + 1;
+            final long padding = (numRecords * this.recordSize) - this.entrySize;
+            final long skipped = IOUtils.skip(is, padding);
             count(skipped);
         }
     }
@@ -355,7 +355,7 @@ public class TarArchiveInputStream extends ArchiveInputStream {
      */
     protected byte[] getLongNameData() throws IOException {
         // read in the name
-        ByteArrayOutputStream longName = new ByteArrayOutputStream();
+        final ByteArrayOutputStream longName = new ByteArrayOutputStream();
         int length = 0;
         while ((length = read(SMALL_BUF)) >= 0) {
             longName.write(SMALL_BUF, 0, length);
@@ -373,7 +373,7 @@ public class TarArchiveInputStream extends ArchiveInputStream {
             --length;
         }
         if (length != longNameData.length) {
-            byte[] l = new byte[length];
+            final byte[] l = new byte[length];
             System.arraycopy(longNameData, 0, l, 0, length);
             longNameData = l;
         }
@@ -424,9 +424,9 @@ public class TarArchiveInputStream extends ArchiveInputStream {
      */
     protected byte[] readRecord() throws IOException {
 
-        byte[] record = new byte[recordSize];
+        final byte[] record = new byte[recordSize];
 
-        int readNow = IOUtils.readFully(is, record);
+        final int readNow = IOUtils.readFully(is, record);
         count(readNow);
         if (readNow != recordSize) {
             return null;
@@ -441,7 +441,7 @@ public class TarArchiveInputStream extends ArchiveInputStream {
     }
 
     private void paxHeaders() throws IOException{
-        Map<String, String> headers = parsePaxHeaders(this);
+        final Map<String, String> headers = parsePaxHeaders(this);
         getNextEntry(); // Get the actual file entry
         applyPaxHeadersToCurrentEntry(headers);
     }
@@ -451,7 +451,7 @@ public class TarArchiveInputStream extends ArchiveInputStream {
     // https://www.gnu.org/software/tar/manual/html_section/tar_92.html#SEC188
     Map<String, String> parsePaxHeaders(final InputStream i)
         throws IOException {
-        Map<String, String> headers = new HashMap<String, String>(globalPaxHeaders);
+        final Map<String, String> headers = new HashMap<String, String>(globalPaxHeaders);
         // Format is "length keyword=value\n";
         while(true){ // get length
             int ch;
@@ -461,18 +461,18 @@ public class TarArchiveInputStream extends ArchiveInputStream {
                 read++;
                 if (ch == ' '){ // End of length string
                     // Get keyword
-                    ByteArrayOutputStream coll = new ByteArrayOutputStream();
+                    final ByteArrayOutputStream coll = new ByteArrayOutputStream();
                     while((ch = i.read()) != -1) {
                         read++;
                         if (ch == '='){ // end of keyword
-                            String keyword = coll.toString(CharsetNames.UTF_8);
+                            final String keyword = coll.toString(CharsetNames.UTF_8);
                             // Get rest of entry
                             final int restLen = len - read;
                             if (restLen == 1) { // only NL
                                 headers.remove(keyword);
                             } else {
-                                byte[] rest = new byte[restLen];
-                                int got = IOUtils.readFully(i, rest);
+                                final byte[] rest = new byte[restLen];
+                                final int got = IOUtils.readFully(i, rest);
                                 if (got != restLen) {
                                     throw new IOException("Failed to read "
                                                           + "Paxheader. Expected "
@@ -481,7 +481,7 @@ public class TarArchiveInputStream extends ArchiveInputStream {
                                                           + got);
                                 }
                                 // Drop trailing NL
-                                String value = new String(rest, 0,
+                                final String value = new String(rest, 0,
                                                           restLen - 1, CharsetNames.UTF_8);
                                 headers.put(keyword, value);
                             }
@@ -520,9 +520,9 @@ public class TarArchiveInputStream extends ArchiveInputStream {
          * star files use additional members of which we use
          * SCHILY.filetype in order to detect star sparse files.
          */
-        for (Entry<String, String> ent : headers.entrySet()){
-            String key = ent.getKey();
-            String val = ent.getValue();
+        for (final Entry<String, String> ent : headers.entrySet()){
+            final String key = ent.getKey();
+            final String val = ent.getValue();
             if ("path".equals(key)){
                 currEntry.setName(val);
             } else if ("linkpath".equals(key)){
@@ -569,7 +569,7 @@ public class TarArchiveInputStream extends ArchiveInputStream {
         if (currEntry.isExtended()) {
             TarArchiveSparseEntry entry;
             do {
-                byte[] headerBuf = getRecord();
+                final byte[] headerBuf = getRecord();
                 if (headerBuf == null) {
                     currEntry = null;
                     break;
@@ -610,7 +610,7 @@ public class TarArchiveInputStream extends ArchiveInputStream {
      */
     private void tryToConsumeSecondEOFRecord() throws IOException {
         boolean shouldReset = true;
-        boolean marked = is.markSupported();
+        final boolean marked = is.markSupported();
         if (marked) {
             is.mark(recordSize);
         }
@@ -674,7 +674,7 @@ public class TarArchiveInputStream extends ArchiveInputStream {
     @Override
     public boolean canReadEntryData(final ArchiveEntry ae) {
         if (ae instanceof TarArchiveEntry) {
-            TarArchiveEntry te = (TarArchiveEntry) ae;
+            final TarArchiveEntry te = (TarArchiveEntry) ae;
             return !te.isSparse();
         }
         return false;
@@ -707,9 +707,9 @@ public class TarArchiveInputStream extends ArchiveInputStream {
      * the tool creating this archive has padded the last block.
      */
     private void consumeRemainderOfLastBlock() throws IOException {
-        long bytesReadOfLastBlock = getBytesRead() % blockSize;
+        final long bytesReadOfLastBlock = getBytesRead() % blockSize;
         if (bytesReadOfLastBlock > 0) {
-            long skipped = IOUtils.skip(is, blockSize - bytesReadOfLastBlock);
+            final long skipped = IOUtils.skip(is, blockSize - bytesReadOfLastBlock);
             count(skipped);
         }
     }

http://git-wip-us.apache.org/repos/asf/commons-compress/blob/3f2c760a/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveOutputStream.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveOutputStream.java b/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveOutputStream.java
index 4702711..af5c307 100644
--- a/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveOutputStream.java
+++ b/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveOutputStream.java
@@ -274,14 +274,14 @@ public class TarArchiveOutputStream extends ArchiveOutputStream {
         if (finished) {
             throw new IOException("Stream has already been finished");
         }
-        TarArchiveEntry entry = (TarArchiveEntry) archiveEntry;
-        Map<String, String> paxHeaders = new HashMap<String, String>();
+        final TarArchiveEntry entry = (TarArchiveEntry) archiveEntry;
+        final Map<String, String> paxHeaders = new HashMap<String, String>();
         final String entryName = entry.getName();
-        boolean paxHeaderContainsPath = handleLongName(entry, entryName, paxHeaders, "path",
+        final boolean paxHeaderContainsPath = handleLongName(entry, entryName, paxHeaders, "path",
                                                        TarConstants.LF_GNUTYPE_LONGNAME, "file name");
 
         final String linkName = entry.getLinkName();
-        boolean paxHeaderContainsLinkPath = linkName != null && linkName.length() > 0
+        final boolean paxHeaderContainsLinkPath = linkName != null && linkName.length() > 0
             && handleLongName(entry, linkName, paxHeaders, "linkpath",
                               TarConstants.LF_GNUTYPE_LONGLINK, "link name");
 
@@ -395,7 +395,7 @@ public class TarArchiveOutputStream extends ArchiveOutputStream {
 
         if (assemLen > 0) {
             if (assemLen + numToWrite >= recordBuf.length) {
-                int aLen = recordBuf.length - assemLen;
+                final int aLen = recordBuf.length - assemLen;
 
                 System.arraycopy(assemBuf, 0, recordBuf, 0,
                                  assemLen);
@@ -434,7 +434,7 @@ public class TarArchiveOutputStream extends ArchiveOutputStream {
 
             writeRecord(wBuf, wOffset);
 
-            int num = recordBuf.length;
+            final int num = recordBuf.length;
 
             currBytes += num;
             numToWrite -= num;
@@ -453,14 +453,14 @@ public class TarArchiveOutputStream extends ArchiveOutputStream {
         if (name.length() >= TarConstants.NAMELEN) {
             name = name.substring(0, TarConstants.NAMELEN - 1);
         }
-        TarArchiveEntry pex = new TarArchiveEntry(name,
+        final TarArchiveEntry pex = new TarArchiveEntry(name,
                                                   TarConstants.LF_PAX_EXTENDED_HEADER_LC);
         transferModTime(entry, pex);
 
-        StringWriter w = new StringWriter();
-        for (Map.Entry<String, String> h : headers.entrySet()) {
-            String key = h.getKey();
-            String value = h.getValue();
+        final StringWriter w = new StringWriter();
+        for (final Map.Entry<String, String> h : headers.entrySet()) {
+            final String key = h.getKey();
+            final String value = h.getValue();
             int len = key.length() + value.length()
                 + 3 /* blank, equals and newline */
                 + 2 /* guess 9 < actual length < 100 */;
@@ -478,7 +478,7 @@ public class TarArchiveOutputStream extends ArchiveOutputStream {
             }
             w.write(line);
         }
-        byte[] data = w.toString().getBytes(CharsetNames.UTF_8);
+        final byte[] data = w.toString().getBytes(CharsetNames.UTF_8);
         pex.setSize(data.length);
         putArchiveEntry(pex);
         write(data);
@@ -487,9 +487,9 @@ public class TarArchiveOutputStream extends ArchiveOutputStream {
 
     private String stripTo7Bits(final String name) {
         final int length = name.length();
-        StringBuilder result = new StringBuilder(length);
+        final StringBuilder result = new StringBuilder(length);
         for (int i = 0; i < length; i++) {
-            char stripped = (char) (name.charAt(i) & 0x7F);
+            final char stripped = (char) (name.charAt(i) & 0x7F);
             if (shouldBeReplaced(stripped)) {
                 result.append("_");
             } else {
@@ -573,7 +573,7 @@ public class TarArchiveOutputStream extends ArchiveOutputStream {
     }
 
     private void padAsNeeded() throws IOException {
-        int start = recordsWritten % recordsPerBlock;
+        final int start = recordsWritten % recordsPerBlock;
         if (start != 0) {
             for (int i = start; i < recordsPerBlock; i++) {
                 writeEOFRecord();
@@ -675,7 +675,7 @@ public class TarArchiveOutputStream extends ArchiveOutputStream {
             } else if (longFileMode == LONGFILE_GNU) {
                 // create a TarEntry for the LongLink, the contents
                 // of which are the link's name
-                TarArchiveEntry longLinkEntry = new TarArchiveEntry(TarConstants.GNU_LONGLINK, linkType);
+                final TarArchiveEntry longLinkEntry = new TarArchiveEntry(TarConstants.GNU_LONGLINK, linkType);
 
                 longLinkEntry.setSize(len + 1); // +1 for NUL
                 transferModTime(entry, longLinkEntry);
@@ -694,7 +694,7 @@ public class TarArchiveOutputStream extends ArchiveOutputStream {
 
     private void transferModTime(final TarArchiveEntry from, final TarArchiveEntry to) {
         Date fromModTime = from.getModTime();
-        long fromModTimeSeconds = fromModTime.getTime() / 1000;
+        final long fromModTimeSeconds = fromModTime.getTime() / 1000;
         if (fromModTimeSeconds < 0 || fromModTimeSeconds > TarConstants.MAXSIZE) {
             fromModTime = new Date(0);
         }

http://git-wip-us.apache.org/repos/asf/commons-compress/blob/3f2c760a/src/main/java/org/apache/commons/compress/archivers/tar/TarUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/compress/archivers/tar/TarUtils.java b/src/main/java/org/apache/commons/compress/archivers/tar/TarUtils.java
index 1138fd1..90e7294 100644
--- a/src/main/java/org/apache/commons/compress/archivers/tar/TarUtils.java
+++ b/src/main/java/org/apache/commons/compress/archivers/tar/TarUtils.java
@@ -51,7 +51,7 @@ public class TarUtils {
             @Override
             public ByteBuffer encode(final String name) {
                 final int length = name.length();
-                byte[] buf = new byte[length];
+                final byte[] buf = new byte[length];
 
                 // copy until end of input or output is reached.
                 for (int i = 0; i < length; ++i) {
@@ -63,9 +63,9 @@ public class TarUtils {
             @Override
             public String decode(final byte[] buffer) {
                 final int length = buffer.length;
-                StringBuilder result = new StringBuilder(length);
+                final StringBuilder result = new StringBuilder(length);
 
-                for (byte b : buffer) {
+                for (final byte b : buffer) {
                     if (b == 0) { // Trailing null
                         break;
                     }
@@ -202,7 +202,7 @@ public class TarUtils {
                                               final int offset,
                                               final int length,
                                               final boolean negative) {
-        byte[] remainder = new byte[length - 1];
+        final byte[] remainder = new byte[length - 1];
         System.arraycopy(buffer, offset + 1, remainder, 0, length - 1);
         BigInteger val = new BigInteger(remainder);
         if (negative) {
@@ -262,10 +262,10 @@ public class TarUtils {
     public static String parseName(final byte[] buffer, final int offset, final int length) {
         try {
             return parseName(buffer, offset, length, DEFAULT_ENCODING);
-        } catch (IOException ex) {
+        } catch (final IOException ex) {
             try {
                 return parseName(buffer, offset, length, FALLBACK_ENCODING);
-            } catch (IOException ex2) {
+            } catch (final IOException ex2) {
                 // impossible
                 throw new RuntimeException(ex2);
             }
@@ -297,7 +297,7 @@ public class TarUtils {
             }
         }
         if (len > 0) {
-            byte[] b = new byte[len];
+            final byte[] b = new byte[len];
             System.arraycopy(buffer, offset, b, 0, len);
             return encoding.decode(b);
         }
@@ -322,11 +322,11 @@ public class TarUtils {
     public static int formatNameBytes(final String name, final byte[] buf, final int offset, final int length) {
         try {
             return formatNameBytes(name, buf, offset, length, DEFAULT_ENCODING);
-        } catch (IOException ex) {
+        } catch (final IOException ex) {
             try {
                 return formatNameBytes(name, buf, offset, length,
                                        FALLBACK_ENCODING);
-            } catch (IOException ex2) {
+            } catch (final IOException ex2) {
                 // impossible
                 throw new RuntimeException(ex2);
             }
@@ -446,7 +446,7 @@ public class TarUtils {
      */
     public static int formatLongOctalBytes(final long value, final byte[] buf, final int offset, final int length) {
 
-        int idx=length-1; // For space
+        final int idx=length-1; // For space
 
         formatUnsignedOctalString(value, buf, offset, idx);
         buf[offset + idx] = (byte) ' '; // Trailing space
@@ -516,7 +516,7 @@ public class TarUtils {
                                                final int offset,
                                                final int length,
                                                final boolean negative) {
-        BigInteger val = BigInteger.valueOf(value);
+        final BigInteger val = BigInteger.valueOf(value);
         final byte[] b = val.toByteArray();
         final int len = b.length;
         final int off = offset + length - len;
@@ -561,7 +561,7 @@ public class TarUtils {
     public static long computeCheckSum(final byte[] buf) {
         long sum = 0;
 
-        for (byte element : buf) {
+        for (final byte element : buf) {
             sum += BYTE_MASK & element;
         }
 
@@ -594,7 +594,7 @@ public class TarUtils {
      * @since 1.5
      */
     public static boolean verifyCheckSum(final byte[] header) {
-        long storedSum = parseOctal(header, CHKSUM_OFFSET, CHKSUMLEN);
+        final long storedSum = parseOctal(header, CHKSUM_OFFSET, CHKSUMLEN);
         long unsignedSum = 0;
         long signedSum = 0;
 

http://git-wip-us.apache.org/repos/asf/commons-compress/blob/3f2c760a/src/main/java/org/apache/commons/compress/archivers/zip/AbstractUnicodeExtraField.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/AbstractUnicodeExtraField.java b/src/main/java/org/apache/commons/compress/archivers/zip/AbstractUnicodeExtraField.java
index ac7bbba..3510cc4 100644
--- a/src/main/java/org/apache/commons/compress/archivers/zip/AbstractUnicodeExtraField.java
+++ b/src/main/java/org/apache/commons/compress/archivers/zip/AbstractUnicodeExtraField.java
@@ -49,13 +49,13 @@ public abstract class AbstractUnicodeExtraField implements ZipExtraField {
      * <code>bytes</code>.
      */
     protected AbstractUnicodeExtraField(final String text, final byte[] bytes, final int off, final int len) {
-        CRC32 crc32 = new CRC32();
+        final CRC32 crc32 = new CRC32();
         crc32.update(bytes, off, len);
         nameCRC32 = crc32.getValue();
 
         try {
             unicodeName = text.getBytes(CharsetNames.UTF_8);
-        } catch (UnsupportedEncodingException e) {
+        } catch (final UnsupportedEncodingException e) {
             throw new RuntimeException("FATAL: UTF-8 encoding not supported.", e);
         }
     }
@@ -166,7 +166,7 @@ public abstract class AbstractUnicodeExtraField implements ZipExtraField {
             throw new ZipException("UniCode path extra data must have at least 5 bytes.");
         }
 
-        int version = buffer[offset];
+        final int version = buffer[offset];
 
         if (version != 0x01) {
             throw new ZipException("Unsupported version [" + version

http://git-wip-us.apache.org/repos/asf/commons-compress/blob/3f2c760a/src/main/java/org/apache/commons/compress/archivers/zip/AsiExtraField.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/AsiExtraField.java b/src/main/java/org/apache/commons/compress/archivers/zip/AsiExtraField.java
index de5ad31..faf84cd 100644
--- a/src/main/java/org/apache/commons/compress/archivers/zip/AsiExtraField.java
+++ b/src/main/java/org/apache/commons/compress/archivers/zip/AsiExtraField.java
@@ -127,10 +127,10 @@ public class AsiExtraField implements ZipExtraField, UnixStat, Cloneable {
     @Override
     public byte[] getLocalFileDataData() {
         // CRC will be added later
-        byte[] data = new byte[getLocalFileDataLength().getValue() - WORD];
+        final byte[] data = new byte[getLocalFileDataLength().getValue() - WORD];
         System.arraycopy(ZipShort.getBytes(getMode()), 0, data, 0, 2);
 
-        byte[] linkArray = getLinkedFile().getBytes(); // Uses default charset - see class Javadoc
+        final byte[] linkArray = getLinkedFile().getBytes(); // Uses default charset - see class Javadoc
         // CheckStyle:MagicNumber OFF
         System.arraycopy(ZipLong.getBytes(linkArray.length),
                          0, data, 2, WORD);
@@ -145,9 +145,9 @@ public class AsiExtraField implements ZipExtraField, UnixStat, Cloneable {
 
         crc.reset();
         crc.update(data);
-        long checksum = crc.getValue();
+        final long checksum = crc.getValue();
 
-        byte[] result = new byte[data.length + WORD];
+        final byte[] result = new byte[data.length + WORD];
         System.arraycopy(ZipLong.getBytes(checksum), 0, result, 0, WORD);
         System.arraycopy(data, 0, result, WORD, data.length);
         return result;
@@ -267,12 +267,12 @@ public class AsiExtraField implements ZipExtraField, UnixStat, Cloneable {
     public void parseFromLocalFileData(final byte[] data, final int offset, final int length)
         throws ZipException {
 
-        long givenChecksum = ZipLong.getValue(data, offset);
-        byte[] tmp = new byte[length - WORD];
+        final long givenChecksum = ZipLong.getValue(data, offset);
+        final byte[] tmp = new byte[length - WORD];
         System.arraycopy(data, offset + WORD, tmp, 0, length - WORD);
         crc.reset();
         crc.update(tmp);
-        long realChecksum = crc.getValue();
+        final long realChecksum = crc.getValue();
         if (givenChecksum != realChecksum) {
             throw new ZipException("bad CRC checksum "
                                    + Long.toHexString(givenChecksum)
@@ -280,9 +280,9 @@ public class AsiExtraField implements ZipExtraField, UnixStat, Cloneable {
                                    + Long.toHexString(realChecksum));
         }
 
-        int newMode = ZipShort.getValue(tmp, 0);
+        final int newMode = ZipShort.getValue(tmp, 0);
         // CheckStyle:MagicNumber OFF
-        byte[] linkArray = new byte[(int) ZipLong.getValue(tmp, 2)];
+        final byte[] linkArray = new byte[(int) ZipLong.getValue(tmp, 2)];
         uid = ZipShort.getValue(tmp, 6);
         gid = ZipShort.getValue(tmp, 8);
 
@@ -326,10 +326,10 @@ public class AsiExtraField implements ZipExtraField, UnixStat, Cloneable {
     @Override
     public Object clone() {
         try {
-            AsiExtraField cloned = (AsiExtraField) super.clone();
+            final AsiExtraField cloned = (AsiExtraField) super.clone();
             cloned.crc = new CRC32();
             return cloned;
-        } catch (CloneNotSupportedException cnfe) {
+        } catch (final CloneNotSupportedException cnfe) {
             // impossible
             throw new RuntimeException(cnfe);
         }

http://git-wip-us.apache.org/repos/asf/commons-compress/blob/3f2c760a/src/main/java/org/apache/commons/compress/archivers/zip/BinaryTree.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/BinaryTree.java b/src/main/java/org/apache/commons/compress/archivers/zip/BinaryTree.java
index 494fae8..c73e3d5 100644
--- a/src/main/java/org/apache/commons/compress/archivers/zip/BinaryTree.java
+++ b/src/main/java/org/apache/commons/compress/archivers/zip/BinaryTree.java
@@ -70,7 +70,7 @@ class BinaryTree {
             tree[node] = NODE;
             
             // move down the path recursively
-            int nextChild = 2 * node + 1 + (path & 1);
+            final int nextChild = 2 * node + 1 + (path & 1);
             addLeaf(nextChild, path >>> 1, depth - 1, value);
         }
     }
@@ -85,13 +85,13 @@ class BinaryTree {
         int currentIndex = 0;
 
         while (true) {
-            int bit = stream.nextBit();
+            final int bit = stream.nextBit();
             if (bit == -1) {
                 return -1;
             }
 
-            int childIndex = 2 * currentIndex + 1 + bit;
-            int value = tree[childIndex];
+            final int childIndex = 2 * currentIndex + 1 + bit;
+            final int value = tree[childIndex];
             if (value == NODE) {
                 // consume the next bit
                 currentIndex = childIndex;
@@ -109,23 +109,23 @@ class BinaryTree {
      */
     static BinaryTree decode(final InputStream in, final int totalNumberOfValues) throws IOException {
         // the first byte contains the size of the structure minus one
-        int size = in.read() + 1;
+        final int size = in.read() + 1;
         if (size == 0) {
             throw new IOException("Cannot read the size of the encoded tree, unexpected end of stream");
         }
 
-        byte[] encodedTree = new byte[size];
+        final byte[] encodedTree = new byte[size];
         new DataInputStream(in).readFully(encodedTree);
 
         /** The maximum bit length for a value (16 or lower) */
         int maxLength = 0;
         
-        int[] originalBitLengths = new int[totalNumberOfValues];
+        final int[] originalBitLengths = new int[totalNumberOfValues];
         int pos = 0;
-        for (byte b : encodedTree) {
+        for (final byte b : encodedTree) {
             // each byte encodes the number of values (upper 4 bits) for a bit length (lower 4 bits)
-            int numberOfValues = ((b & 0xF0) >> 4) + 1;
-            int bitLength = (b & 0x0F) + 1;
+            final int numberOfValues = ((b & 0xF0) >> 4) + 1;
+            final int bitLength = (b & 0x0F) + 1;
 
             for (int j = 0; j < numberOfValues; j++) {
                 originalBitLengths[pos++] = bitLength;
@@ -135,13 +135,13 @@ class BinaryTree {
         }
 
         // sort the array of bit lengths and memorize the permutation used to restore the order of the codes
-        int[] permutation = new int[originalBitLengths.length];
+        final int[] permutation = new int[originalBitLengths.length];
         for (int k = 0; k < permutation.length; k++) {
             permutation[k] = k;
         }
         
         int c = 0;
-        int[] sortedBitLengths = new int[originalBitLengths.length];
+        final int[] sortedBitLengths = new int[originalBitLengths.length];
         for (int k = 0; k < originalBitLengths.length; k++) {
             // iterate over the values
             for (int l = 0; l < originalBitLengths.length; l++) {
@@ -163,7 +163,7 @@ class BinaryTree {
         int codeIncrement = 0;
         int lastBitLength = 0;
 
-        int[] codes = new int[totalNumberOfValues];
+        final int[] codes = new int[totalNumberOfValues];
 
         for (int i = totalNumberOfValues - 1; i >= 0; i--) {
             code = code + codeIncrement;
@@ -175,10 +175,10 @@ class BinaryTree {
         }
         
         // build the tree
-        BinaryTree tree = new BinaryTree(maxLength);
+        final BinaryTree tree = new BinaryTree(maxLength);
         
         for (int k = 0; k < codes.length; k++) {
-            int bitLength = originalBitLengths[k];
+            final int bitLength = originalBitLengths[k];
             if (bitLength > 0) {
                 tree.addLeaf(0, Integer.reverse(codes[k] << 16), bitLength, k);
             }

http://git-wip-us.apache.org/repos/asf/commons-compress/blob/3f2c760a/src/main/java/org/apache/commons/compress/archivers/zip/CircularBuffer.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/CircularBuffer.java b/src/main/java/org/apache/commons/compress/archivers/zip/CircularBuffer.java
index ad50bd6..69b980f 100644
--- a/src/main/java/org/apache/commons/compress/archivers/zip/CircularBuffer.java
+++ b/src/main/java/org/apache/commons/compress/archivers/zip/CircularBuffer.java
@@ -64,7 +64,7 @@ class CircularBuffer {
      */
     public int get() {
         if (available()) {
-            int value = buffer[readIndex];
+            final int value = buffer[readIndex];
             readIndex = (readIndex + 1) % size;
             return value & 0xFF;
         }
@@ -78,8 +78,8 @@ class CircularBuffer {
      * @param length   the number of bytes to copy
      */
     public void copy(final int distance, final int length) {
-        int pos1 = writeIndex - distance;
-        int pos2 = pos1 + length;
+        final int pos1 = writeIndex - distance;
+        final int pos2 = pos1 + length;
         for (int i = pos1; i < pos2; i++) {
             buffer[writeIndex] = buffer[(i + size) % size];
             writeIndex = (writeIndex + 1) % size;

http://git-wip-us.apache.org/repos/asf/commons-compress/blob/3f2c760a/src/main/java/org/apache/commons/compress/archivers/zip/ExplodingInputStream.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/ExplodingInputStream.java b/src/main/java/org/apache/commons/compress/archivers/zip/ExplodingInputStream.java
index 5949c60..01dd4e2 100644
--- a/src/main/java/org/apache/commons/compress/archivers/zip/ExplodingInputStream.java
+++ b/src/main/java/org/apache/commons/compress/archivers/zip/ExplodingInputStream.java
@@ -117,7 +117,7 @@ class ExplodingInputStream extends InputStream {
     private void fillBuffer() throws IOException {
         init();
         
-        int bit = bits.nextBit();
+        final int bit = bits.nextBit();
         if (bit == 1) {
             // literal value
             int literal;
@@ -136,14 +136,14 @@ class ExplodingInputStream extends InputStream {
 
         } else if (bit == 0) {
             // back reference
-            int distanceLowSize = dictionarySize == 4096 ? 6 : 7;
-            int distanceLow = (int) bits.nextBits(distanceLowSize);
-            int distanceHigh = distanceTree.read(bits);
+            final int distanceLowSize = dictionarySize == 4096 ? 6 : 7;
+            final int distanceLow = (int) bits.nextBits(distanceLowSize);
+            final int distanceHigh = distanceTree.read(bits);
             if (distanceHigh == -1 && distanceLow <= 0) {
                 // end of stream reached, nothing left to decode
                 return;
             }
-            int distance = distanceHigh << distanceLowSize | distanceLow;
+            final int distance = distanceHigh << distanceLowSize | distanceLow;
             
             int length = lengthTree.read(bits);
             if (length == 63) {

http://git-wip-us.apache.org/repos/asf/commons-compress/blob/3f2c760a/src/main/java/org/apache/commons/compress/archivers/zip/ExtraFieldUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/ExtraFieldUtils.java b/src/main/java/org/apache/commons/compress/archivers/zip/ExtraFieldUtils.java
index 9cff3c2..c9e5997 100644
--- a/src/main/java/org/apache/commons/compress/archivers/zip/ExtraFieldUtils.java
+++ b/src/main/java/org/apache/commons/compress/archivers/zip/ExtraFieldUtils.java
@@ -63,13 +63,13 @@ public class ExtraFieldUtils {
      */
     public static void register(final Class<?> c) {
         try {
-            ZipExtraField ze = (ZipExtraField) c.newInstance();
+            final ZipExtraField ze = (ZipExtraField) c.newInstance();
             implementations.put(ze.getHeaderId(), c);
-        } catch (ClassCastException cc) {
+        } catch (final ClassCastException cc) {
             throw new RuntimeException(c + " doesn\'t implement ZipExtraField");
-        } catch (InstantiationException ie) {
+        } catch (final InstantiationException ie) {
             throw new RuntimeException(c + " is not a concrete class");
-        } catch (IllegalAccessException ie) {
+        } catch (final IllegalAccessException ie) {
             throw new RuntimeException(c + "\'s no-arg constructor is not public");
         }
     }
@@ -84,11 +84,11 @@ public class ExtraFieldUtils {
      */
     public static ZipExtraField createExtraField(final ZipShort headerId)
         throws InstantiationException, IllegalAccessException {
-        Class<?> c = implementations.get(headerId);
+        final Class<?> c = implementations.get(headerId);
         if (c != null) {
             return (ZipExtraField) c.newInstance();
         }
-        UnrecognizedExtraField u = new UnrecognizedExtraField();
+        final UnrecognizedExtraField u = new UnrecognizedExtraField();
         u.setHeaderId(headerId);
         return u;
     }
@@ -135,12 +135,12 @@ public class ExtraFieldUtils {
     public static ZipExtraField[] parse(final byte[] data, final boolean local,
                                         final UnparseableExtraField onUnparseableData)
         throws ZipException {
-        List<ZipExtraField> v = new ArrayList<ZipExtraField>();
+        final List<ZipExtraField> v = new ArrayList<ZipExtraField>();
         int start = 0;
         LOOP:
         while (start <= data.length - WORD) {
-            ZipShort headerId = new ZipShort(data, start);
-            int length = new ZipShort(data, start + 2).getValue();
+            final ZipShort headerId = new ZipShort(data, start);
+            final int length = new ZipShort(data, start + 2).getValue();
             if (start + WORD + length > data.length) {
                 switch(onUnparseableData.getKey()) {
                 case UnparseableExtraField.THROW_KEY:
@@ -151,7 +151,7 @@ public class ExtraFieldUtils {
                                            + (data.length - start - WORD)
                                            + " bytes.");
                 case UnparseableExtraField.READ_KEY:
-                    UnparseableExtraFieldData field =
+                    final UnparseableExtraFieldData field =
                         new UnparseableExtraFieldData();
                     if (local) {
                         field.parseFromLocalFileData(data, start,
@@ -173,7 +173,7 @@ public class ExtraFieldUtils {
                 }
             }
             try {
-                ZipExtraField ze = createExtraField(headerId);
+                final ZipExtraField ze = createExtraField(headerId);
                 if (local) {
                     ze.parseFromLocalFileData(data, start + WORD, length);
                 } else {
@@ -181,15 +181,15 @@ public class ExtraFieldUtils {
                                                      length);
                 }
                 v.add(ze);
-            } catch (InstantiationException ie) {
+            } catch (final InstantiationException ie) {
                 throw (ZipException) new ZipException(ie.getMessage()).initCause(ie);
-            } catch (IllegalAccessException iae) {
+            } catch (final IllegalAccessException iae) {
                 throw (ZipException) new ZipException(iae.getMessage()).initCause(iae);
             }
             start += length + WORD;
         }
 
-        ZipExtraField[] result = new ZipExtraField[v.size()];
+        final ZipExtraField[] result = new ZipExtraField[v.size()];
         return v.toArray(result);
     }
 
@@ -201,15 +201,15 @@ public class ExtraFieldUtils {
     public static byte[] mergeLocalFileDataData(final ZipExtraField[] data) {
         final boolean lastIsUnparseableHolder = data.length > 0
             && data[data.length - 1] instanceof UnparseableExtraFieldData;
-        int regularExtraFieldCount =
+        final int regularExtraFieldCount =
             lastIsUnparseableHolder ? data.length - 1 : data.length;
 
         int sum = WORD * regularExtraFieldCount;
-        for (ZipExtraField element : data) {
+        for (final ZipExtraField element : data) {
             sum += element.getLocalFileDataLength().getValue();
         }
 
-        byte[] result = new byte[sum];
+        final byte[] result = new byte[sum];
         int start = 0;
         for (int i = 0; i < regularExtraFieldCount; i++) {
             System.arraycopy(data[i].getHeaderId().getBytes(),
@@ -217,14 +217,14 @@ public class ExtraFieldUtils {
             System.arraycopy(data[i].getLocalFileDataLength().getBytes(),
                              0, result, start + 2, 2);
             start += WORD;
-            byte[] local = data[i].getLocalFileDataData();
+            final byte[] local = data[i].getLocalFileDataData();
             if (local != null) {
                 System.arraycopy(local, 0, result, start, local.length);
                 start += local.length;
             }
         }
         if (lastIsUnparseableHolder) {
-            byte[] local = data[data.length - 1].getLocalFileDataData();
+            final byte[] local = data[data.length - 1].getLocalFileDataData();
             if (local != null) {
                 System.arraycopy(local, 0, result, start, local.length);
             }
@@ -240,14 +240,14 @@ public class ExtraFieldUtils {
     public static byte[] mergeCentralDirectoryData(final ZipExtraField[] data) {
         final boolean lastIsUnparseableHolder = data.length > 0
             && data[data.length - 1] instanceof UnparseableExtraFieldData;
-        int regularExtraFieldCount =
+        final int regularExtraFieldCount =
             lastIsUnparseableHolder ? data.length - 1 : data.length;
 
         int sum = WORD * regularExtraFieldCount;
-        for (ZipExtraField element : data) {
+        for (final ZipExtraField element : data) {
             sum += element.getCentralDirectoryLength().getValue();
         }
-        byte[] result = new byte[sum];
+        final byte[] result = new byte[sum];
         int start = 0;
         for (int i = 0; i < regularExtraFieldCount; i++) {
             System.arraycopy(data[i].getHeaderId().getBytes(),
@@ -255,14 +255,14 @@ public class ExtraFieldUtils {
             System.arraycopy(data[i].getCentralDirectoryLength().getBytes(),
                              0, result, start + 2, 2);
             start += WORD;
-            byte[] local = data[i].getCentralDirectoryData();
+            final byte[] local = data[i].getCentralDirectoryData();
             if (local != null) {
                 System.arraycopy(local, 0, result, start, local.length);
                 start += local.length;
             }
         }
         if (lastIsUnparseableHolder) {
-            byte[] local = data[data.length - 1].getCentralDirectoryData();
+            final byte[] local = data[data.length - 1].getCentralDirectoryData();
             if (local != null) {
                 System.arraycopy(local, 0, result, start, local.length);
             }

http://git-wip-us.apache.org/repos/asf/commons-compress/blob/3f2c760a/src/main/java/org/apache/commons/compress/archivers/zip/GeneralPurposeBit.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/GeneralPurposeBit.java b/src/main/java/org/apache/commons/compress/archivers/zip/GeneralPurposeBit.java
index 73c13d5..6bca5bf 100644
--- a/src/main/java/org/apache/commons/compress/archivers/zip/GeneralPurposeBit.java
+++ b/src/main/java/org/apache/commons/compress/archivers/zip/GeneralPurposeBit.java
@@ -169,7 +169,7 @@ public final class GeneralPurposeBit implements Cloneable {
      * @return the encoded general purpose bits
      */
     public byte[] encode() {
-        byte[] result = new byte[2];
+        final byte[] result = new byte[2];
         encode(result, 0);
         return result;
     }
@@ -203,7 +203,7 @@ public final class GeneralPurposeBit implements Cloneable {
      */
     public static GeneralPurposeBit parse(final byte[] data, final int offset) {
         final int generalPurposeFlag = ZipShort.getValue(data, offset);
-        GeneralPurposeBit b = new GeneralPurposeBit();
+        final GeneralPurposeBit b = new GeneralPurposeBit();
         b.useDataDescriptor((generalPurposeFlag & DATA_DESCRIPTOR_FLAG) != 0);
         b.useUTF8ForNames((generalPurposeFlag & UFT8_NAMES_FLAG) != 0);
         b.useStrongEncryption((generalPurposeFlag & STRONG_ENCRYPTION_FLAG) != 0);
@@ -226,7 +226,7 @@ public final class GeneralPurposeBit implements Cloneable {
         if (!(o instanceof GeneralPurposeBit)) {
             return false;
         }
-        GeneralPurposeBit g = (GeneralPurposeBit) o;
+        final GeneralPurposeBit g = (GeneralPurposeBit) o;
         return g.encryptionFlag == encryptionFlag
             && g.strongEncryptionFlag == strongEncryptionFlag
             && g.languageEncodingFlag == languageEncodingFlag
@@ -237,7 +237,7 @@ public final class GeneralPurposeBit implements Cloneable {
     public Object clone() {
         try {
             return super.clone();
-        } catch (CloneNotSupportedException ex) {
+        } catch (final CloneNotSupportedException ex) {
             // impossible
             throw new RuntimeException("GeneralPurposeBit is not Cloneable?", ex);
         }

http://git-wip-us.apache.org/repos/asf/commons-compress/blob/3f2c760a/src/main/java/org/apache/commons/compress/archivers/zip/NioZipEncoding.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/NioZipEncoding.java b/src/main/java/org/apache/commons/compress/archivers/zip/NioZipEncoding.java
index 8cea9c7..ffd2efd 100644
--- a/src/main/java/org/apache/commons/compress/archivers/zip/NioZipEncoding.java
+++ b/src/main/java/org/apache/commons/compress/archivers/zip/NioZipEncoding.java
@@ -57,7 +57,7 @@ class NioZipEncoding implements ZipEncoding {
      */
     @Override
     public boolean canEncode(final String name) {
-        CharsetEncoder enc = this.charset.newEncoder();
+        final CharsetEncoder enc = this.charset.newEncoder();
         enc.onMalformedInput(CodingErrorAction.REPORT);
         enc.onUnmappableCharacter(CodingErrorAction.REPORT);
 
@@ -70,17 +70,17 @@ class NioZipEncoding implements ZipEncoding {
      */
     @Override
     public ByteBuffer encode(final String name) {
-        CharsetEncoder enc = this.charset.newEncoder();
+        final CharsetEncoder enc = this.charset.newEncoder();
 
         enc.onMalformedInput(CodingErrorAction.REPORT);
         enc.onUnmappableCharacter(CodingErrorAction.REPORT);
 
-        CharBuffer cb = CharBuffer.wrap(name);
+        final CharBuffer cb = CharBuffer.wrap(name);
         ByteBuffer out = ByteBuffer.allocate(name.length()
                                              + (name.length() + 1) / 2);
 
         while (cb.remaining() > 0) {
-            CoderResult res = enc.encode(cb, out,true);
+            final CoderResult res = enc.encode(cb, out,true);
 
             if (res.isUnmappable() || res.isMalformed()) {
 

http://git-wip-us.apache.org/repos/asf/commons-compress/blob/3f2c760a/src/main/java/org/apache/commons/compress/archivers/zip/PKWareExtraHeader.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/PKWareExtraHeader.java b/src/main/java/org/apache/commons/compress/archivers/zip/PKWareExtraHeader.java
index 3faea06..89bebd1 100644
--- a/src/main/java/org/apache/commons/compress/archivers/zip/PKWareExtraHeader.java
+++ b/src/main/java/org/apache/commons/compress/archivers/zip/PKWareExtraHeader.java
@@ -170,7 +170,7 @@ public abstract class PKWareExtraHeader implements ZipExtraField {
      */
     @Override
     public void parseFromLocalFileData(final byte[] data, final int offset, final int length) {
-        byte[] tmp = new byte[length];
+        final byte[] tmp = new byte[length];
         System.arraycopy(data, offset, tmp, 0, length);
         setLocalFileDataData(tmp);
     }
@@ -186,7 +186,7 @@ public abstract class PKWareExtraHeader implements ZipExtraField {
      */
     @Override
     public void parseFromCentralDirectoryData(final byte[] data, final int offset, final int length) {
-        byte[] tmp = new byte[length];
+        final byte[] tmp = new byte[length];
         System.arraycopy(data, offset, tmp, 0, length);
         setCentralDirectoryData(tmp);
         if (localData == null) {
@@ -216,8 +216,8 @@ public abstract class PKWareExtraHeader implements ZipExtraField {
         private static final Map<Integer, EncryptionAlgorithm> codeToEnum;
 
         static {
-            Map<Integer, EncryptionAlgorithm> cte = new HashMap<Integer, EncryptionAlgorithm>();
-            for (EncryptionAlgorithm method : values()) {
+            final Map<Integer, EncryptionAlgorithm> cte = new HashMap<Integer, EncryptionAlgorithm>();
+            for (final EncryptionAlgorithm method : values()) {
                 cte.put(Integer.valueOf(method.getCode()), method);
             }
             codeToEnum = Collections.unmodifiableMap(cte);
@@ -271,8 +271,8 @@ public abstract class PKWareExtraHeader implements ZipExtraField {
         private static final Map<Integer, HashAlgorithm> codeToEnum;
 
         static {
-            Map<Integer, HashAlgorithm> cte = new HashMap<Integer, HashAlgorithm>();
-            for (HashAlgorithm method : values()) {
+            final Map<Integer, HashAlgorithm> cte = new HashMap<Integer, HashAlgorithm>();
+            for (final HashAlgorithm method : values()) {
                 cte.put(Integer.valueOf(method.getCode()), method);
             }
             codeToEnum = Collections.unmodifiableMap(cte);

http://git-wip-us.apache.org/repos/asf/commons-compress/blob/3f2c760a/src/main/java/org/apache/commons/compress/archivers/zip/ParallelScatterZipCreator.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/ParallelScatterZipCreator.java b/src/main/java/org/apache/commons/compress/archivers/zip/ParallelScatterZipCreator.java
index 49e1906..43a56a4 100644
--- a/src/main/java/org/apache/commons/compress/archivers/zip/ParallelScatterZipCreator.java
+++ b/src/main/java/org/apache/commons/compress/archivers/zip/ParallelScatterZipCreator.java
@@ -66,15 +66,15 @@ public class ParallelScatterZipCreator {
 
         @Override
         public ScatterGatherBackingStore get() throws IOException {
-            File tempFile = File.createTempFile("parallelscatter", "n" + storeNum.incrementAndGet());
+            final File tempFile = File.createTempFile("parallelscatter", "n" + storeNum.incrementAndGet());
             return new FileBasedScatterGatherBackingStore(tempFile);
         }
     }
 
     private ScatterZipOutputStream createDeferred(final ScatterGatherBackingStoreSupplier scatterGatherBackingStoreSupplier)
             throws IOException {
-        ScatterGatherBackingStore bs = scatterGatherBackingStoreSupplier.get();
-        StreamCompressor sc = StreamCompressor.create(Deflater.DEFAULT_COMPRESSION, bs);
+        final ScatterGatherBackingStore bs = scatterGatherBackingStoreSupplier.get();
+        final StreamCompressor sc = StreamCompressor.create(Deflater.DEFAULT_COMPRESSION, bs);
         return new ScatterZipOutputStream(bs, sc);
     }
 
@@ -82,10 +82,10 @@ public class ParallelScatterZipCreator {
         @Override
         protected ScatterZipOutputStream initialValue() {
             try {
-                ScatterZipOutputStream scatterStream = createDeferred(backingStoreSupplier);
+                final ScatterZipOutputStream scatterStream = createDeferred(backingStoreSupplier);
                 streams.add(scatterStream);
                 return scatterStream;
-            } catch (IOException e) {
+            } catch (final IOException e) {
                 throw new RuntimeException(e);
             }
         }
@@ -197,7 +197,7 @@ public class ParallelScatterZipCreator {
             throws IOException, InterruptedException, ExecutionException {
 
         // Make sure we catch any exceptions from parallel phase
-        for (Future<?> future : futures) {
+        for (final Future<?> future : futures) {
             future.get();
         }
 
@@ -207,7 +207,7 @@ public class ParallelScatterZipCreator {
         // It is important that all threads terminate before we go on, ensure happens-before relationship
         compressionDoneAt = System.currentTimeMillis();
 
-        for (ScatterZipOutputStream scatterStream : streams) {
+        for (final ScatterZipOutputStream scatterStream : streams) {
             scatterStream.writeTo(targetStream);
             scatterStream.close();
         }

http://git-wip-us.apache.org/repos/asf/commons-compress/blob/3f2c760a/src/main/java/org/apache/commons/compress/archivers/zip/ScatterZipOutputStream.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/ScatterZipOutputStream.java b/src/main/java/org/apache/commons/compress/archivers/zip/ScatterZipOutputStream.java
index ed7195f..9179707 100644
--- a/src/main/java/org/apache/commons/compress/archivers/zip/ScatterZipOutputStream.java
+++ b/src/main/java/org/apache/commons/compress/archivers/zip/ScatterZipOutputStream.java
@@ -70,7 +70,7 @@ public class ScatterZipOutputStream implements Closeable {
          */
 
         public ZipArchiveEntry transferToArchiveEntry(){
-            ZipArchiveEntry entry = zipArchiveEntryRequest.getZipArchiveEntry();
+            final ZipArchiveEntry entry = zipArchiveEntryRequest.getZipArchiveEntry();
             entry.setCompressedSize(compressedSize);
             entry.setSize(size);
             entry.setCrc(crc);
@@ -110,8 +110,8 @@ public class ScatterZipOutputStream implements Closeable {
      */
     public void writeTo(final ZipArchiveOutputStream target) throws IOException {
         backingStore.closeForWriting();
-        InputStream data = backingStore.getInputStream();
-        for (CompressedEntry compressedEntry : items) {
+        final InputStream data = backingStore.getInputStream();
+        for (final CompressedEntry compressedEntry : items) {
             final BoundedInputStream rawStream = new BoundedInputStream(data, compressedEntry.compressedSize);
             target.addRawArchiveEntry(compressedEntry.transferToArchiveEntry(), rawStream);
             rawStream.close();
@@ -149,8 +149,8 @@ public class ScatterZipOutputStream implements Closeable {
      * @throws FileNotFoundException if the file cannot be found
      */
     public static ScatterZipOutputStream fileBased(final File file, final int compressionLevel) throws FileNotFoundException {
-        ScatterGatherBackingStore bs = new FileBasedScatterGatherBackingStore(file);
-        StreamCompressor sc = StreamCompressor.create(compressionLevel, bs);
+        final ScatterGatherBackingStore bs = new FileBasedScatterGatherBackingStore(file);
+        final StreamCompressor sc = StreamCompressor.create(compressionLevel, bs);
         return new ScatterZipOutputStream(bs, sc);
     }
 }

http://git-wip-us.apache.org/repos/asf/commons-compress/blob/3f2c760a/src/main/java/org/apache/commons/compress/archivers/zip/Simple8BitZipEncoding.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/Simple8BitZipEncoding.java b/src/main/java/org/apache/commons/compress/archivers/zip/Simple8BitZipEncoding.java
index 56c4007..f8958da 100644
--- a/src/main/java/org/apache/commons/compress/archivers/zip/Simple8BitZipEncoding.java
+++ b/src/main/java/org/apache/commons/compress/archivers/zip/Simple8BitZipEncoding.java
@@ -73,7 +73,7 @@ class Simple8BitZipEncoding implements ZipEncoding {
         @Override
         public boolean equals(final Object o) {
             if (o instanceof Simple8BitChar) {
-                Simple8BitChar other = (Simple8BitChar) o;
+                final Simple8BitChar other = (Simple8BitChar) o;
                 return unicode == other.unicode && code == other.code;
             }
             return false;
@@ -104,12 +104,12 @@ class Simple8BitZipEncoding implements ZipEncoding {
      */
     public Simple8BitZipEncoding(final char[] highChars) {
         this.highChars = highChars.clone();
-        List<Simple8BitChar> temp =
+        final List<Simple8BitChar> temp =
             new ArrayList<Simple8BitChar>(this.highChars.length);
 
         byte code = 127;
 
-        for (char highChar : this.highChars) {
+        for (final char highChar : this.highChars) {
             temp.add(new Simple8BitChar(++code, highChar));
         }
 
@@ -143,7 +143,7 @@ class Simple8BitZipEncoding implements ZipEncoding {
             return true;
         }
 
-        Simple8BitChar r = this.encodeHighChar(c);
+        final Simple8BitChar r = this.encodeHighChar(c);
         return r != null;
     }
 
@@ -163,7 +163,7 @@ class Simple8BitZipEncoding implements ZipEncoding {
             return true;
         }
 
-        Simple8BitChar r = this.encodeHighChar(c);
+        final Simple8BitChar r = this.encodeHighChar(c);
         if (r == null) {
             return false;
         }
@@ -185,9 +185,9 @@ class Simple8BitZipEncoding implements ZipEncoding {
 
         while (i1 > i0) {
 
-            int i = i0 + (i1 - i0) / 2;
+            final int i = i0 + (i1 - i0) / 2;
 
-            Simple8BitChar m = this.reverseMapping.get(i);
+            final Simple8BitChar m = this.reverseMapping.get(i);
 
             if (m.unicode == c) {
                 return m;
@@ -204,7 +204,7 @@ class Simple8BitZipEncoding implements ZipEncoding {
             return null;
         }
 
-        Simple8BitChar r = this.reverseMapping.get(i0);
+        final Simple8BitChar r = this.reverseMapping.get(i0);
 
         if (r.unicode != c) {
             return null;
@@ -222,7 +222,7 @@ class Simple8BitZipEncoding implements ZipEncoding {
 
         for (int i=0;i<name.length();++i) {
 
-            char c = name.charAt(i);
+            final char c = name.charAt(i);
 
             if (!this.canEncodeChar(c)) {
                 return false;
@@ -243,7 +243,7 @@ class Simple8BitZipEncoding implements ZipEncoding {
 
         for (int i=0;i<name.length();++i) {
 
-            char c = name.charAt(i);
+            final char c = name.charAt(i);
 
             if (out.remaining() < 6) {
                 out = ZipEncodingHelper.growBuffer(out,out.position() + 6);
@@ -266,7 +266,7 @@ class Simple8BitZipEncoding implements ZipEncoding {
      */
     @Override
     public String decode(final byte[] data) throws IOException {
-        char [] ret = new char[data.length];
+        final char [] ret = new char[data.length];
 
         for (int i=0;i<data.length;++i) {
             ret[i] = this.decodeByte(data[i]);

http://git-wip-us.apache.org/repos/asf/commons-compress/blob/3f2c760a/src/main/java/org/apache/commons/compress/archivers/zip/StreamCompressor.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/StreamCompressor.java b/src/main/java/org/apache/commons/compress/archivers/zip/StreamCompressor.java
index aef35d9..e54781e 100644
--- a/src/main/java/org/apache/commons/compress/archivers/zip/StreamCompressor.java
+++ b/src/main/java/org/apache/commons/compress/archivers/zip/StreamCompressor.java
@@ -185,7 +185,7 @@ public abstract class StreamCompressor implements Closeable {
      * @throws IOException on error
      */
     long write(final byte[] b, final int offset, final int length, final int method) throws IOException {
-        long current = writtenToOutputStreamForLastEntry;
+        final long current = writtenToOutputStreamForLastEntry;
         crc.update(b, offset, length);
         if (method == ZipEntry.DEFLATED) {
             writeDeflated(b, offset, length);
@@ -245,7 +245,7 @@ public abstract class StreamCompressor implements Closeable {
     }
 
     void deflate() throws IOException {
-        int len = def.deflate(outputBuffer, 0, outputBuffer.length);
+        final int len = def.deflate(outputBuffer, 0, outputBuffer.length);
         if (len > 0) {
             writeCounted(outputBuffer, 0, len);
         }

http://git-wip-us.apache.org/repos/asf/commons-compress/blob/3f2c760a/src/main/java/org/apache/commons/compress/archivers/zip/UnrecognizedExtraField.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/UnrecognizedExtraField.java b/src/main/java/org/apache/commons/compress/archivers/zip/UnrecognizedExtraField.java
index aec800d..f8ea8b9 100644
--- a/src/main/java/org/apache/commons/compress/archivers/zip/UnrecognizedExtraField.java
+++ b/src/main/java/org/apache/commons/compress/archivers/zip/UnrecognizedExtraField.java
@@ -130,7 +130,7 @@ public class UnrecognizedExtraField implements ZipExtraField {
      */
     @Override
     public void parseFromLocalFileData(final byte[] data, final int offset, final int length) {
-        byte[] tmp = new byte[length];
+        final byte[] tmp = new byte[length];
         System.arraycopy(data, offset, tmp, 0, length);
         setLocalFileDataData(tmp);
     }
@@ -144,7 +144,7 @@ public class UnrecognizedExtraField implements ZipExtraField {
     @Override
     public void parseFromCentralDirectoryData(final byte[] data, final int offset,
                                               final int length) {
-        byte[] tmp = new byte[length];
+        final byte[] tmp = new byte[length];
         System.arraycopy(data, offset, tmp, 0, length);
         setCentralDirectoryData(tmp);
         if (localData == null) {

http://git-wip-us.apache.org/repos/asf/commons-compress/blob/3f2c760a/src/main/java/org/apache/commons/compress/archivers/zip/UnshrinkingInputStream.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/UnshrinkingInputStream.java b/src/main/java/org/apache/commons/compress/archivers/zip/UnshrinkingInputStream.java
index 3e223e8..63d2156 100644
--- a/src/main/java/org/apache/commons/compress/archivers/zip/UnshrinkingInputStream.java
+++ b/src/main/java/org/apache/commons/compress/archivers/zip/UnshrinkingInputStream.java
@@ -52,7 +52,7 @@ class UnshrinkingInputStream extends LZWInputStream {
             tableSize++;
         }
         setTableSize(tableSize);
-        int idx = addEntry(previousCode, character, MAX_TABLE_SIZE);
+        final int idx = addEntry(previousCode, character, MAX_TABLE_SIZE);
         if (idx >= 0) {
             isUsed[idx] = true;
         }

http://git-wip-us.apache.org/repos/asf/commons-compress/blob/3f2c760a/src/main/java/org/apache/commons/compress/archivers/zip/X000A_NTFS.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/X000A_NTFS.java b/src/main/java/org/apache/commons/compress/archivers/zip/X000A_NTFS.java
index ee08d0a..d5939c3 100644
--- a/src/main/java/org/apache/commons/compress/archivers/zip/X000A_NTFS.java
+++ b/src/main/java/org/apache/commons/compress/archivers/zip/X000A_NTFS.java
@@ -119,7 +119,7 @@ public class X000A_NTFS implements ZipExtraField {
      */
     @Override
     public byte[] getLocalFileDataData() {
-        byte[] data = new byte[getLocalFileDataLength().getValue()];
+        final byte[] data = new byte[getLocalFileDataLength().getValue()];
         int pos = 4;
         System.arraycopy(TIME_ATTR_TAG.getBytes(), 0, data, pos, 2);
         pos += 2;
@@ -162,13 +162,13 @@ public class X000A_NTFS implements ZipExtraField {
         offset += 4;
 
         while (offset + 4 <= len) {
-            ZipShort tag = new ZipShort(data, offset);
+            final ZipShort tag = new ZipShort(data, offset);
             offset += 2;
             if (tag.equals(TIME_ATTR_TAG)) {
                 readTimeAttr(data, offset, len - offset);
                 break;
             }
-            ZipShort size = new ZipShort(data, offset);
+            final ZipShort size = new ZipShort(data, offset);
             offset += 2 + size.getValue();
         }
     }
@@ -312,7 +312,7 @@ public class X000A_NTFS implements ZipExtraField {
      */
     @Override
     public String toString() {
-        StringBuilder buf = new StringBuilder();
+        final StringBuilder buf = new StringBuilder();
         buf.append("0x000A Zip Extra Field:")
             .append(" Modify:[").append(getModifyJavaTime()).append("] ")
             .append(" Access:[").append(getAccessJavaTime()).append("] ")
@@ -323,7 +323,7 @@ public class X000A_NTFS implements ZipExtraField {
     @Override
     public boolean equals(final Object o) {
         if (o instanceof X000A_NTFS) {
-            X000A_NTFS xf = (X000A_NTFS) o;
+            final X000A_NTFS xf = (X000A_NTFS) o;
 
             return (modifyTime == xf.modifyTime || (modifyTime != null && modifyTime.equals(xf.modifyTime))) &&
                     (accessTime == xf.accessTime || (accessTime != null && accessTime.equals(xf.accessTime))) &&
@@ -361,7 +361,7 @@ public class X000A_NTFS implements ZipExtraField {
 
     private void readTimeAttr(final byte[] data, int offset, final int length) {
         if (length >= 2 + 3 * 8) {
-            ZipShort tagValueLength = new ZipShort(data, offset);
+            final ZipShort tagValueLength = new ZipShort(data, offset);
             if (TIME_ATTR_SIZE.equals(tagValueLength)) {
                 offset += 2;
                 modifyTime = new ZipEightByteInteger(data, offset);
@@ -387,7 +387,7 @@ public class X000A_NTFS implements ZipExtraField {
 
     private static Date zipToDate(final ZipEightByteInteger z) {
         if (z == null || ZipEightByteInteger.ZERO.equals(z)) { return null; }
-        long l = (z.getLongValue() + EPOCH_OFFSET) / 10000l;
+        final long l = (z.getLongValue() + EPOCH_OFFSET) / 10000l;
         return new Date(l);
     }
 

http://git-wip-us.apache.org/repos/asf/commons-compress/blob/3f2c760a/src/main/java/org/apache/commons/compress/archivers/zip/X0017_StrongEncryptionHeader.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/X0017_StrongEncryptionHeader.java b/src/main/java/org/apache/commons/compress/archivers/zip/X0017_StrongEncryptionHeader.java
index 1a9a46e..0feb9c9 100644
--- a/src/main/java/org/apache/commons/compress/archivers/zip/X0017_StrongEncryptionHeader.java
+++ b/src/main/java/org/apache/commons/compress/archivers/zip/X0017_StrongEncryptionHeader.java
@@ -328,7 +328,7 @@ public class X0017_StrongEncryptionHeader extends PKWareExtraHeader {
      * @param length the length of data
      */
     public void parseFileFormat(final byte[] data, final int offset, final int length) {
-        int ivSize = ZipShort.getValue(data, offset);
+        final int ivSize = ZipShort.getValue(data, offset);
         this.ivData = new byte[ivSize];
         System.arraycopy(data, offset + 4, this.ivData, 0, ivSize);
 
@@ -337,14 +337,14 @@ public class X0017_StrongEncryptionHeader extends PKWareExtraHeader {
         this.bitlen = ZipShort.getValue(data, offset + ivSize + 10);
         this.flags = ZipShort.getValue(data, offset + ivSize + 12);
 
-        int erdSize = ZipShort.getValue(data, offset + ivSize + 14);
+        final int erdSize = ZipShort.getValue(data, offset + ivSize + 14);
         this.erdData = new byte[erdSize];
         System.arraycopy(data, offset + ivSize + 16, this.erdData, 0, erdSize);
 
         this.rcount = ZipLong.getValue(data, offset + ivSize + 16 + erdSize);
         System.out.println("rcount: " + rcount);
         if (rcount == 0) {
-            int vSize = ZipShort.getValue(data, offset + ivSize + 20 + erdSize);
+            final int vSize = ZipShort.getValue(data, offset + ivSize + 20 + erdSize);
             this.vData = new byte[vSize - 4];
             this.vCRC32 = new byte[4];
             System.arraycopy(data, offset + ivSize + 22 + erdSize , this.vData, 0, vSize - 4);
@@ -352,13 +352,13 @@ public class X0017_StrongEncryptionHeader extends PKWareExtraHeader {
         } else {
             this.hashAlg = HashAlgorithm.getAlgorithmByCode(ZipShort.getValue(data, offset + ivSize + 20 + erdSize));
             this.hashSize = ZipShort.getValue(data, offset + ivSize + 22 + erdSize);
-            int resize = ZipShort.getValue(data, offset + ivSize + 24 + erdSize);
+            final int resize = ZipShort.getValue(data, offset + ivSize + 24 + erdSize);
             this.recipientKeyHash = new byte[this.hashSize];
             this.keyBlob = new byte[resize - this.hashSize];
             System.arraycopy(data, offset + ivSize + 24 + erdSize, this.recipientKeyHash, 0, this.hashSize);
             System.arraycopy(data, offset + ivSize + 24 + erdSize + this.hashSize, this.keyBlob, 0, resize - this.hashSize);
 
-            int vSize = ZipShort.getValue(data, offset + ivSize + 26 + erdSize + resize);
+            final int vSize = ZipShort.getValue(data, offset + ivSize + 26 + erdSize + resize);
             this.vData = new byte[vSize - 4];
             this.vCRC32 = new byte[4];
             System.arraycopy(data, offset + ivSize + 22 + erdSize + resize, this.vData, 0, vSize - 4);

http://git-wip-us.apache.org/repos/asf/commons-compress/blob/3f2c760a/src/main/java/org/apache/commons/compress/archivers/zip/X5455_ExtendedTimestamp.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/X5455_ExtendedTimestamp.java b/src/main/java/org/apache/commons/compress/archivers/zip/X5455_ExtendedTimestamp.java
index 612ace6..4c7746c 100644
--- a/src/main/java/org/apache/commons/compress/archivers/zip/X5455_ExtendedTimestamp.java
+++ b/src/main/java/org/apache/commons/compress/archivers/zip/X5455_ExtendedTimestamp.java
@@ -171,7 +171,7 @@ public class X5455_ExtendedTimestamp implements ZipExtraField, Cloneable, Serial
      */
     @Override
     public byte[] getLocalFileDataData() {
-        byte[] data = new byte[getLocalFileDataLength().getValue()];
+        final byte[] data = new byte[getLocalFileDataLength().getValue()];
         int pos = 0;
         data[pos++] = 0;
         if (bit0_modifyTimePresent) {
@@ -200,8 +200,8 @@ public class X5455_ExtendedTimestamp implements ZipExtraField, Cloneable, Serial
      */
     @Override
     public byte[] getCentralDirectoryData() {
-        byte[] centralData = new byte[getCentralDirectoryLength().getValue()];
-        byte[] localData = getLocalFileDataData();
+        final byte[] centralData = new byte[getCentralDirectoryLength().getValue()];
+        final byte[] localData = getLocalFileDataData();
 
         // Truncate out create & access time (last 8 bytes) from
         // the copy of the local data we obtained:
@@ -535,19 +535,19 @@ public class X5455_ExtendedTimestamp implements ZipExtraField, Cloneable, Serial
      */
     @Override
     public String toString() {
-        StringBuilder buf = new StringBuilder();
+        final StringBuilder buf = new StringBuilder();
         buf.append("0x5455 Zip Extra Field: Flags=");
         buf.append(Integer.toBinaryString(ZipUtil.unsignedIntToSignedByte(flags))).append(" ");
         if (bit0_modifyTimePresent && modifyTime != null) {
-            Date m = getModifyJavaTime();
+            final Date m = getModifyJavaTime();
             buf.append(" Modify:[").append(m).append("] ");
         }
         if (bit1_accessTimePresent && accessTime != null) {
-            Date a = getAccessJavaTime();
+            final Date a = getAccessJavaTime();
             buf.append(" Access:[").append(a).append("] ");
         }
         if (bit2_createTimePresent && createTime != null) {
-            Date c = getCreateJavaTime();
+            final Date c = getCreateJavaTime();
             buf.append(" Create:[").append(c).append("] ");
         }
         return buf.toString();
@@ -561,7 +561,7 @@ public class X5455_ExtendedTimestamp implements ZipExtraField, Cloneable, Serial
     @Override
     public boolean equals(final Object o) {
         if (o instanceof X5455_ExtendedTimestamp) {
-            X5455_ExtendedTimestamp xf = (X5455_ExtendedTimestamp) o;
+            final X5455_ExtendedTimestamp xf = (X5455_ExtendedTimestamp) o;
 
             // The ZipLong==ZipLong clauses handle the cases where both are null.
             // and only last 3 bits of flags matter.

http://git-wip-us.apache.org/repos/asf/commons-compress/blob/3f2c760a/src/main/java/org/apache/commons/compress/archivers/zip/X7875_NewUnix.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/X7875_NewUnix.java b/src/main/java/org/apache/commons/compress/archivers/zip/X7875_NewUnix.java
index 4d5397c..9e1c01c 100644
--- a/src/main/java/org/apache/commons/compress/archivers/zip/X7875_NewUnix.java
+++ b/src/main/java/org/apache/commons/compress/archivers/zip/X7875_NewUnix.java
@@ -132,8 +132,8 @@ public class X7875_NewUnix implements ZipExtraField, Cloneable, Serializable {
      */
     @Override
     public ZipShort getLocalFileDataLength() {
-        int uidSize = trimLeadingZeroesForceMinLength(uid.toByteArray()).length;
-        int gidSize = trimLeadingZeroesForceMinLength(gid.toByteArray()).length;
+        final int uidSize = trimLeadingZeroesForceMinLength(uid.toByteArray()).length;
+        final int gidSize = trimLeadingZeroesForceMinLength(gid.toByteArray()).length;
 
         // The 3 comes from:  version=1 + uidsize=1 + gidsize=1
         return new ZipShort(3 + uidSize + gidSize);
@@ -172,7 +172,7 @@ public class X7875_NewUnix implements ZipExtraField, Cloneable, Serializable {
         // optimization is the root of all...
         //
         // The 3 comes from:  version=1 + uidsize=1 + gidsize=1
-        byte[] data = new byte[3 + uidBytes.length + gidBytes.length];
+        final byte[] data = new byte[3 + uidBytes.length + gidBytes.length];
 
         // reverse() switches byte array from big-endian to little-endian.
         reverse(uidBytes);
@@ -213,14 +213,14 @@ public class X7875_NewUnix implements ZipExtraField, Cloneable, Serializable {
     ) throws ZipException {
         reset();
         this.version = signedByteToUnsignedInt(data[offset++]);
-        int uidSize = signedByteToUnsignedInt(data[offset++]);
-        byte[] uidBytes = new byte[uidSize];
+        final int uidSize = signedByteToUnsignedInt(data[offset++]);
+        final byte[] uidBytes = new byte[uidSize];
         System.arraycopy(data, offset, uidBytes, 0, uidSize);
         offset += uidSize;
         this.uid = new BigInteger(1, reverse(uidBytes)); // sign-bit forced positive
 
-        int gidSize = signedByteToUnsignedInt(data[offset++]);
-        byte[] gidBytes = new byte[gidSize];
+        final int gidSize = signedByteToUnsignedInt(data[offset++]);
+        final byte[] gidBytes = new byte[gidSize];
         System.arraycopy(data, offset, gidBytes, 0, gidSize);
         this.gid = new BigInteger(1, reverse(gidBytes)); // sign-bit forced positive
     }
@@ -265,7 +265,7 @@ public class X7875_NewUnix implements ZipExtraField, Cloneable, Serializable {
     @Override
     public boolean equals(final Object o) {
         if (o instanceof X7875_NewUnix) {
-            X7875_NewUnix xf = (X7875_NewUnix) o;
+            final X7875_NewUnix xf = (X7875_NewUnix) o;
             // We assume uid and gid can never be null.
             return version == xf.version && uid.equals(xf.uid) && gid.equals(xf.gid);
         }
@@ -298,7 +298,7 @@ public class X7875_NewUnix implements ZipExtraField, Cloneable, Serializable {
         }
 
         int pos = 0;
-        for (byte b : array) {
+        for (final byte b : array) {
             if (b == 0) {
                 pos++;
             } else {
@@ -345,8 +345,8 @@ public class X7875_NewUnix implements ZipExtraField, Cloneable, Serializable {
         */
         final int MIN_LENGTH = 1;
 
-        byte[] trimmedArray = new byte[Math.max(MIN_LENGTH, array.length - pos)];
-        int startPos = trimmedArray.length - (array.length - pos);
+        final byte[] trimmedArray = new byte[Math.max(MIN_LENGTH, array.length - pos)];
+        final int startPos = trimmedArray.length - (array.length - pos);
         System.arraycopy(array, pos, trimmedArray, startPos, trimmedArray.length - startPos);
         return trimmedArray;
     }

http://git-wip-us.apache.org/repos/asf/commons-compress/blob/3f2c760a/src/main/java/org/apache/commons/compress/archivers/zip/Zip64ExtendedInformationExtraField.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/Zip64ExtendedInformationExtraField.java b/src/main/java/org/apache/commons/compress/archivers/zip/Zip64ExtendedInformationExtraField.java
index 9f77e89..9913547 100644
--- a/src/main/java/org/apache/commons/compress/archivers/zip/Zip64ExtendedInformationExtraField.java
+++ b/src/main/java/org/apache/commons/compress/archivers/zip/Zip64ExtendedInformationExtraField.java
@@ -127,7 +127,7 @@ public class Zip64ExtendedInformationExtraField implements ZipExtraField {
             if (size == null || compressedSize == null) {
                 throw new IllegalArgumentException(LFH_MUST_HAVE_BOTH_SIZES_MSG);
             }
-            byte[] data = new byte[2 * DWORD];
+            final byte[] data = new byte[2 * DWORD];
             addSizes(data);
             return data;
         }
@@ -136,7 +136,7 @@ public class Zip64ExtendedInformationExtraField implements ZipExtraField {
 
     @Override
     public byte[] getCentralDirectoryData() {
-        byte[] data = new byte[getCentralDirectoryLength().getValue()];
+        final byte[] data = new byte[getCentralDirectoryLength().getValue()];
         int off = addSizes(data);
         if (relativeHeaderOffset != null) {
             System.arraycopy(relativeHeaderOffset.getBytes(), 0, data, off, DWORD);
@@ -227,7 +227,7 @@ public class Zip64ExtendedInformationExtraField implements ZipExtraField {
                                             final boolean hasDiskStart)
         throws ZipException {
         if (rawCentralDirectoryData != null) {
-            int expectedLength = (hasUncompressedSize ? DWORD : 0)
+            final int expectedLength = (hasUncompressedSize ? DWORD : 0)
                 + (hasCompressedSize ? DWORD : 0)
                 + (hasRelativeHeaderOffset ? DWORD : 0)
                 + (hasDiskStart ? WORD : 0);