THRIFT-5568: enforce consistent Java formatting (#2581)

* use spotless plugin and google-java-format to enforce a consistent code format
* add a step of spotless check before building
* only run spotless on the src/ directory

Co-authored-by: Christopher Tubbs <ctubbsii@apache.org>
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 227b6ce..f82e8a4 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -77,6 +77,11 @@
           sudo ln -s /usr/local/gradle/bin/gradle /usr/local/bin
           gradle --version
 
+      - name: Run spotlessCheck
+        run: |
+          cd lib/java
+          gradle spotlessCheck
+
       - name: Run bootstrap
         run: ./bootstrap.sh
 
diff --git a/lib/java/build.gradle b/lib/java/build.gradle
index 6bd2ec4..726d7b7 100644
--- a/lib/java/build.gradle
+++ b/lib/java/build.gradle
@@ -41,6 +41,7 @@
     id 'signing'
     id 'com.github.johnrengelman.shadow' version '4.0.4'
     id "com.github.spotbugs" version "4.7.1"
+    id "com.diffplug.spotless" version "6.4.2"
 }
 
 description = 'Apache Thrift Java Library'
diff --git a/lib/java/gradle/codeQualityChecks.gradle b/lib/java/gradle/codeQualityChecks.gradle
index a353097..f633413 100644
--- a/lib/java/gradle/codeQualityChecks.gradle
+++ b/lib/java/gradle/codeQualityChecks.gradle
@@ -43,3 +43,12 @@
         xml.enabled = false
     }
 }
+
+spotless {
+    java {
+        target project.fileTree(project.rootDir) {
+          include 'src/**/*.java'
+        }
+        googleJavaFormat()
+    }
+}
diff --git a/lib/java/src/crossTest/java/org/apache/thrift/test/TestClient.java b/lib/java/src/crossTest/java/org/apache/thrift/test/TestClient.java
index 2861a1d..32ac88f 100644
--- a/lib/java/src/crossTest/java/org/apache/thrift/test/TestClient.java
+++ b/lib/java/src/crossTest/java/org/apache/thrift/test/TestClient.java
@@ -26,7 +26,6 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-
 import org.apache.http.impl.client.HttpClients;
 import org.apache.thrift.TApplicationException;
 import org.apache.thrift.TException;
@@ -37,16 +36,14 @@
 import org.apache.thrift.protocol.TMultiplexedProtocol;
 import org.apache.thrift.protocol.TProtocol;
 import org.apache.thrift.protocol.TSimpleJSONProtocol;
-import org.apache.thrift.transport.layered.TFastFramedTransport;
-import org.apache.thrift.transport.layered.TFramedTransport;
 import org.apache.thrift.transport.THttpClient;
 import org.apache.thrift.transport.TSSLTransportFactory;
 import org.apache.thrift.transport.TSocket;
 import org.apache.thrift.transport.TTransport;
 import org.apache.thrift.transport.TTransportException;
 import org.apache.thrift.transport.TZlibTransport;
-
-// Generated code
+import org.apache.thrift.transport.layered.TFastFramedTransport;
+import org.apache.thrift.transport.layered.TFramedTransport;
 import thrift.test.Insanity;
 import thrift.test.Numberz;
 import thrift.test.SecondService;
@@ -57,10 +54,8 @@
 import thrift.test.Xtruct2;
 
 /**
- * Test Java client for thrift. Essentially just a copy of the C++ version,
- * this makes a variety of requests to enable testing for both performance and
- * correctness of the output.
- *
+ * Test Java client for thrift. Essentially just a copy of the C++ version, this makes a variety of
+ * requests to enable testing for both performance and correctness of the output.
  */
 public class TestClient {
 
@@ -71,7 +66,7 @@
   private static int ERR_PROTOCOLS = 16;
   private static int ERR_UNKNOWN = 64;
 
-  public static void main(String [] args) {
+  public static void main(String[] args) {
     String host = "localhost";
     int port = 9090;
     int numTests = 1;
@@ -90,8 +85,7 @@
           host.trim();
         } else if (args[i].startsWith("--port")) {
           port = Integer.valueOf(args[i].split("=")[1]);
-        } else if (args[i].startsWith("--n") ||
-            args[i].startsWith("--testloops")){
+        } else if (args[i].startsWith("--n") || args[i].startsWith("--testloops")) {
           numTests = Integer.valueOf(args[i].split("=")[1]);
         } else if (args[i].equals("--timeout")) {
           socketTimeout = Integer.valueOf(args[i].split("=")[1]);
@@ -112,8 +106,14 @@
           System.out.println("  --help\t\t\tProduce help message");
           System.out.println("  --host=arg (=" + host + ")\tHost to connect");
           System.out.println("  --port=arg (=" + port + ")\tPort number to connect");
-          System.out.println("  --transport=arg (=" + transport_type + ")\n\t\t\t\tTransport: buffered, framed, fastframed, http, zlib");
-          System.out.println("  --protocol=arg (=" + protocol_type + ")\tProtocol: binary, compact, json, multi, multic, multij");
+          System.out.println(
+              "  --transport=arg (="
+                  + transport_type
+                  + ")\n\t\t\t\tTransport: buffered, framed, fastframed, http, zlib");
+          System.out.println(
+              "  --protocol=arg (="
+                  + protocol_type
+                  + ")\tProtocol: binary, compact, json, multi, multic, multij");
           System.out.println("  --ssl\t\t\tEncrypted Transport using SSL");
           System.out.println("  --zlib\t\t\tCompressed Transport using Zlib");
           System.out.println("  --testloops[--n]=arg (=" + numTests + ")\tNumber of Tests");
@@ -215,10 +215,8 @@
     int returnCode = 0;
     for (int test = 0; test < numTests; ++test) {
       try {
-        /**
-         * CONNECT TEST
-         */
-        System.out.println("Test #" + (test+1) + ", " + "connect " + host + ":" + port);
+        /** CONNECT TEST */
+        System.out.println("Test #" + (test + 1) + ", " + "connect " + host + ":" + port);
 
         if (transport.isOpen() == false) {
           try {
@@ -232,9 +230,7 @@
 
         long start = System.nanoTime();
 
-        /**
-         * VOID TEST
-         */
+        /** VOID TEST */
         try {
           System.out.print("testVoid()");
           testClient.testVoid();
@@ -244,9 +240,7 @@
           returnCode |= ERR_BASETYPES;
         }
 
-        /**
-         * STRING TEST
-         */
+        /** STRING TEST */
         System.out.print("testString(\"Test\")");
         String s = testClient.testString("Test");
         System.out.print(" = \"" + s + "\"\n");
@@ -255,9 +249,7 @@
           System.out.println("*** FAILURE ***\n");
         }
 
-        /**
-         * Multiplexed test
-         */
+        /** Multiplexed test */
         if (protocol_type.startsWith("multi")) {
           SecondService.Client secondClient = new SecondService.Client(tProtocol2);
           System.out.print("secondtestString(\"Test2\")");
@@ -268,20 +260,16 @@
             System.out.println("*** FAILURE ***\n");
           }
         }
-        /**
-         * BYTE TEST
-         */
+        /** BYTE TEST */
         System.out.print("testByte(1)");
-        byte i8 = testClient.testByte((byte)1);
+        byte i8 = testClient.testByte((byte) 1);
         System.out.print(" = " + i8 + "\n");
         if (i8 != 1) {
           returnCode |= ERR_BASETYPES;
           System.out.println("*** FAILURE ***\n");
         }
 
-        /**
-         * I32 TEST
-         */
+        /** I32 TEST */
         System.out.print("testI32(-1)");
         int i32 = testClient.testI32(-1);
         System.out.print(" = " + i32 + "\n");
@@ -290,9 +278,7 @@
           System.out.println("*** FAILURE ***\n");
         }
 
-        /**
-         * I64 TEST
-         */
+        /** I64 TEST */
         System.out.print("testI64(-34359738368)");
         long i64 = testClient.testI64(-34359738368L);
         System.out.print(" = " + i64 + "\n");
@@ -301,9 +287,7 @@
           System.out.println("*** FAILURE ***\n");
         }
 
-        /**
-         * DOUBLE TEST
-         */
+        /** DOUBLE TEST */
         System.out.print("testDouble(-5.325098235)");
         double dub = testClient.testDouble(-5.325098235);
         System.out.print(" = " + dub + "\n");
@@ -312,12 +296,27 @@
           System.out.println("*** FAILURE ***\n");
         }
 
-        /**
-         * BINARY TEST
-         */
+        /** BINARY TEST */
         try {
           System.out.print("testBinary(-128...127) = ");
-          byte[] data = new byte[] {-128, -127, -126, -125, -124, -123, -122, -121, -120, -119, -118, -117, -116, -115, -114, -113, -112, -111, -110, -109, -108, -107, -106, -105, -104, -103, -102, -101, -100, -99, -98, -97, -96, -95, -94, -93, -92, -91, -90, -89, -88, -87, -86, -85, -84, -83, -82, -81, -80, -79, -78, -77, -76, -75, -74, -73, -72, -71, -70, -69, -68, -67, -66, -65, -64, -63, -62, -61, -60, -59, -58, -57, -56, -55, -54, -53, -52, -51, -50, -49, -48, -47, -46, -45, -44, -43, -42, -41, -40, -39, -38, -37, -36, -35, -34, -33, -32, -31, -30, -29, -28, -27, -26, -25, -24, -23, -22, -21, -20, -19, -18, -17, -16, -15, -14, -13, -12, -11, -10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127};
+          byte[] data =
+              new byte[] {
+                -128, -127, -126, -125, -124, -123, -122, -121, -120, -119, -118, -117, -116, -115,
+                -114, -113, -112, -111, -110, -109, -108, -107, -106, -105, -104, -103, -102, -101,
+                -100, -99, -98, -97, -96, -95, -94, -93, -92, -91, -90, -89, -88, -87, -86, -85,
+                -84, -83, -82, -81, -80, -79, -78, -77, -76, -75, -74, -73, -72, -71, -70, -69, -68,
+                -67, -66, -65, -64, -63, -62, -61, -60, -59, -58, -57, -56, -55, -54, -53, -52, -51,
+                -50, -49, -48, -47, -46, -45, -44, -43, -42, -41, -40, -39, -38, -37, -36, -35, -34,
+                -33, -32, -31, -30, -29, -28, -27, -26, -25, -24, -23, -22, -21, -20, -19, -18, -17,
+                -16, -15, -14, -13, -12, -11, -10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3,
+                4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+                26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
+                47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
+                68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
+                89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+                108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
+                125, 126, 127
+              };
           ByteBuffer bin = testClient.testBinary(ByteBuffer.wrap(data));
           bin.mark();
           byte[] bytes = new byte[bin.limit() - bin.position()];
@@ -326,10 +325,8 @@
           System.out.print("{");
           boolean first = true;
           for (int i = 0; i < bytes.length; ++i) {
-            if (first)
-              first = false;
-            else
-              System.out.print(", ");
+            if (first) first = false;
+            else System.out.print(", ");
             System.out.print(bytes[i]);
           }
           System.out.println("}");
@@ -343,9 +340,7 @@
           ex.printStackTrace(System.out);
         }
 
-        /**
-         * STRUCT TEST
-         */
+        /** STRUCT TEST */
         System.out.print("testStruct({\"Zero\", 1, -3, -5})");
         Xtruct out = new Xtruct();
         out.string_thing = "Zero";
@@ -353,43 +348,54 @@
         out.i32_thing = -3;
         out.i64_thing = -5;
         Xtruct in = testClient.testStruct(out);
-        System.out.print(" = {" + "\"" +
-                         in.string_thing + "\"," +
-                         in.byte_thing + ", " +
-                         in.i32_thing + ", " +
-                         in.i64_thing + "}\n");
+        System.out.print(
+            " = {"
+                + "\""
+                + in.string_thing
+                + "\","
+                + in.byte_thing
+                + ", "
+                + in.i32_thing
+                + ", "
+                + in.i64_thing
+                + "}\n");
         if (!in.equals(out)) {
           returnCode |= ERR_STRUCTS;
           System.out.println("*** FAILURE ***\n");
         }
 
-        /**
-         * NESTED STRUCT TEST
-         */
+        /** NESTED STRUCT TEST */
         System.out.print("testNest({1, {\"Zero\", 1, -3, -5}), 5}");
         Xtruct2 out2 = new Xtruct2();
-        out2.byte_thing = (short)1;
+        out2.byte_thing = (short) 1;
         out2.struct_thing = out;
         out2.i32_thing = 5;
         Xtruct2 in2 = testClient.testNest(out2);
         in = in2.struct_thing;
-        System.out.print(" = {" + in2.byte_thing + ", {" + "\"" +
-                         in.string_thing + "\", " +
-                         in.byte_thing + ", " +
-                         in.i32_thing + ", " +
-                         in.i64_thing + "}, " +
-                         in2.i32_thing + "}\n");
+        System.out.print(
+            " = {"
+                + in2.byte_thing
+                + ", {"
+                + "\""
+                + in.string_thing
+                + "\", "
+                + in.byte_thing
+                + ", "
+                + in.i32_thing
+                + ", "
+                + in.i64_thing
+                + "}, "
+                + in2.i32_thing
+                + "}\n");
         if (!in2.equals(out2)) {
           returnCode |= ERR_STRUCTS;
           System.out.println("*** FAILURE ***\n");
         }
 
-        /**
-         * MAP TEST
-         */
-        Map<Integer,Integer> mapout = new HashMap<Integer,Integer>();
+        /** MAP TEST */
+        Map<Integer, Integer> mapout = new HashMap<Integer, Integer>();
         for (int i = 0; i < 5; ++i) {
-          mapout.put(i, i-10);
+          mapout.put(i, i - 10);
         }
         System.out.print("testMap({");
         boolean first = true;
@@ -402,7 +408,7 @@
           System.out.print(key + " => " + mapout.get(key));
         }
         System.out.print("})");
-        Map<Integer,Integer> mapin = testClient.testMap(mapout);
+        Map<Integer, Integer> mapin = testClient.testMap(mapout);
         System.out.print(" = {");
         first = true;
         for (int key : mapin.keySet()) {
@@ -419,9 +425,7 @@
           System.out.println("*** FAILURE ***\n");
         }
 
-        /**
-         * STRING MAP TEST
-         */
+        /** STRING MAP TEST */
         try {
           Map<String, String> smapout = new HashMap<String, String>();
           smapout.put("a", "2");
@@ -458,9 +462,7 @@
           ex.printStackTrace(System.out);
         }
 
-        /**
-         * SET TEST
-         */
+        /** SET TEST */
         Set<Integer> setout = new HashSet<Integer>();
         for (int i = -2; i < 3; ++i) {
           setout.add(i);
@@ -493,9 +495,7 @@
           System.out.println("*** FAILURE ***\n");
         }
 
-        /**
-         * LIST TEST
-         */
+        /** LIST TEST */
         List<Integer> listout = new ArrayList<Integer>();
         for (int i = -2; i < 3; ++i) {
           listout.add(i);
@@ -528,9 +528,7 @@
           System.out.println("*** FAILURE ***\n");
         }
 
-        /**
-         * ENUM TEST
-         */
+        /** ENUM TEST */
         System.out.print("testEnum(ONE)");
         Numberz ret = testClient.testEnum(Numberz.ONE);
         System.out.print(" = " + ret + "\n");
@@ -571,9 +569,7 @@
           System.out.println("*** FAILURE ***\n");
         }
 
-        /**
-         * TYPEDEF TEST
-         */
+        /** TYPEDEF TEST */
         System.out.print("testTypedef(309858235082523)");
         long uid = testClient.testTypedef(309858235082523L);
         System.out.print(" = " + uid + "\n");
@@ -582,16 +578,13 @@
           System.out.println("*** FAILURE ***\n");
         }
 
-        /**
-         * NESTED MAP TEST
-         */
+        /** NESTED MAP TEST */
         System.out.print("testMapMap(1)");
-        Map<Integer,Map<Integer,Integer>> mm =
-          testClient.testMapMap(1);
+        Map<Integer, Map<Integer, Integer>> mm = testClient.testMapMap(1);
         System.out.print(" = {");
         for (int key : mm.keySet()) {
           System.out.print(key + " => {");
-          Map<Integer,Integer> m2 = mm.get(key);
+          Map<Integer, Integer> m2 = mm.get(key);
           for (int k2 : m2.keySet()) {
             System.out.print(k2 + " => " + m2.get(k2) + ", ");
           }
@@ -604,17 +597,20 @@
         } else {
           Map<Integer, Integer> m1 = mm.get(4);
           Map<Integer, Integer> m2 = mm.get(-4);
-          if (m1.get(1) != 1 || m1.get(2) != 2 || m1.get(3) != 3 || m1.get(4) != 4 ||
-              m2.get(-1) != -1 || m2.get(-2) != -2 || m2.get(-3) != -3 || m2.get(-4) != -4) {
+          if (m1.get(1) != 1
+              || m1.get(2) != 2
+              || m1.get(3) != 3
+              || m1.get(4) != 4
+              || m2.get(-1) != -1
+              || m2.get(-2) != -2
+              || m2.get(-3) != -3
+              || m2.get(-4) != -4) {
             returnCode |= ERR_CONTAINERS;
             System.out.println("*** FAILURE ***\n");
           }
         }
 
-        /**
-         * INSANITY TEST
-         */
-
+        /** INSANITY TEST */
         boolean insanityFailed = true;
         try {
           Xtruct hello = new Xtruct();
@@ -625,23 +621,22 @@
 
           Xtruct goodbye = new Xtruct();
           goodbye.string_thing = "Goodbye4";
-          goodbye.byte_thing = (byte)4;
+          goodbye.byte_thing = (byte) 4;
           goodbye.i32_thing = 4;
-          goodbye.i64_thing = (long)4;
+          goodbye.i64_thing = (long) 4;
 
           insane.userMap = new HashMap<Numberz, Long>();
-          insane.userMap.put(Numberz.EIGHT, (long)8);
-          insane.userMap.put(Numberz.FIVE, (long)5);
+          insane.userMap.put(Numberz.EIGHT, (long) 8);
+          insane.userMap.put(Numberz.FIVE, (long) 5);
           insane.xtructs = new ArrayList<Xtruct>();
           insane.xtructs.add(goodbye);
           insane.xtructs.add(hello);
 
           System.out.print("testInsanity()");
-          Map<Long,Map<Numberz,Insanity>> whoa =
-            testClient.testInsanity(insane);
+          Map<Long, Map<Numberz, Insanity>> whoa = testClient.testInsanity(insane);
           System.out.print(" = {");
           for (long key : whoa.keySet()) {
-            Map<Numberz,Insanity> val = whoa.get(key);
+            Map<Numberz, Insanity> val = whoa.get(key);
             System.out.print(key + " => {");
 
             for (Numberz k2 : val.keySet()) {
@@ -660,7 +655,17 @@
               System.out.print("{");
               if (xtructs != null) {
                 for (Xtruct x : xtructs) {
-                  System.out.print("{" + "\"" + x.string_thing + "\", " + x.byte_thing + ", " + x.i32_thing + ", "+ x.i64_thing + "}, ");
+                  System.out.print(
+                      "{"
+                          + "\""
+                          + x.string_thing
+                          + "\", "
+                          + x.byte_thing
+                          + ", "
+                          + x.i32_thing
+                          + ", "
+                          + x.i64_thing
+                          + "}, ");
                 }
               }
               System.out.print("}");
@@ -673,14 +678,14 @@
           if (whoa.size() == 2 && whoa.containsKey(1L) && whoa.containsKey(2L)) {
             Map<Numberz, Insanity> first_map = whoa.get(1L);
             Map<Numberz, Insanity> second_map = whoa.get(2L);
-            if (first_map.size() == 2 &&
-                first_map.containsKey(Numberz.TWO) &&
-                first_map.containsKey(Numberz.THREE) &&
-                second_map.size() == 1 &&
-                second_map.containsKey(Numberz.SIX) &&
-                insane.equals(first_map.get(Numberz.TWO)) &&
-                insane.equals(first_map.get(Numberz.THREE))) {
-              Insanity six =second_map.get(Numberz.SIX);
+            if (first_map.size() == 2
+                && first_map.containsKey(Numberz.TWO)
+                && first_map.containsKey(Numberz.THREE)
+                && second_map.size() == 1
+                && second_map.containsKey(Numberz.SIX)
+                && insane.equals(first_map.get(Numberz.TWO))
+                && insane.equals(first_map.get(Numberz.THREE))) {
+              Insanity six = second_map.get(Numberz.SIX);
               // Cannot use "new Insanity().equals(six)" because as of now, struct/container
               // fields with default requiredness have isset=false for local instances and yet
               // received empty values from other languages like C++ have isset=true .
@@ -701,15 +706,13 @@
           System.out.println("*** FAILURE ***\n");
         }
 
-        /**
-         * EXECPTION TEST
-         */
+        /** EXECPTION TEST */
         try {
           System.out.print("testClient.testException(\"Xception\") =>");
           testClient.testException("Xception");
           System.out.print("  void\n*** FAILURE ***\n");
           returnCode |= ERR_EXCEPTIONS;
-        } catch(Xception e) {
+        } catch (Xception e) {
           System.out.printf("  {%d, \"%s\"}\n", e.errorCode, e.message);
         }
 
@@ -718,7 +721,7 @@
           testClient.testException("TException");
           System.out.print("  void\n*** FAILURE ***\n");
           returnCode |= ERR_EXCEPTIONS;
-        } catch(TException e) {
+        } catch (TException e) {
           System.out.printf("  {\"%s\"}\n", e.getMessage());
         }
 
@@ -726,22 +729,18 @@
           System.out.print("testClient.testException(\"success\") =>");
           testClient.testException("success");
           System.out.print("  void\n");
-        }catch(Exception e) {
+        } catch (Exception e) {
           System.out.printf("  exception\n*** FAILURE ***\n");
           returnCode |= ERR_EXCEPTIONS;
         }
 
-
-        /**
-         * MULTI EXCEPTION TEST
-         */
-
+        /** MULTI EXCEPTION TEST */
         try {
           System.out.printf("testClient.testMultiException(\"Xception\", \"test 1\") =>");
           testClient.testMultiException("Xception", "test 1");
           System.out.print("  result\n*** FAILURE ***\n");
           returnCode |= ERR_EXCEPTIONS;
-        } catch(Xception e) {
+        } catch (Xception e) {
           System.out.printf("  {%d, \"%s\"}\n", e.errorCode, e.message);
         }
 
@@ -750,7 +749,7 @@
           testClient.testMultiException("Xception2", "test 2");
           System.out.print("  result\n*** FAILURE ***\n");
           returnCode |= ERR_EXCEPTIONS;
-        } catch(Xception2 e) {
+        } catch (Xception2 e) {
           System.out.printf("  {%d, {\"%s\"}}\n", e.errorCode, e.struct_thing.string_thing);
         }
 
@@ -759,42 +758,37 @@
           Xtruct result;
           result = testClient.testMultiException("success", "test 3");
           System.out.printf("  {{\"%s\"}}\n", result.string_thing);
-        } catch(Exception e) {
+        } catch (Exception e) {
           System.out.printf("  exception\n*** FAILURE ***\n");
           returnCode |= ERR_EXCEPTIONS;
         }
 
-
-
-        /**
-         * ONEWAY TEST
-         */
+        /** ONEWAY TEST */
         System.out.print("testOneway(3)...");
         long startOneway = System.nanoTime();
         testClient.testOneway(3);
         long onewayElapsedMillis = (System.nanoTime() - startOneway) / 1000000;
         if (onewayElapsedMillis > 200) {
-          System.out.println("Oneway test took too long to execute failed: took " +
-                  onewayElapsedMillis +
-                             "ms");
-          System.out.println("oneway calls are 'fire and forget' and therefore should not cause blocking.");
-          System.out.println("Some transports (HTTP) have a required response, and typically this failure");
+          System.out.println(
+              "Oneway test took too long to execute failed: took " + onewayElapsedMillis + "ms");
+          System.out.println(
+              "oneway calls are 'fire and forget' and therefore should not cause blocking.");
+          System.out.println(
+              "Some transports (HTTP) have a required response, and typically this failure");
           System.out.println("means the transport response was delayed until after the execution");
-          System.out.println("of the RPC.  The server should post the transport response immediately and");
+          System.out.println(
+              "of the RPC.  The server should post the transport response immediately and");
           System.out.println("before executing the RPC.");
           System.out.println("*** FAILURE ***");
           returnCode |= ERR_BASETYPES;
         } else {
-          System.out.println("Success - fire and forget only took " +
-                  onewayElapsedMillis +
-                             "ms");
+          System.out.println("Success - fire and forget only took " + onewayElapsedMillis + "ms");
         }
 
-
         long stop = System.nanoTime();
-        long tot = stop-start;
+        long tot = stop - start;
 
-        System.out.println("Total time: " + tot/1000 + "us");
+        System.out.println("Total time: " + tot / 1000 + "us");
 
         if (timeMin == 0 || tot < timeMin) {
           timeMin = tot;
@@ -814,9 +808,9 @@
 
     long timeAvg = timeTot / numTests;
 
-    System.out.println("Min time: " + timeMin/1000 + "us");
-    System.out.println("Max time: " + timeMax/1000 + "us");
-    System.out.println("Avg time: " + timeAvg/1000 + "us");
+    System.out.println("Min time: " + timeMin / 1000 + "us");
+    System.out.println("Max time: " + timeMax / 1000 + "us");
+    System.out.println("Avg time: " + timeAvg / 1000 + "us");
 
     try {
       String json = (new TSerializer(new TSimpleJSONProtocol.Factory())).toString(insane);
@@ -827,7 +821,6 @@
       returnCode |= ERR_BASETYPES;
     }
 
-
     System.exit(returnCode);
   }
 }
diff --git a/lib/java/src/crossTest/java/org/apache/thrift/test/TestNonblockingServer.java b/lib/java/src/crossTest/java/org/apache/thrift/test/TestNonblockingServer.java
index 41c4b65..c7c3f34 100644
--- a/lib/java/src/crossTest/java/org/apache/thrift/test/TestNonblockingServer.java
+++ b/lib/java/src/crossTest/java/org/apache/thrift/test/TestNonblockingServer.java
@@ -19,18 +19,16 @@
 
 package org.apache.thrift.test;
 
+import org.apache.thrift.server.ServerTestBase.TestHandler;
 import org.apache.thrift.server.THsHaServer;
+import org.apache.thrift.server.THsHaServer.Args;
 import org.apache.thrift.server.TNonblockingServer;
 import org.apache.thrift.server.TServer;
-import org.apache.thrift.server.THsHaServer.Args;
 import org.apache.thrift.transport.TNonblockingServerSocket;
-import org.apache.thrift.server.ServerTestBase.TestHandler;
-
 import thrift.test.ThriftTest;
 
-
 public class TestNonblockingServer extends TestServer {
-  public static void main(String [] args) {
+  public static void main(String[] args) {
     try {
       int port = 9090;
       boolean hsha = false;
@@ -42,17 +40,16 @@
           hsha = true;
         }
       }
-      //@TODO add other protocol and transport types
+      // @TODO add other protocol and transport types
 
       // Processor
-      TestHandler testHandler =
-        new TestHandler();
-      ThriftTest.Processor testProcessor =
-        new ThriftTest.Processor(testHandler);
+      TestHandler testHandler = new TestHandler();
+      ThriftTest.Processor testProcessor = new ThriftTest.Processor(testHandler);
 
       // Transport
       TNonblockingServerSocket tServerSocket =
-        new TNonblockingServerSocket(new TNonblockingServerSocket.NonblockingAbstractServerSocketArgs().port(port));
+          new TNonblockingServerSocket(
+              new TNonblockingServerSocket.NonblockingAbstractServerSocketArgs().port(port));
 
       TServer serverEngine;
 
diff --git a/lib/java/src/crossTest/java/org/apache/thrift/test/TestServer.java b/lib/java/src/crossTest/java/org/apache/thrift/test/TestServer.java
index 386f2b6..804a7f2 100644
--- a/lib/java/src/crossTest/java/org/apache/thrift/test/TestServer.java
+++ b/lib/java/src/crossTest/java/org/apache/thrift/test/TestServer.java
@@ -19,29 +19,28 @@
 
 package org.apache.thrift.test;
 
+import org.apache.thrift.TMultiplexedProcessor;
 import org.apache.thrift.protocol.TBinaryProtocol;
 import org.apache.thrift.protocol.TCompactProtocol;
 import org.apache.thrift.protocol.TJSONProtocol;
 import org.apache.thrift.protocol.TProtocol;
 import org.apache.thrift.protocol.TProtocolFactory;
 import org.apache.thrift.server.ServerContext;
+import org.apache.thrift.server.ServerTestBase.TestHandler;
+import org.apache.thrift.server.TNonblockingServer;
 import org.apache.thrift.server.TServer;
+import org.apache.thrift.server.TServerEventHandler;
 import org.apache.thrift.server.TSimpleServer;
 import org.apache.thrift.server.TThreadPoolServer;
-import org.apache.thrift.server.ServerTestBase.TestHandler;
-import org.apache.thrift.server.TServerEventHandler;
 import org.apache.thrift.server.TThreadedSelectorServer;
-import org.apache.thrift.server.TNonblockingServer;
-import org.apache.thrift.transport.layered.TFramedTransport;
-import org.apache.thrift.transport.layered.TFastFramedTransport;
-import org.apache.thrift.transport.TZlibTransport;
-import org.apache.thrift.transport.TServerSocket;
+import org.apache.thrift.transport.TNonblockingServerSocket;
 import org.apache.thrift.transport.TSSLTransportFactory;
+import org.apache.thrift.transport.TServerSocket;
 import org.apache.thrift.transport.TTransport;
 import org.apache.thrift.transport.TTransportFactory;
-import org.apache.thrift.transport.TNonblockingServerSocket;
-import org.apache.thrift.TMultiplexedProcessor;
-
+import org.apache.thrift.transport.TZlibTransport;
+import org.apache.thrift.transport.layered.TFastFramedTransport;
+import org.apache.thrift.transport.layered.TFramedTransport;
 import thrift.test.SecondService;
 import thrift.test.ThriftTest;
 
@@ -60,26 +59,27 @@
   static class SecondHandler implements thrift.test.SecondService.Iface {
 
     @Override
-    public java.lang.String secondtestString(java.lang.String thing) throws org.apache.thrift.TException
-    { return "testString(\"" + thing + "\")"; }
-
+    public java.lang.String secondtestString(java.lang.String thing)
+        throws org.apache.thrift.TException {
+      return "testString(\"" + thing + "\")";
+    }
   }
 
   static class TestServerContext implements ServerContext {
 
-        int connectionId;
+    int connectionId;
 
-        public TestServerContext(int connectionId) {
-            this.connectionId = connectionId;
-        }
+    public TestServerContext(int connectionId) {
+      this.connectionId = connectionId;
+    }
 
-        public int getConnectionId() {
-            return connectionId;
-        }
+    public int getConnectionId() {
+      return connectionId;
+    }
 
-        public void setConnectionId(int connectionId) {
-            this.connectionId = connectionId;
-        }
+    public void setConnectionId(int connectionId) {
+      this.connectionId = connectionId;
+    }
 
     @Override
     public <T> T unwrap(Class<T> iface) {
@@ -90,7 +90,8 @@
           throw new RuntimeException("The context is not a wrapper for " + iface.getName());
         }
       } catch (Exception e) {
-        throw new RuntimeException("The context is not a wrapper and does not implement the interface");
+        throw new RuntimeException(
+            "The context is not a wrapper and does not implement the interface");
       }
     }
 
@@ -98,37 +99,46 @@
     public boolean isWrapperFor(Class<?> iface) {
       return iface.isInstance(this);
     }
-
   }
 
   static class TestServerEventHandler implements TServerEventHandler {
 
-        private int nextConnectionId = 1;
+    private int nextConnectionId = 1;
 
-        public void preServe() {
-            System.out.println("TServerEventHandler.preServe - called only once before server starts accepting connections");
-        }
+    public void preServe() {
+      System.out.println(
+          "TServerEventHandler.preServe - called only once before server starts accepting connections");
+    }
 
-        public ServerContext createContext(TProtocol input, TProtocol output) {
-            //we can create some connection level data which is stored while connection is alive & served
-            TestServerContext ctx = new TestServerContext(nextConnectionId++);
-            System.out.println("TServerEventHandler.createContext - connection #"+ctx.getConnectionId()+" established");
-            return ctx;
-        }
+    public ServerContext createContext(TProtocol input, TProtocol output) {
+      // we can create some connection level data which is stored while connection is alive & served
+      TestServerContext ctx = new TestServerContext(nextConnectionId++);
+      System.out.println(
+          "TServerEventHandler.createContext - connection #"
+              + ctx.getConnectionId()
+              + " established");
+      return ctx;
+    }
 
-        public void deleteContext(ServerContext serverContext, TProtocol input, TProtocol output) {
-            TestServerContext ctx = serverContext.unwrap(TestServerContext.class);
-            System.out.println("TServerEventHandler.deleteContext - connection #"+ctx.getConnectionId()+" terminated");
-        }
+    public void deleteContext(ServerContext serverContext, TProtocol input, TProtocol output) {
+      TestServerContext ctx = serverContext.unwrap(TestServerContext.class);
+      System.out.println(
+          "TServerEventHandler.deleteContext - connection #"
+              + ctx.getConnectionId()
+              + " terminated");
+    }
 
-        public void processContext(ServerContext serverContext, TTransport inputTransport, TTransport outputTransport) {
-            TestServerContext ctx = serverContext.unwrap(TestServerContext.class);
-            System.out.println("TServerEventHandler.processContext - connection #"+ctx.getConnectionId()+" is ready to process next request");
-        }
-
+    public void processContext(
+        ServerContext serverContext, TTransport inputTransport, TTransport outputTransport) {
+      TestServerContext ctx = serverContext.unwrap(TestServerContext.class);
+      System.out.println(
+          "TServerEventHandler.processContext - connection #"
+              + ctx.getConnectionId()
+              + " is ready to process next request");
+    }
   }
 
-  public static void main(String [] args) {
+  public static void main(String[] args) {
     try {
       int port = 9090;
       boolean ssl = false;
@@ -147,7 +157,7 @@
             server_type = args[i].split("=")[1];
             server_type.trim();
           } else if (args[i].startsWith("--port")) {
-            port=Integer.parseInt(args[i].split("=")[1]);
+            port = Integer.parseInt(args[i].split("=")[1]);
           } else if (args[i].startsWith("--protocol")) {
             protocol_type = args[i].split("=")[1];
             protocol_type.trim();
@@ -166,13 +176,24 @@
             System.out.println("Allowed options:");
             System.out.println("  --help\t\t\tProduce help message");
             System.out.println("  --port=arg (=" + port + ")\tPort number to connect");
-            System.out.println("  --transport=arg (=" + transport_type + ")\n\t\t\t\tTransport: buffered, framed, fastframed, zlib");
-            System.out.println("  --protocol=arg (=" + protocol_type + ")\tProtocol: binary, compact, json, multi, multic, multij");
+            System.out.println(
+                "  --transport=arg (="
+                    + transport_type
+                    + ")\n\t\t\t\tTransport: buffered, framed, fastframed, zlib");
+            System.out.println(
+                "  --protocol=arg (="
+                    + protocol_type
+                    + ")\tProtocol: binary, compact, json, multi, multic, multij");
             System.out.println("  --ssl\t\t\tEncrypted Transport using SSL");
             System.out.println("  --zlib\t\t\tCompressed Transport using Zlib");
-            System.out.println("  --server-type=arg (=" + server_type +")\n\t\t\t\tType of server: simple, thread-pool, nonblocking, threaded-selector");
-            System.out.println("  --string-limit=arg (=" + string_limit + ")\tString read length limit");
-            System.out.println("  --container-limit=arg (=" + container_limit + ")\tContainer read length limit");
+            System.out.println(
+                "  --server-type=arg (="
+                    + server_type
+                    + ")\n\t\t\t\tType of server: simple, thread-pool, nonblocking, threaded-selector");
+            System.out.println(
+                "  --string-limit=arg (=" + string_limit + ")\tString read length limit");
+            System.out.println(
+                "  --container-limit=arg (=" + container_limit + ")\tContainer read length limit");
             System.exit(0);
           }
         }
@@ -249,29 +270,31 @@
 
       // If we are multiplexing services in one server...
       TMultiplexedProcessor multiplexedProcessor = new TMultiplexedProcessor();
-      multiplexedProcessor.registerDefault  (testProcessor);
+      multiplexedProcessor.registerDefault(testProcessor);
       multiplexedProcessor.registerProcessor("ThriftTest", testProcessor);
       multiplexedProcessor.registerProcessor("SecondService", secondProcessor);
 
-      if (server_type.equals("nonblocking") ||
-          server_type.equals("threaded-selector")) {
+      if (server_type.equals("nonblocking") || server_type.equals("threaded-selector")) {
         // Nonblocking servers
         TNonblockingServerSocket tNonblockingServerSocket =
-          new TNonblockingServerSocket(new TNonblockingServerSocket.NonblockingAbstractServerSocketArgs().port(port));
+            new TNonblockingServerSocket(
+                new TNonblockingServerSocket.NonblockingAbstractServerSocketArgs().port(port));
 
         if (server_type.contains("nonblocking")) {
           // Nonblocking Server
-          TNonblockingServer.Args tNonblockingServerArgs
-              = new TNonblockingServer.Args(tNonblockingServerSocket);
-          tNonblockingServerArgs.processor(protocol_type.startsWith("multi") ? multiplexedProcessor : testProcessor);
+          TNonblockingServer.Args tNonblockingServerArgs =
+              new TNonblockingServer.Args(tNonblockingServerSocket);
+          tNonblockingServerArgs.processor(
+              protocol_type.startsWith("multi") ? multiplexedProcessor : testProcessor);
           tNonblockingServerArgs.protocolFactory(tProtocolFactory);
           tNonblockingServerArgs.transportFactory(tTransportFactory);
           serverEngine = new TNonblockingServer(tNonblockingServerArgs);
         } else { // server_type.equals("threaded-selector")
           // ThreadedSelector Server
-          TThreadedSelectorServer.Args tThreadedSelectorServerArgs
-              = new TThreadedSelectorServer.Args(tNonblockingServerSocket);
-          tThreadedSelectorServerArgs.processor(protocol_type.startsWith("multi") ? multiplexedProcessor : testProcessor);
+          TThreadedSelectorServer.Args tThreadedSelectorServerArgs =
+              new TThreadedSelectorServer.Args(tNonblockingServerSocket);
+          tThreadedSelectorServerArgs.processor(
+              protocol_type.startsWith("multi") ? multiplexedProcessor : testProcessor);
           tThreadedSelectorServerArgs.protocolFactory(tProtocolFactory);
           tThreadedSelectorServerArgs.transportFactory(tTransportFactory);
           serverEngine = new TThreadedSelectorServer(tThreadedSelectorServerArgs);
@@ -284,21 +307,23 @@
         if (ssl) {
           tServerSocket = TSSLTransportFactory.getServerSocket(port, 0);
         } else {
-          tServerSocket = new TServerSocket(new TServerSocket.ServerSocketTransportArgs().port(port));
+          tServerSocket =
+              new TServerSocket(new TServerSocket.ServerSocketTransportArgs().port(port));
         }
 
         if (server_type.equals("simple")) {
           // Simple Server
           TServer.Args tServerArgs = new TServer.Args(tServerSocket);
-          tServerArgs.processor(protocol_type.startsWith("multi") ? multiplexedProcessor : testProcessor);
+          tServerArgs.processor(
+              protocol_type.startsWith("multi") ? multiplexedProcessor : testProcessor);
           tServerArgs.protocolFactory(tProtocolFactory);
           tServerArgs.transportFactory(tTransportFactory);
           serverEngine = new TSimpleServer(tServerArgs);
         } else { // server_type.equals("threadpool")
           // ThreadPool Server
-          TThreadPoolServer.Args tThreadPoolServerArgs
-              = new TThreadPoolServer.Args(tServerSocket);
-          tThreadPoolServerArgs.processor(protocol_type.startsWith("multi") ? multiplexedProcessor : testProcessor);
+          TThreadPoolServer.Args tThreadPoolServerArgs = new TThreadPoolServer.Args(tServerSocket);
+          tThreadPoolServerArgs.processor(
+              protocol_type.startsWith("multi") ? multiplexedProcessor : testProcessor);
           tThreadPoolServerArgs.protocolFactory(tProtocolFactory);
           tThreadPoolServerArgs.transportFactory(tTransportFactory);
           serverEngine = new TThreadPoolServer(tThreadPoolServerArgs);
@@ -309,9 +334,17 @@
       serverEngine.setServerEventHandler(new TestServerEventHandler());
 
       // Run it
-      System.out.println("Starting the " + (ssl ? "ssl server" : "server") +
-        " [" + protocol_type + "/" + transport_type + "/" + server_type + "] on " +
-        ((domain_socket == "") ? ("port " + port) : ("unix socket " + domain_socket)));
+      System.out.println(
+          "Starting the "
+              + (ssl ? "ssl server" : "server")
+              + " ["
+              + protocol_type
+              + "/"
+              + transport_type
+              + "/"
+              + server_type
+              + "] on "
+              + ((domain_socket == "") ? ("port " + port) : ("unix socket " + domain_socket)));
       serverEngine.serve();
 
     } catch (Exception x) {
diff --git a/lib/java/src/crossTest/java/org/apache/thrift/test/TestTServletServer.java b/lib/java/src/crossTest/java/org/apache/thrift/test/TestTServletServer.java
index 93e7944..574cae6 100644
--- a/lib/java/src/crossTest/java/org/apache/thrift/test/TestTServletServer.java
+++ b/lib/java/src/crossTest/java/org/apache/thrift/test/TestTServletServer.java
@@ -23,30 +23,26 @@
 import org.apache.catalina.startup.Tomcat;
 import org.apache.catalina.startup.Tomcat.FixContextListener;
 
-
-/**
- * run tomcat for test TServlet
- */
+/** run tomcat for test TServlet */
 public class TestTServletServer {
 
   static final int port = 9090;
 
-  public static void main(String [] args) throws Exception{
+  public static void main(String[] args) throws Exception {
     Tomcat tomcat = new Tomcat();
-    tomcat.setPort( port );
-    tomcat.setBaseDir(System.getProperty("user.dir")+"\\build");
-    tomcat.getHost().setAutoDeploy( false );
+    tomcat.setPort(port);
+    tomcat.setBaseDir(System.getProperty("user.dir") + "\\build");
+    tomcat.getHost().setAutoDeploy(false);
 
     String contextPath = "/test";
     StandardContext context = new StandardContext();
-    context.setPath( contextPath );
-    context.addLifecycleListener( new FixContextListener() );
-    tomcat.getHost().addChild( context );
+    context.setPath(contextPath);
+    context.addLifecycleListener(new FixContextListener());
+    tomcat.getHost().addChild(context);
 
-    tomcat.addServlet( contextPath, "testServlet", new TestServlet() );
-    context.addServletMappingDecoded( "/service", "testServlet");
+    tomcat.addServlet(contextPath, "testServlet", new TestServlet());
+    context.addServletMappingDecoded("/service", "testServlet");
     tomcat.start();
     tomcat.getServer().await();
   }
-  
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/AsyncProcessFunction.java b/lib/java/src/main/java/org/apache/thrift/AsyncProcessFunction.java
index 483c8d0..c7c4be3 100644
--- a/lib/java/src/main/java/org/apache/thrift/AsyncProcessFunction.java
+++ b/lib/java/src/main/java/org/apache/thrift/AsyncProcessFunction.java
@@ -24,32 +24,39 @@
 import org.apache.thrift.server.AbstractNonblockingServer;
 
 public abstract class AsyncProcessFunction<I, T extends TBase, R> {
-    final String methodName;
+  final String methodName;
 
-    public AsyncProcessFunction(String methodName) {
-        this.methodName = methodName;
-    }
+  public AsyncProcessFunction(String methodName) {
+    this.methodName = methodName;
+  }
 
-    protected abstract boolean isOneway();
+  protected abstract boolean isOneway();
 
-    public abstract void start(I iface, T args, AsyncMethodCallback<R> resultHandler) throws TException;
+  public abstract void start(I iface, T args, AsyncMethodCallback<R> resultHandler)
+      throws TException;
 
-    public abstract T getEmptyArgsInstance();
+  public abstract T getEmptyArgsInstance();
 
-    public abstract AsyncMethodCallback<R> getResultHandler(final AbstractNonblockingServer.AsyncFrameBuffer fb, int seqid);
+  public abstract AsyncMethodCallback<R> getResultHandler(
+      final AbstractNonblockingServer.AsyncFrameBuffer fb, int seqid);
 
-    public String getMethodName() {
-        return methodName;
-    }
+  public String getMethodName() {
+    return methodName;
+  }
 
-    public void sendResponse(final AbstractNonblockingServer.AsyncFrameBuffer fb, final TSerializable result, final byte type, final int seqid) throws TException {
-        TProtocol oprot = fb.getOutputProtocol();
+  public void sendResponse(
+      final AbstractNonblockingServer.AsyncFrameBuffer fb,
+      final TSerializable result,
+      final byte type,
+      final int seqid)
+      throws TException {
+    TProtocol oprot = fb.getOutputProtocol();
 
-        oprot.writeMessageBegin(new TMessage(getMethodName(), type, seqid));
-        result.write(oprot);
-        oprot.writeMessageEnd();
-        oprot.getTransport().flush();
+    oprot.writeMessageBegin(new TMessage(getMethodName(), type, seqid));
+    result.write(oprot);
+    oprot.writeMessageEnd();
+    oprot.getTransport().flush();
 
-        fb.responseReady();
-    }
+    fb.responseReady();
+  }
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/EncodingUtils.java b/lib/java/src/main/java/org/apache/thrift/EncodingUtils.java
index d8cb108..d4bc7ac 100644
--- a/lib/java/src/main/java/org/apache/thrift/EncodingUtils.java
+++ b/lib/java/src/main/java/org/apache/thrift/EncodingUtils.java
@@ -19,34 +19,27 @@
 
 package org.apache.thrift;
 
-/**
- * Utility methods for use when encoding/decoding raw data as byte arrays.
- */
+/** Utility methods for use when encoding/decoding raw data as byte arrays. */
 public class EncodingUtils {
 
   /**
-   * Encode <code>integer</code> as a series of 4 bytes into <code>buf</code>
-   * starting at position 0 within that buffer.
+   * Encode <code>integer</code> as a series of 4 bytes into <code>buf</code> starting at position 0
+   * within that buffer.
    *
-   * @param integer
-   *          The integer to encode.
-   * @param buf
-   *          The buffer to write to.
+   * @param integer The integer to encode.
+   * @param buf The buffer to write to.
    */
   public static final void encodeBigEndian(final int integer, final byte[] buf) {
     encodeBigEndian(integer, buf, 0);
   }
 
   /**
-   * Encode <code>integer</code> as a series of 4 bytes into <code>buf</code>
-   * starting at position <code>offset</code>.
+   * Encode <code>integer</code> as a series of 4 bytes into <code>buf</code> starting at position
+   * <code>offset</code>.
    *
-   * @param integer
-   *          The integer to encode.
-   * @param buf
-   *          The buffer to write to.
-   * @param offset
-   *          The offset within <code>buf</code> to start the encoding.
+   * @param integer The integer to encode.
+   * @param buf The buffer to write to.
+   * @param offset The offset within <code>buf</code> to start the encoding.
    */
   public static final void encodeBigEndian(final int integer, final byte[] buf, int offset) {
     buf[offset] = (byte) (0xff & (integer >> 24));
@@ -56,11 +49,10 @@
   }
 
   /**
-   * Decode a series of 4 bytes from <code>buf</code>, starting at position 0,
-   * and interpret them as an integer.
+   * Decode a series of 4 bytes from <code>buf</code>, starting at position 0, and interpret them as
+   * an integer.
    *
-   * @param buf
-   *          The buffer to read from.
+   * @param buf The buffer to read from.
    * @return An integer, as read from the buffer.
    */
   public static final int decodeBigEndian(final byte[] buf) {
@@ -68,36 +60,33 @@
   }
 
   /**
-   * Decode a series of 4 bytes from <code>buf</code>, start at
-   * <code>offset</code>, and interpret them as an integer.
+   * Decode a series of 4 bytes from <code>buf</code>, start at <code>offset</code>, and interpret
+   * them as an integer.
    *
-   * @param buf
-   *          The buffer to read from.
-   * @param offset
-   *          The offset with <code>buf</code> to start the decoding.
+   * @param buf The buffer to read from.
+   * @param offset The offset with <code>buf</code> to start the decoding.
    * @return An integer, as read from the buffer.
    */
   public static final int decodeBigEndian(final byte[] buf, int offset) {
-    return ((buf[offset] & 0xff) << 24) | ((buf[offset + 1] & 0xff) << 16)
-        | ((buf[offset + 2] & 0xff) << 8) | ((buf[offset + 3] & 0xff));
+    return ((buf[offset] & 0xff) << 24)
+        | ((buf[offset + 1] & 0xff) << 16)
+        | ((buf[offset + 2] & 0xff) << 8)
+        | ((buf[offset + 3] & 0xff));
   }
 
   /**
-   * Bitfield utilities.
-   * Returns true if the bit at position is set in v.
+   * Bitfield utilities. Returns true if the bit at position is set in v.
    *
-   * @param v
-   *          the value whose bit is to be checked.
-   * @param position
-   *          the 0 based bit number indicating the bit to check.
+   * @param v the value whose bit is to be checked.
+   * @param position the 0 based bit number indicating the bit to check.
    * @return true if the bit at position is set in v.
    */
   public static final boolean testBit(byte v, int position) {
-    return testBit((int)v, position);
+    return testBit((int) v, position);
   }
 
   public static final boolean testBit(short v, int position) {
-    return testBit((int)v, position);
+    return testBit((int) v, position);
   }
 
   public static final boolean testBit(int v, int position) {
@@ -111,18 +100,16 @@
   /**
    * Returns v, with the bit at position set to zero.
    *
-   * @param v
-   *          the value whose bit is to be cleared.
-   * @param position
-   *          the 0 based bit number indicating the bit to clear.
+   * @param v the value whose bit is to be cleared.
+   * @param position the 0 based bit number indicating the bit to clear.
    * @return v, with the bit at position set to zero.
    */
   public static final byte clearBit(byte v, int position) {
-    return (byte)clearBit((int)v, position);
+    return (byte) clearBit((int) v, position);
   }
 
   public static final short clearBit(short v, int position) {
-    return (short)clearBit((int)v, position);
+    return (short) clearBit((int) v, position);
   }
 
   public static final int clearBit(int v, int position) {
@@ -136,33 +123,26 @@
   /**
    * Returns v, with the bit at position set to 1 or 0 depending on value.
    *
-   * @param v
-   *          the value whose bit is to be set.
-   * @param position
-   *          the 0 based bit number indicating the bit to set.
-   * @param value
-   *          if true, the given bit is set to 1; otherwise it is set to 0.
+   * @param v the value whose bit is to be set.
+   * @param position the 0 based bit number indicating the bit to set.
+   * @param value if true, the given bit is set to 1; otherwise it is set to 0.
    * @return v, with the bit at position set to 0 (if value is false) or 1 (if value is true).
    */
   public static final byte setBit(byte v, int position, boolean value) {
-    return (byte)setBit((int)v, position, value);
+    return (byte) setBit((int) v, position, value);
   }
 
   public static final short setBit(short v, int position, boolean value) {
-    return (short)setBit((int)v, position, value);
+    return (short) setBit((int) v, position, value);
   }
 
   public static final int setBit(int v, int position, boolean value) {
-    if(value)
-      return v | (1 << position);
-    else
-      return clearBit(v, position);
+    if (value) return v | (1 << position);
+    else return clearBit(v, position);
   }
 
   public static final long setBit(long v, int position, boolean value) {
-    if(value)
-      return v | (1L << position);
-    else
-      return clearBit(v, position);
+    if (value) return v | (1L << position);
+    else return clearBit(v, position);
   }
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/Option.java b/lib/java/src/main/java/org/apache/thrift/Option.java
index 6b036df..601bcc1 100644
--- a/lib/java/src/main/java/org/apache/thrift/Option.java
+++ b/lib/java/src/main/java/org/apache/thrift/Option.java
@@ -21,120 +21,123 @@
 
 import java.util.Optional;
 
-/**
- * Implementation of the Option type pattern
- */
+/** Implementation of the Option type pattern */
 public abstract class Option<T> {
 
-    @SuppressWarnings("rawtypes")
-    private static final Option NONE = new None();
+  @SuppressWarnings("rawtypes")
+  private static final Option NONE = new None();
 
-    /**
-     * Whether the Option is defined or not
-     * @return
-     *         true if the Option is defined (of type Some)
-     *         false if the Option is not defined (of type None)
-     */
-    public abstract boolean isDefined();
+  /**
+   * Whether the Option is defined or not
+   *
+   * @return true if the Option is defined (of type Some) false if the Option is not defined (of
+   *     type None)
+   */
+  public abstract boolean isDefined();
 
-    /**
-     * Get the value of the Option (if it is defined)
-     * @return the value
-     * @throws IllegalStateException if called on a None
-     */
-    public abstract T get();
+  /**
+   * Get the value of the Option (if it is defined)
+   *
+   * @return the value
+   * @throws IllegalStateException if called on a None
+   */
+  public abstract T get();
 
-    /**
-     * Get the contained value (if defined) or else return a default value
-     * @param other what to return if the value is not defined (a None)
-     * @return either the value, or other if the value is not defined
-     */
-    public T or(T other) {
-        if (isDefined()) {
-            return get();
-        } else {
-            return other;
-        }
+  /**
+   * Get the contained value (if defined) or else return a default value
+   *
+   * @param other what to return if the value is not defined (a None)
+   * @return either the value, or other if the value is not defined
+   */
+  public T or(T other) {
+    if (isDefined()) {
+      return get();
+    } else {
+      return other;
+    }
+  }
+
+  /**
+   * Turn this Option into Java 8 Optional type
+   *
+   * @return Java 8+ Optional Type
+   */
+  public Optional<T> toOptional() {
+    if (isDefined()) {
+      return Optional.of(get());
+    } else {
+      return Optional.empty();
+    }
+  }
+
+  /** The None type, representing an absent value (instead of "null") */
+  public static class None<T> extends Option<T> {
+    public boolean isDefined() {
+      return false;
     }
 
-    /**
-     * Turn this Option into Java 8 Optional type
-     * @return Java 8+ Optional Type
-     */
-    public Optional<T> toOptional() {
-        if (isDefined()) {
-            return Optional.of(get());
-        } else {
-            return Optional.empty();
-        }
+    public T get() {
+      throw new IllegalStateException("Cannot call get() on None");
     }
 
-    /**
-     * The None type, representing an absent value (instead of "null")
-     */
-    public static class None<T> extends Option<T> {
-        public boolean isDefined() {
-            return false;
-        }
+    public String toString() {
+      return "None";
+    }
+  }
 
-        public T get() {
-            throw new IllegalStateException("Cannot call get() on None");
-        }
+  /**
+   * The Some type, representing an existence of some value
+   *
+   * @param <T> The type of value
+   */
+  public static class Some<T> extends Option<T> {
+    private final T value;
 
-        public String toString() {
-            return "None";
-        }
+    public Some(T value) {
+      this.value = value;
     }
 
-    /**
-     * The Some type, representing an existence of some value
-     * @param <T> The type of value
-     */
-    public static class Some<T> extends Option<T> {
-        private final T value;
-        public Some(T value) {
-            this.value = value;
-        }
-
-        public boolean isDefined() {
-            return true;
-        }
-
-        public T get() {
-            return value;
-        }
-
-        public String toString() {
-            return "Some(" + value + ")";
-        }
+    public boolean isDefined() {
+      return true;
     }
 
-    /**
-     * Wraps value in an Option type, depending on whether or not value is null
-     * @param value the value to wrap in Option
-     * @param <T> the type of value
-     * @return Some(value) if value is not null, None if value is null
-     */
-    public static <T> Option<T> fromNullable(T value) {
-        if (value != null) {
-            return some(value);
-        } else {
-            return none();
-        }
+    public T get() {
+      return value;
     }
 
-    /**
-     * Wrap value in a Some type (NB! value must not be null!)
-     * @param value the value to wrap.
-     * @param <T> the type of value
-     * @return a new Some(value)
-     */
-    public static <T> Some<T> some(T value) {
-        return new Some<T>(value);
+    public String toString() {
+      return "Some(" + value + ")";
     }
+  }
 
-    @SuppressWarnings("unchecked")
-    public static <T> None<T> none() {
-        return (None<T>) NONE;
+  /**
+   * Wraps value in an Option type, depending on whether or not value is null
+   *
+   * @param value the value to wrap in Option
+   * @param <T> the type of value
+   * @return Some(value) if value is not null, None if value is null
+   */
+  public static <T> Option<T> fromNullable(T value) {
+    if (value != null) {
+      return some(value);
+    } else {
+      return none();
     }
+  }
+
+  /**
+   * Wrap value in a Some type (NB! value must not be null!)
+   *
+   * @param value the value to wrap.
+   * @param <T> the type of value
+   * @return a new Some(value)
+   */
+  public static <T> Some<T> some(T value) {
+    return new Some<T>(value);
+  }
+
+  @SuppressWarnings("unchecked")
+  public static <T> None<T> none() {
+    return (None<T>) NONE;
+  }
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/ProcessFunction.java b/lib/java/src/main/java/org/apache/thrift/ProcessFunction.java
index e6213df..7399342 100644
--- a/lib/java/src/main/java/org/apache/thrift/ProcessFunction.java
+++ b/lib/java/src/main/java/org/apache/thrift/ProcessFunction.java
@@ -17,13 +17,15 @@
     this.methodName = methodName;
   }
 
-  public final void process(int seqid, TProtocol iprot, TProtocol oprot, I iface) throws TException {
+  public final void process(int seqid, TProtocol iprot, TProtocol oprot, I iface)
+      throws TException {
     T args = getEmptyArgsInstance();
     try {
       args.read(iprot);
     } catch (TProtocolException e) {
       iprot.readMessageEnd();
-      TApplicationException x = new TApplicationException(TApplicationException.PROTOCOL_ERROR, e.getMessage());
+      TApplicationException x =
+          new TApplicationException(TApplicationException.PROTOCOL_ERROR, e.getMessage());
       oprot.writeMessageBegin(new TMessage(getMethodName(), TMessageType.EXCEPTION, seqid));
       x.write(oprot);
       oprot.writeMessageEnd();
@@ -45,15 +47,17 @@
       msgType = TMessageType.EXCEPTION;
     } catch (Exception ex) {
       LOGGER.error("Internal error processing " + getMethodName(), ex);
-      if(rethrowUnhandledExceptions()) throw new RuntimeException(ex.getMessage(), ex);
-      if(!isOneway()) {
-        result = new TApplicationException(TApplicationException.INTERNAL_ERROR,
-            "Internal error processing " + getMethodName());
+      if (rethrowUnhandledExceptions()) throw new RuntimeException(ex.getMessage(), ex);
+      if (!isOneway()) {
+        result =
+            new TApplicationException(
+                TApplicationException.INTERNAL_ERROR,
+                "Internal error processing " + getMethodName());
         msgType = TMessageType.EXCEPTION;
       }
     }
 
-    if(!isOneway()) {
+    if (!isOneway()) {
       oprot.writeMessageBegin(new TMessage(getMethodName(), msgType, seqid));
       result.write(oprot);
       oprot.writeMessageEnd();
@@ -63,8 +67,9 @@
 
   private void handleException(int seqid, TProtocol oprot) throws TException {
     if (!isOneway()) {
-      TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR,
-        "Internal error processing " + getMethodName());
+      TApplicationException x =
+          new TApplicationException(
+              TApplicationException.INTERNAL_ERROR, "Internal error processing " + getMethodName());
       oprot.writeMessageBegin(new TMessage(getMethodName(), TMessageType.EXCEPTION, seqid));
       x.write(oprot);
       oprot.writeMessageEnd();
@@ -72,7 +77,7 @@
     }
   }
 
-  protected boolean rethrowUnhandledExceptions(){
+  protected boolean rethrowUnhandledExceptions() {
     return false;
   }
 
diff --git a/lib/java/src/main/java/org/apache/thrift/TApplicationException.java b/lib/java/src/main/java/org/apache/thrift/TApplicationException.java
index 59cff69..daf1072 100644
--- a/lib/java/src/main/java/org/apache/thrift/TApplicationException.java
+++ b/lib/java/src/main/java/org/apache/thrift/TApplicationException.java
@@ -25,15 +25,12 @@
 import org.apache.thrift.protocol.TStruct;
 import org.apache.thrift.protocol.TType;
 
-/**
- * Application level exception
- *
- */
+/** Application level exception */
 public class TApplicationException extends TException implements TSerializable {
 
   private static final TStruct TAPPLICATION_EXCEPTION_STRUCT = new TStruct("TApplicationException");
-  private static final TField MESSAGE_FIELD = new TField("message", TType.STRING, (short)1);
-  private static final TField TYPE_FIELD = new TField("type", TType.I32, (short)2);
+  private static final TField MESSAGE_FIELD = new TField("message", TType.STRING, (short) 1);
+  private static final TField TYPE_FIELD = new TField("type", TType.I32, (short) 2);
 
   private static final long serialVersionUID = 1L;
 
@@ -78,14 +75,12 @@
   public String getMessage() {
     if (message_ == null) {
       return super.getMessage();
-    }
-    else {
+    } else {
       return message_;
     }
   }
 
-  public void read(TProtocol iprot) throws TException
-  {
+  public void read(TProtocol iprot) throws TException {
     TField field;
     iprot.readStructBegin();
 
@@ -130,15 +125,13 @@
    * @return an instance of TApplicationException read from iprot.
    * @throws TException if there is an error reading from iprot.
    */
-  public static TApplicationException readFrom(TProtocol iprot) throws TException
-  {
+  public static TApplicationException readFrom(TProtocol iprot) throws TException {
     TApplicationException result = new TApplicationException();
     result.read(iprot);
     return result;
   }
 
-  public void write(TProtocol oprot) throws TException
-  {
+  public void write(TProtocol oprot) throws TException {
     oprot.writeStructBegin(TAPPLICATION_EXCEPTION_STRUCT);
     if (getMessage() != null) {
       oprot.writeFieldBegin(MESSAGE_FIELD);
diff --git a/lib/java/src/main/java/org/apache/thrift/TAsyncProcessor.java b/lib/java/src/main/java/org/apache/thrift/TAsyncProcessor.java
index d435b08..4dc9160 100644
--- a/lib/java/src/main/java/org/apache/thrift/TAsyncProcessor.java
+++ b/lib/java/src/main/java/org/apache/thrift/TAsyncProcessor.java
@@ -23,9 +23,8 @@
 public interface TAsyncProcessor {
   /**
    * Process a single frame.
-
-   * <b>Note:</b> Implementations must call fb.responseReady() once processing
-   * is complete
+   *
+   * <p><b>Note:</b> Implementations must call fb.responseReady() once processing is complete
    *
    * @param fb the frame buffer to process.
    * @throws TException if the frame cannot be processed
diff --git a/lib/java/src/main/java/org/apache/thrift/TBase.java b/lib/java/src/main/java/org/apache/thrift/TBase.java
index be8ef9b..9c8bdba 100644
--- a/lib/java/src/main/java/org/apache/thrift/TBase.java
+++ b/lib/java/src/main/java/org/apache/thrift/TBase.java
@@ -21,13 +21,9 @@
 
 import java.io.Serializable;
 
-import org.apache.thrift.protocol.TProtocol;
-
-/**
- * Generic base interface for generated Thrift objects.
- *
- */
-public interface TBase<T extends TBase<T,F>, F extends TFieldIdEnum> extends Comparable<T>,  TSerializable, Serializable {
+/** Generic base interface for generated Thrift objects. */
+public interface TBase<T extends TBase<T, F>, F extends TFieldIdEnum>
+    extends Comparable<T>, TSerializable, Serializable {
 
   /**
    * Get the F instance that corresponds to fieldId.
@@ -46,8 +42,8 @@
   public boolean isSet(F field);
 
   /**
-   * Get a field's value by field variable. Primitive types will be wrapped in
-   * the appropriate "boxed" types.
+   * Get a field's value by field variable. Primitive types will be wrapped in the appropriate
+   * "boxed" types.
    *
    * @param field the field whose value is requested.
    * @return the value of the requested field.
@@ -55,8 +51,8 @@
   public Object getFieldValue(F field);
 
   /**
-   * Set a field's value by field variable. Primitive types must be "boxed" in
-   * the appropriate object wrapper type.
+   * Set a field's value by field variable. Primitive types must be "boxed" in the appropriate
+   * object wrapper type.
    *
    * @param field the field whose value is to be set.
    * @param value the value to be assigned to field.
@@ -71,8 +67,8 @@
   public T deepCopy();
 
   /**
-   * Return to the state of having just been initialized, as though you had just
-   * called the default constructor.
+   * Return to the state of having just been initialized, as though you had just called the default
+   * constructor.
    */
   public void clear();
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/TBaseAsyncProcessor.java b/lib/java/src/main/java/org/apache/thrift/TBaseAsyncProcessor.java
index f13f068..266f0c0 100644
--- a/lib/java/src/main/java/org/apache/thrift/TBaseAsyncProcessor.java
+++ b/lib/java/src/main/java/org/apache/thrift/TBaseAsyncProcessor.java
@@ -18,97 +18,96 @@
  */
 package org.apache.thrift;
 
-import org.apache.thrift.protocol.*;
+import java.util.Collections;
+import java.util.Map;
 import org.apache.thrift.async.AsyncMethodCallback;
-
+import org.apache.thrift.protocol.*;
 import org.apache.thrift.server.AbstractNonblockingServer.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.util.Collections;
-import java.util.Map;
-
 public class TBaseAsyncProcessor<I> implements TAsyncProcessor, TProcessor {
-    protected final Logger LOGGER = LoggerFactory.getLogger(getClass().getName());
+  protected final Logger LOGGER = LoggerFactory.getLogger(getClass().getName());
 
-    final I iface;
-    final Map<String,AsyncProcessFunction<I, ? extends TBase,?>> processMap;
+  final I iface;
+  final Map<String, AsyncProcessFunction<I, ? extends TBase, ?>> processMap;
 
-    public TBaseAsyncProcessor(I iface, Map<String, AsyncProcessFunction<I, ? extends TBase,?>> processMap) {
-        this.iface = iface;
-        this.processMap = processMap;
+  public TBaseAsyncProcessor(
+      I iface, Map<String, AsyncProcessFunction<I, ? extends TBase, ?>> processMap) {
+    this.iface = iface;
+    this.processMap = processMap;
+  }
+
+  public Map<String, AsyncProcessFunction<I, ? extends TBase, ?>> getProcessMapView() {
+    return Collections.unmodifiableMap(processMap);
+  }
+
+  public void process(final AsyncFrameBuffer fb) throws TException {
+
+    final TProtocol in = fb.getInputProtocol();
+    final TProtocol out = fb.getOutputProtocol();
+
+    // Find processing function
+    final TMessage msg = in.readMessageBegin();
+    AsyncProcessFunction fn = processMap.get(msg.name);
+    if (fn == null) {
+      TProtocolUtil.skip(in, TType.STRUCT);
+      in.readMessageEnd();
+
+      TApplicationException x =
+          new TApplicationException(
+              TApplicationException.UNKNOWN_METHOD, "Invalid method name: '" + msg.name + "'");
+      LOGGER.debug("Invalid method name", x);
+
+      // this means it is a two-way request, so we can send a reply
+      if (msg.type == TMessageType.CALL) {
+        out.writeMessageBegin(new TMessage(msg.name, TMessageType.EXCEPTION, msg.seqid));
+        x.write(out);
+        out.writeMessageEnd();
+        out.getTransport().flush();
+      }
+      fb.responseReady();
+      return;
     }
 
-    public Map<String,AsyncProcessFunction<I, ? extends TBase,?>> getProcessMapView() {
-        return Collections.unmodifiableMap(processMap);
+    // Get Args
+    TBase args = fn.getEmptyArgsInstance();
+
+    try {
+      args.read(in);
+    } catch (TProtocolException e) {
+      in.readMessageEnd();
+
+      TApplicationException x =
+          new TApplicationException(TApplicationException.PROTOCOL_ERROR, e.getMessage());
+      LOGGER.debug("Could not retrieve function arguments", x);
+
+      if (!fn.isOneway()) {
+        out.writeMessageBegin(new TMessage(msg.name, TMessageType.EXCEPTION, msg.seqid));
+        x.write(out);
+        out.writeMessageEnd();
+        out.getTransport().flush();
+      }
+      fb.responseReady();
+      return;
+    }
+    in.readMessageEnd();
+
+    if (fn.isOneway()) {
+      fb.responseReady();
     }
 
-    public void process(final AsyncFrameBuffer fb) throws TException {
-
-        final TProtocol in = fb.getInputProtocol();
-        final TProtocol out = fb.getOutputProtocol();
-
-        //Find processing function
-        final TMessage msg = in.readMessageBegin();
-        AsyncProcessFunction fn = processMap.get(msg.name);
-        if (fn == null) {
-            TProtocolUtil.skip(in, TType.STRUCT);
-            in.readMessageEnd();
-
-            TApplicationException x = new TApplicationException(TApplicationException.UNKNOWN_METHOD,
-                "Invalid method name: '" + msg.name + "'");
-            LOGGER.debug("Invalid method name", x);
-
-            // this means it is a two-way request, so we can send a reply
-            if (msg.type == TMessageType.CALL) {
-              out.writeMessageBegin(new TMessage(msg.name, TMessageType.EXCEPTION, msg.seqid));
-              x.write(out);
-              out.writeMessageEnd();
-              out.getTransport().flush();
-            }
-            fb.responseReady();
-            return;
-        }
-
-        //Get Args
-        TBase args = fn.getEmptyArgsInstance();
-
-        try {
-            args.read(in);
-        } catch (TProtocolException e) {
-            in.readMessageEnd();
-
-            TApplicationException x = new TApplicationException(TApplicationException.PROTOCOL_ERROR,
-                e.getMessage());
-            LOGGER.debug("Could not retrieve function arguments", x);
-
-            if (!fn.isOneway()) {
-              out.writeMessageBegin(new TMessage(msg.name, TMessageType.EXCEPTION, msg.seqid));
-              x.write(out);
-              out.writeMessageEnd();
-              out.getTransport().flush();
-            }
-            fb.responseReady();
-            return;
-        }
-        in.readMessageEnd();
-
-        if (fn.isOneway()) {
-          fb.responseReady();
-        }
-
-        //start off processing function
-        AsyncMethodCallback resultHandler = fn.getResultHandler(fb, msg.seqid);
-        try {
-          fn.start(iface, args, resultHandler);
-        } catch (Exception e) {
-          LOGGER.debug("Exception handling function", e);
-          resultHandler.onError(e);
-        }
-        return;
+    // start off processing function
+    AsyncMethodCallback resultHandler = fn.getResultHandler(fb, msg.seqid);
+    try {
+      fn.start(iface, args, resultHandler);
+    } catch (Exception e) {
+      LOGGER.debug("Exception handling function", e);
+      resultHandler.onError(e);
     }
+    return;
+  }
 
-    @Override
-    public void process(TProtocol in, TProtocol out) throws TException {
-    }
+  @Override
+  public void process(TProtocol in, TProtocol out) throws TException {}
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/TBaseHelper.java b/lib/java/src/main/java/org/apache/thrift/TBaseHelper.java
index 6f6c6eb..be7a9f3 100644
--- a/lib/java/src/main/java/org/apache/thrift/TBaseHelper.java
+++ b/lib/java/src/main/java/org/apache/thrift/TBaseHelper.java
@@ -1,24 +1,29 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ * with the License. You may obtain a copy of the License at
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
+ *   http://www.apache.org/licenses/LICENSE-2.0
  *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 package org.apache.thrift;
 
 import java.io.Serializable;
 import java.nio.ByteBuffer;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
 import java.util.Comparator;
 import java.util.Iterator;
 import java.util.List;
@@ -26,28 +31,24 @@
 import java.util.Set;
 import java.util.SortedMap;
 import java.util.TreeMap;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
 
 public final class TBaseHelper {
 
-  private TBaseHelper(){}
+  private TBaseHelper() {}
 
   private static final Comparator comparator = new NestedStructureComparator();
 
   public static int compareTo(Object o1, Object o2) {
     if (o1 instanceof Comparable) {
-      return compareTo((Comparable)o1, (Comparable)o2);
+      return compareTo((Comparable) o1, (Comparable) o2);
     } else if (o1 instanceof List) {
-      return compareTo((List)o1, (List)o2);
+      return compareTo((List) o1, (List) o2);
     } else if (o1 instanceof Set) {
-      return compareTo((Set)o1, (Set)o2);
+      return compareTo((Set) o1, (Set) o2);
     } else if (o1 instanceof Map) {
-      return compareTo((Map)o1, (Map)o2);
+      return compareTo((Map) o1, (Map) o2);
     } else if (o1 instanceof byte[]) {
-      return compareTo((byte[])o1, (byte[])o2);
+      return compareTo((byte[]) o1, (byte[]) o2);
     } else {
       throw new IllegalArgumentException("Cannot compare objects of type " + o1.getClass());
     }
@@ -62,7 +63,7 @@
   }
 
   public static int compareTo(short a, short b) {
-    return Short.compare(a,b);
+    return Short.compare(a, b);
   }
 
   public static int compareTo(int a, int b) {
@@ -165,9 +166,7 @@
     return 0;
   }
 
-  /**
-   * Comparator to compare items inside a structure (e.g. a list, set, or map).
-   */
+  /** Comparator to compare items inside a structure (e.g. a list, set, or map). */
   private static class NestedStructureComparator implements Comparator, Serializable {
     public int compare(Object oA, Object oB) {
       if (oA == null && oB == null) {
@@ -177,15 +176,15 @@
       } else if (oB == null) {
         return 1;
       } else if (oA instanceof List) {
-        return compareTo((List)oA, (List)oB);
+        return compareTo((List) oA, (List) oB);
       } else if (oA instanceof Set) {
-        return compareTo((Set)oA, (Set)oB);
+        return compareTo((Set) oA, (Set) oB);
       } else if (oA instanceof Map) {
-        return compareTo((Map)oA, (Map)oB);
+        return compareTo((Map) oA, (Map) oB);
       } else if (oA instanceof byte[]) {
-        return compareTo((byte[])oA, (byte[])oB);
+        return compareTo((byte[]) oA, (byte[]) oB);
       } else {
-        return compareTo((Comparable)oA, (Comparable)oB);
+        return compareTo((Comparable) oA, (Comparable) oB);
       }
     }
   }
@@ -244,14 +243,15 @@
 
   public static boolean wrapsFullArray(ByteBuffer byteBuffer) {
     return byteBuffer.hasArray()
-      && byteBuffer.position() == 0
-      && byteBuffer.arrayOffset() == 0
-      && byteBuffer.remaining() == byteBuffer.capacity();
+        && byteBuffer.position() == 0
+        && byteBuffer.arrayOffset() == 0
+        && byteBuffer.remaining() == byteBuffer.capacity();
   }
 
   public static int byteBufferToByteArray(ByteBuffer byteBuffer, byte[] target, int offset) {
     int remaining = byteBuffer.remaining();
-    System.arraycopy(byteBuffer.array(),
+    System.arraycopy(
+        byteBuffer.array(),
         byteBuffer.arrayOffset() + byteBuffer.position(),
         target,
         offset,
@@ -275,7 +275,8 @@
     }
     ByteBuffer copy = ByteBuffer.wrap(new byte[orig.remaining()]);
     if (orig.hasArray()) {
-      System.arraycopy(orig.array(), orig.arrayOffset() + orig.position(), copy.array(), 0, orig.remaining());
+      System.arraycopy(
+          orig.array(), orig.arrayOffset() + orig.position(), copy.array(), 0, orig.remaining());
     } else {
       orig.slice().get(copy.array());
     }
diff --git a/lib/java/src/main/java/org/apache/thrift/TBaseProcessor.java b/lib/java/src/main/java/org/apache/thrift/TBaseProcessor.java
index 55a0f15..05cd7b8 100644
--- a/lib/java/src/main/java/org/apache/thrift/TBaseProcessor.java
+++ b/lib/java/src/main/java/org/apache/thrift/TBaseProcessor.java
@@ -2,7 +2,6 @@
 
 import java.util.Collections;
 import java.util.Map;
-
 import org.apache.thrift.protocol.TMessage;
 import org.apache.thrift.protocol.TMessageType;
 import org.apache.thrift.protocol.TProtocol;
@@ -11,14 +10,15 @@
 
 public abstract class TBaseProcessor<I> implements TProcessor {
   private final I iface;
-  private final Map<String,ProcessFunction<I, ? extends TBase>> processMap;
+  private final Map<String, ProcessFunction<I, ? extends TBase>> processMap;
 
-  protected TBaseProcessor(I iface, Map<String, ProcessFunction<I, ? extends TBase>> processFunctionMap) {
+  protected TBaseProcessor(
+      I iface, Map<String, ProcessFunction<I, ? extends TBase>> processFunctionMap) {
     this.iface = iface;
     this.processMap = processFunctionMap;
   }
 
-  public Map<String,ProcessFunction<I, ? extends TBase>> getProcessMapView() {
+  public Map<String, ProcessFunction<I, ? extends TBase>> getProcessMapView() {
     return Collections.unmodifiableMap(processMap);
   }
 
@@ -29,7 +29,9 @@
     if (fn == null) {
       TProtocolUtil.skip(in, TType.STRUCT);
       in.readMessageEnd();
-      TApplicationException x = new TApplicationException(TApplicationException.UNKNOWN_METHOD, "Invalid method name: '"+msg.name+"'");
+      TApplicationException x =
+          new TApplicationException(
+              TApplicationException.UNKNOWN_METHOD, "Invalid method name: '" + msg.name + "'");
       out.writeMessageBegin(new TMessage(msg.name, TMessageType.EXCEPTION, msg.seqid));
       x.write(out);
       out.writeMessageEnd();
diff --git a/lib/java/src/main/java/org/apache/thrift/TByteArrayOutputStream.java b/lib/java/src/main/java/org/apache/thrift/TByteArrayOutputStream.java
index 3a2d56c..69bb5ba 100644
--- a/lib/java/src/main/java/org/apache/thrift/TByteArrayOutputStream.java
+++ b/lib/java/src/main/java/org/apache/thrift/TByteArrayOutputStream.java
@@ -22,11 +22,7 @@
 import java.io.ByteArrayOutputStream;
 import java.nio.charset.Charset;
 
-/**
- * Class that allows access to the underlying buf without doing deep
- * copies on it.
- *
- */
+/** Class that allows access to the underlying buf without doing deep copies on it. */
 public class TByteArrayOutputStream extends ByteArrayOutputStream {
 
   private final int initialSize;
diff --git a/lib/java/src/main/java/org/apache/thrift/TConfiguration.java b/lib/java/src/main/java/org/apache/thrift/TConfiguration.java
index b98274a..0391d5b 100644
--- a/lib/java/src/main/java/org/apache/thrift/TConfiguration.java
+++ b/lib/java/src/main/java/org/apache/thrift/TConfiguration.java
@@ -18,84 +18,85 @@
  */
 package org.apache.thrift;
 
-
 public class TConfiguration {
-    public static final int DEFAULT_MAX_MESSAGE_SIZE = 100 * 1024 * 1024;
-    public static final int DEFAULT_MAX_FRAME_SIZE = 16384000;      // this value is used consistently across all Thrift libraries
-    public static final int DEFAULT_RECURSION_DEPTH = 64;
+  public static final int DEFAULT_MAX_MESSAGE_SIZE = 100 * 1024 * 1024;
+  public static final int DEFAULT_MAX_FRAME_SIZE =
+      16384000; // this value is used consistently across all Thrift libraries
+  public static final int DEFAULT_RECURSION_DEPTH = 64;
 
+  private int maxMessageSize;
+  private int maxFrameSize;
+  private int recursionLimit;
+
+  public TConfiguration() {
+    this(DEFAULT_MAX_MESSAGE_SIZE, DEFAULT_MAX_FRAME_SIZE, DEFAULT_RECURSION_DEPTH);
+  }
+
+  public TConfiguration(int maxMessageSize, int maxFrameSize, int recursionLimit) {
+    this.maxFrameSize = maxFrameSize;
+    this.maxMessageSize = maxMessageSize;
+    this.recursionLimit = recursionLimit;
+  }
+
+  public int getMaxMessageSize() {
+    return maxMessageSize;
+  }
+
+  public int getMaxFrameSize() {
+    return maxFrameSize;
+  }
+
+  public int getRecursionLimit() {
+    return recursionLimit;
+  }
+
+  public void setMaxMessageSize(int maxMessageSize) {
+    this.maxMessageSize = maxMessageSize;
+  }
+
+  public void setMaxFrameSize(int maxFrameSize) {
+    this.maxFrameSize = maxFrameSize;
+  }
+
+  public void setRecursionLimit(int recursionLimit) {
+    this.recursionLimit = recursionLimit;
+  }
+
+  public static final TConfiguration DEFAULT = new Builder().build();
+
+  public static TConfiguration.Builder custom() {
+    return new Builder();
+  }
+
+  public static class Builder {
     private int maxMessageSize;
     private int maxFrameSize;
     private int recursionLimit;
 
-    public TConfiguration() {
-        this(DEFAULT_MAX_MESSAGE_SIZE, DEFAULT_MAX_FRAME_SIZE, DEFAULT_RECURSION_DEPTH);
-    }
-    public TConfiguration(int maxMessageSize, int maxFrameSize, int recursionLimit) {
-        this.maxFrameSize = maxFrameSize;
-        this.maxMessageSize = maxMessageSize;
-        this.recursionLimit = recursionLimit;
+    Builder() {
+      super();
+      this.maxFrameSize = DEFAULT_MAX_FRAME_SIZE;
+      this.maxMessageSize = DEFAULT_MAX_MESSAGE_SIZE;
+      this.recursionLimit = DEFAULT_RECURSION_DEPTH;
     }
 
-    public int getMaxMessageSize() {
-        return maxMessageSize;
+    public Builder setMaxMessageSize(int maxMessageSize) {
+      this.maxMessageSize = maxMessageSize;
+      return this;
     }
 
-    public int getMaxFrameSize() {
-        return maxFrameSize;
+    public Builder setMaxFrameSize(int maxFrameSize) {
+      this.maxFrameSize = maxFrameSize;
+      return this;
     }
 
-    public int getRecursionLimit() {
-        return recursionLimit;
+    public Builder setRecursionLimit(int recursionLimit) {
+      this.recursionLimit = recursionLimit;
+      return this;
     }
 
-    public void setMaxMessageSize(int maxMessageSize) {
-        this.maxMessageSize = maxMessageSize;
+    public TConfiguration build() {
+      return new TConfiguration(maxMessageSize, maxFrameSize, recursionLimit);
     }
-
-    public void setMaxFrameSize(int maxFrameSize) {
-        this.maxFrameSize = maxFrameSize;
-    }
-
-    public void setRecursionLimit(int recursionLimit) {
-        this.recursionLimit = recursionLimit;
-    }
-
-    public static final TConfiguration DEFAULT = new Builder().build();
-
-    public static TConfiguration.Builder custom() {
-        return new Builder();
-    }
-
-    public static class Builder {
-        private int maxMessageSize ;
-        private int maxFrameSize;
-        private int recursionLimit ;
-
-        Builder() {
-            super();
-            this.maxFrameSize = DEFAULT_MAX_FRAME_SIZE;
-            this.maxMessageSize = DEFAULT_MAX_MESSAGE_SIZE;
-            this.recursionLimit = DEFAULT_RECURSION_DEPTH;
-        }
-
-        public Builder setMaxMessageSize(int maxMessageSize) {
-            this.maxMessageSize = maxMessageSize;
-            return this;
-        }
-
-        public Builder setMaxFrameSize(int maxFrameSize) {
-            this.maxFrameSize = maxFrameSize;
-            return this;
-        }
-
-        public Builder setRecursionLimit(int recursionLimit) {
-            this.recursionLimit = recursionLimit;
-            return this;
-        }
-
-        public TConfiguration build() {
-            return new TConfiguration(maxMessageSize, maxFrameSize, recursionLimit);
-        }
-    }
+  }
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/TDeserializer.java b/lib/java/src/main/java/org/apache/thrift/TDeserializer.java
index dd63996..1cdc548 100644
--- a/lib/java/src/main/java/org/apache/thrift/TDeserializer.java
+++ b/lib/java/src/main/java/org/apache/thrift/TDeserializer.java
@@ -19,6 +19,9 @@
 
 package org.apache.thrift;
 
+import java.io.UnsupportedEncodingException;
+import java.nio.ByteBuffer;
+import java.util.Collection;
 import org.apache.thrift.meta_data.EnumMetaData;
 import org.apache.thrift.meta_data.StructMetaData;
 import org.apache.thrift.partial.TFieldData;
@@ -38,15 +41,7 @@
 import org.apache.thrift.transport.TMemoryInputTransport;
 import org.apache.thrift.transport.TTransportException;
 
-import java.io.UnsupportedEncodingException;
-import java.nio.ByteBuffer;
-import java.util.Collection;
-
-/**
- * Generic utility for easily deserializing objects from a byte array or Java
- * String.
- *
- */
+/** Generic utility for easily deserializing objects from a byte array or Java String. */
 public class TDeserializer {
   private final TProtocol protocol_;
   private final TMemoryInputTransport trans_;
@@ -67,8 +62,8 @@
   }
 
   /**
-   * Create a new TDeserializer. It will use the TProtocol specified by the
-   * factory that is passed in.
+   * Create a new TDeserializer. It will use the TProtocol specified by the factory that is passed
+   * in.
    *
    * @param protocolFactory Factory to create a protocol
    * @throws TTransportException if there an error initializing the underlying transport.
@@ -79,8 +74,8 @@
   }
 
   /**
-   * Construct a new TDeserializer that supports partial deserialization
-   * that outputs instances of type controlled by the given {@code processor}.
+   * Construct a new TDeserializer that supports partial deserialization that outputs instances of
+   * type controlled by the given {@code processor}.
    *
    * @param thriftClass a TBase derived class.
    * @param fieldNames list of fields to deserialize.
@@ -91,7 +86,8 @@
       Class<? extends TBase> thriftClass,
       Collection<String> fieldNames,
       ThriftFieldValueProcessor processor,
-      TProtocolFactory protocolFactory) throws TTransportException {
+      TProtocolFactory protocolFactory)
+      throws TTransportException {
     this(protocolFactory);
 
     Validate.checkNotNull(thriftClass, "thriftClass");
@@ -103,8 +99,8 @@
   }
 
   /**
-   * Construct a new TDeserializer that supports partial deserialization
-   * that outputs {@code TBase} instances.
+   * Construct a new TDeserializer that supports partial deserialization that outputs {@code TBase}
+   * instances.
    *
    * @param thriftClass a TBase derived class.
    * @param fieldNames list of fields to deserialize.
@@ -113,7 +109,8 @@
   public TDeserializer(
       Class<? extends TBase> thriftClass,
       Collection<String> fieldNames,
-      TProtocolFactory protocolFactory) throws TTransportException {
+      TProtocolFactory protocolFactory)
+      throws TTransportException {
     this(thriftClass, fieldNames, new ThriftStructProcessor(), protocolFactory);
   }
 
@@ -134,7 +131,7 @@
    * @throws TException if an error is encountered during deserialization.
    */
   public void deserialize(TBase base, byte[] bytes) throws TException {
-      deserialize(base, bytes, 0, bytes.length);
+    deserialize(base, bytes, 0, bytes.length);
   }
 
   /**
@@ -161,8 +158,7 @@
   }
 
   /**
-   * Deserialize the Thrift object from a Java string, using a specified
-   * character set for decoding.
+   * Deserialize the Thrift object from a Java string, using a specified character set for decoding.
    *
    * @param base The object to read into
    * @param data The string to read from
@@ -180,15 +176,18 @@
   }
 
   /**
-   * Deserialize only a single Thrift object (addressed by recursively using field id)
-   * from a byte record.
+   * Deserialize only a single Thrift object (addressed by recursively using field id) from a byte
+   * record.
+   *
    * @param tb The object to read into
    * @param bytes The serialized object to read from
    * @param fieldIdPathFirst First of the FieldId's that define a path tb
    * @param fieldIdPathRest The rest FieldId's that define a path tb
    * @throws TException if an error is encountered during deserialization.
    */
-  public void partialDeserialize(TBase tb, byte[] bytes, TFieldIdEnum fieldIdPathFirst, TFieldIdEnum ... fieldIdPathRest) throws TException {
+  public void partialDeserialize(
+      TBase tb, byte[] bytes, TFieldIdEnum fieldIdPathFirst, TFieldIdEnum... fieldIdPathRest)
+      throws TException {
     try {
       if (locateField(bytes, fieldIdPathFirst, fieldIdPathRest) != null) {
         // if this line is reached, iprot will be positioned at the start of tb.
@@ -203,123 +202,143 @@
   }
 
   /**
-   * Deserialize only a boolean field (addressed by recursively using field id)
-   * from a byte record.
+   * Deserialize only a boolean field (addressed by recursively using field id) from a byte record.
+   *
    * @param bytes The serialized object to read from
    * @param fieldIdPathFirst First of the FieldId's that define a path to a boolean field
    * @param fieldIdPathRest The rest FieldId's that define a path to a boolean field
    * @return the deserialized value.
    * @throws TException if an error is encountered during deserialization.
    */
-  public Boolean partialDeserializeBool(byte[] bytes, TFieldIdEnum fieldIdPathFirst, TFieldIdEnum ... fieldIdPathRest) throws TException {
+  public Boolean partialDeserializeBool(
+      byte[] bytes, TFieldIdEnum fieldIdPathFirst, TFieldIdEnum... fieldIdPathRest)
+      throws TException {
     return (Boolean) partialDeserializeField(TType.BOOL, bytes, fieldIdPathFirst, fieldIdPathRest);
   }
 
   /**
-   * Deserialize only a byte field (addressed by recursively using field id)
-   * from a byte record.
+   * Deserialize only a byte field (addressed by recursively using field id) from a byte record.
+   *
    * @param bytes The serialized object to read from
    * @param fieldIdPathFirst First of the FieldId's that define a path to a byte field
    * @param fieldIdPathRest The rest FieldId's that define a path to a byte field
    * @return the deserialized value.
    * @throws TException if an error is encountered during deserialization.
    */
-  public Byte partialDeserializeByte(byte[] bytes, TFieldIdEnum fieldIdPathFirst, TFieldIdEnum ... fieldIdPathRest) throws TException {
+  public Byte partialDeserializeByte(
+      byte[] bytes, TFieldIdEnum fieldIdPathFirst, TFieldIdEnum... fieldIdPathRest)
+      throws TException {
     return (Byte) partialDeserializeField(TType.BYTE, bytes, fieldIdPathFirst, fieldIdPathRest);
   }
 
   /**
-   * Deserialize only a double field (addressed by recursively using field id)
-   * from a byte record.
+   * Deserialize only a double field (addressed by recursively using field id) from a byte record.
+   *
    * @param bytes The serialized object to read from
    * @param fieldIdPathFirst First of the FieldId's that define a path to a double field
    * @param fieldIdPathRest The rest FieldId's that define a path to a double field
    * @return the deserialized value.
    * @throws TException if an error is encountered during deserialization.
    */
-  public Double partialDeserializeDouble(byte[] bytes, TFieldIdEnum fieldIdPathFirst, TFieldIdEnum ... fieldIdPathRest) throws TException {
+  public Double partialDeserializeDouble(
+      byte[] bytes, TFieldIdEnum fieldIdPathFirst, TFieldIdEnum... fieldIdPathRest)
+      throws TException {
     return (Double) partialDeserializeField(TType.DOUBLE, bytes, fieldIdPathFirst, fieldIdPathRest);
   }
 
   /**
-   * Deserialize only an i16 field (addressed by recursively using field id)
-   * from a byte record.
+   * Deserialize only an i16 field (addressed by recursively using field id) from a byte record.
+   *
    * @param bytes The serialized object to read from
    * @param fieldIdPathFirst First of the FieldId's that define a path to an i16 field
    * @param fieldIdPathRest The rest FieldId's that define a path to an i16 field
    * @return the deserialized value.
    * @throws TException if an error is encountered during deserialization.
    */
-  public Short partialDeserializeI16(byte[] bytes, TFieldIdEnum fieldIdPathFirst, TFieldIdEnum ... fieldIdPathRest) throws TException {
+  public Short partialDeserializeI16(
+      byte[] bytes, TFieldIdEnum fieldIdPathFirst, TFieldIdEnum... fieldIdPathRest)
+      throws TException {
     return (Short) partialDeserializeField(TType.I16, bytes, fieldIdPathFirst, fieldIdPathRest);
   }
 
   /**
-   * Deserialize only an i32 field (addressed by recursively using field id)
-   * from a byte record.
+   * Deserialize only an i32 field (addressed by recursively using field id) from a byte record.
+   *
    * @param bytes The serialized object to read from
    * @param fieldIdPathFirst First of the FieldId's that define a path to an i32 field
    * @param fieldIdPathRest The rest FieldId's that define a path to an i32 field
    * @return the deserialized value.
    * @throws TException if an error is encountered during deserialization.
    */
-  public Integer partialDeserializeI32(byte[] bytes, TFieldIdEnum fieldIdPathFirst, TFieldIdEnum ... fieldIdPathRest) throws TException {
+  public Integer partialDeserializeI32(
+      byte[] bytes, TFieldIdEnum fieldIdPathFirst, TFieldIdEnum... fieldIdPathRest)
+      throws TException {
     return (Integer) partialDeserializeField(TType.I32, bytes, fieldIdPathFirst, fieldIdPathRest);
   }
 
   /**
-   * Deserialize only an i64 field (addressed by recursively using field id)
-   * from a byte record.
+   * Deserialize only an i64 field (addressed by recursively using field id) from a byte record.
+   *
    * @param bytes The serialized object to read from
    * @param fieldIdPathFirst First of the FieldId's that define a path to an i64 field
    * @param fieldIdPathRest The rest FieldId's that define a path to an i64 field
    * @return the deserialized value.
    * @throws TException if an error is encountered during deserialization.
    */
-  public Long partialDeserializeI64(byte[] bytes, TFieldIdEnum fieldIdPathFirst, TFieldIdEnum ... fieldIdPathRest) throws TException {
+  public Long partialDeserializeI64(
+      byte[] bytes, TFieldIdEnum fieldIdPathFirst, TFieldIdEnum... fieldIdPathRest)
+      throws TException {
     return (Long) partialDeserializeField(TType.I64, bytes, fieldIdPathFirst, fieldIdPathRest);
   }
 
   /**
-   * Deserialize only a string field (addressed by recursively using field id)
-   * from a byte record.
+   * Deserialize only a string field (addressed by recursively using field id) from a byte record.
+   *
    * @param bytes The serialized object to read from
    * @param fieldIdPathFirst First of the FieldId's that define a path to a string field
    * @param fieldIdPathRest The rest FieldId's that define a path to a string field
    * @return the deserialized value.
    * @throws TException if an error is encountered during deserialization.
    */
-  public String partialDeserializeString(byte[] bytes, TFieldIdEnum fieldIdPathFirst, TFieldIdEnum ... fieldIdPathRest) throws TException {
+  public String partialDeserializeString(
+      byte[] bytes, TFieldIdEnum fieldIdPathFirst, TFieldIdEnum... fieldIdPathRest)
+      throws TException {
     return (String) partialDeserializeField(TType.STRING, bytes, fieldIdPathFirst, fieldIdPathRest);
   }
 
   /**
-   * Deserialize only a binary field (addressed by recursively using field id)
-   * from a byte record.
+   * Deserialize only a binary field (addressed by recursively using field id) from a byte record.
+   *
    * @param bytes The serialized object to read from
    * @param fieldIdPathFirst First of the FieldId's that define a path to a binary field
    * @param fieldIdPathRest The rest FieldId's that define a path to a binary field
    * @return the deserialized value.
    * @throws TException if an error is encountered during deserialization.
    */
-  public ByteBuffer partialDeserializeByteArray(byte[] bytes, TFieldIdEnum fieldIdPathFirst, TFieldIdEnum ... fieldIdPathRest) throws TException {
+  public ByteBuffer partialDeserializeByteArray(
+      byte[] bytes, TFieldIdEnum fieldIdPathFirst, TFieldIdEnum... fieldIdPathRest)
+      throws TException {
     // TType does not have binary, so we use the arbitrary num 100
-    return (ByteBuffer) partialDeserializeField((byte)100, bytes, fieldIdPathFirst, fieldIdPathRest);
+    return (ByteBuffer)
+        partialDeserializeField((byte) 100, bytes, fieldIdPathFirst, fieldIdPathRest);
   }
 
   /**
    * Deserialize only the id of the field set in a TUnion (addressed by recursively using field id)
    * from a byte record.
+   *
    * @param bytes The serialized object to read from
    * @param fieldIdPathFirst First of the FieldId's that define a path to a TUnion
    * @param fieldIdPathRest The rest FieldId's that define a path to a TUnion
    * @return the deserialized value.
    * @throws TException if an error is encountered during deserialization.
    */
-  public Short partialDeserializeSetFieldIdInUnion(byte[] bytes, TFieldIdEnum fieldIdPathFirst, TFieldIdEnum ... fieldIdPathRest)  throws TException {
+  public Short partialDeserializeSetFieldIdInUnion(
+      byte[] bytes, TFieldIdEnum fieldIdPathFirst, TFieldIdEnum... fieldIdPathRest)
+      throws TException {
     try {
       TField field = locateField(bytes, fieldIdPathFirst, fieldIdPathRest);
-      if (field != null){
+      if (field != null) {
         protocol_.readStructBegin(); // The Union
         return protocol_.readFieldBegin().id; // The field set in the union
       }
@@ -332,7 +351,9 @@
     }
   }
 
-  private Object partialDeserializeField(byte ttype, byte[] bytes, TFieldIdEnum fieldIdPathFirst, TFieldIdEnum ... fieldIdPathRest) throws TException {
+  private Object partialDeserializeField(
+      byte ttype, byte[] bytes, TFieldIdEnum fieldIdPathFirst, TFieldIdEnum... fieldIdPathRest)
+      throws TException {
     try {
       TField field = locateField(bytes, fieldIdPathFirst, fieldIdPathRest);
       if (field != null) {
@@ -340,22 +361,22 @@
           // if this point is reached, iprot will be positioned at the start of
           // the field
           switch (ttype) {
-          case TType.BOOL:
-            return protocol_.readBool();
-          case TType.BYTE:
-            return protocol_.readByte();
-          case TType.DOUBLE:
-            return protocol_.readDouble();
-          case TType.I16:
-            return protocol_.readI16();
-          case TType.I32:
-            return protocol_.readI32();
-          case TType.I64:
-            return protocol_.readI64();
-          case TType.STRING:
-            return protocol_.readString();
-          default:
-            return null;
+            case TType.BOOL:
+              return protocol_.readBool();
+            case TType.BYTE:
+              return protocol_.readByte();
+            case TType.DOUBLE:
+              return protocol_.readDouble();
+            case TType.I16:
+              return protocol_.readI16();
+            case TType.I32:
+              return protocol_.readI32();
+            case TType.I64:
+              return protocol_.readI64();
+            case TType.STRING:
+              return protocol_.readString();
+            default:
+              return null;
           }
         }
         // hack to differentiate between string and binary
@@ -372,7 +393,9 @@
     }
   }
 
-  private TField locateField(byte[] bytes, TFieldIdEnum fieldIdPathFirst, TFieldIdEnum ... fieldIdPathRest) throws TException {
+  private TField locateField(
+      byte[] bytes, TFieldIdEnum fieldIdPathFirst, TFieldIdEnum... fieldIdPathRest)
+      throws TException {
     trans_.reset(bytes);
 
     TFieldIdEnum[] fieldIdPath = new TFieldIdEnum[fieldIdPathRest.length + 1];
@@ -412,8 +435,7 @@
   }
 
   /**
-   * Deserialize the Thrift object from a Java string, using the default JVM
-   * charset encoding.
+   * Deserialize the Thrift object from a Java string, using the default JVM charset encoding.
    *
    * @param base The object to read into
    * @param data The string to read from
@@ -569,9 +591,7 @@
   }
 
   private void deserializeStructField(
-      Object instance,
-      TFieldIdEnum fieldId,
-      ThriftMetadata.ThriftObject data) throws TException {
+      Object instance, TFieldIdEnum fieldId, ThriftMetadata.ThriftObject data) throws TException {
 
     byte fieldType = data.data.valueMetaData.type;
     Object value;
@@ -695,8 +715,7 @@
   private void ensurePartialDeserializationMode() throws IllegalStateException {
     if (!this.isPartialDeserializationMode()) {
       throw new IllegalStateException(
-          "Members metadata and processor must be correctly initialized in order to use this method"
-      );
+          "Members metadata and processor must be correctly initialized in order to use this method");
     }
   }
 
@@ -705,8 +724,7 @@
 
     if (!(this.processor_ instanceof ThriftStructProcessor)) {
       throw new IllegalStateException(
-          "processor must be an instance of ThriftStructProcessor to use this method"
-      );
+          "processor must be an instance of ThriftStructProcessor to use this method");
     }
   }
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/TEnumHelper.java b/lib/java/src/main/java/org/apache/thrift/TEnumHelper.java
index fbc7787..84aa82e 100644
--- a/lib/java/src/main/java/org/apache/thrift/TEnumHelper.java
+++ b/lib/java/src/main/java/org/apache/thrift/TEnumHelper.java
@@ -19,27 +19,20 @@
 
 package org.apache.thrift;
 
-import java.lang.NoSuchMethodException;
-import java.lang.IllegalAccessException;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 
-/**
- * Utility class with static methods for interacting with TEnum
- */
+/** Utility class with static methods for interacting with TEnum */
 public class TEnumHelper {
 
   /**
-   * Given a TEnum class and integer value, this method will return
-   * the associated constant from the given TEnum class.
-   * This method MUST be modified should the name of the 'findByValue' method
+   * Given a TEnum class and integer value, this method will return the associated constant from the
+   * given TEnum class. This method MUST be modified should the name of the 'findByValue' method
    * change.
    *
    * @param enumClass TEnum from which to return a matching constant.
    * @param value Value for which to return the constant.
-   *
-   * @return The constant in 'enumClass' whose value is 'value' or null if
-   *         something went wrong.
+   * @return The constant in 'enumClass' whose value is 'value' or null if something went wrong.
    */
   public static TEnum getByValue(Class<? extends TEnum> enumClass, int value) {
     try {
diff --git a/lib/java/src/main/java/org/apache/thrift/TException.java b/lib/java/src/main/java/org/apache/thrift/TException.java
index f84f481..b2273d9 100644
--- a/lib/java/src/main/java/org/apache/thrift/TException.java
+++ b/lib/java/src/main/java/org/apache/thrift/TException.java
@@ -19,10 +19,7 @@
 
 package org.apache.thrift;
 
-/**
- * Generic exception class for Thrift.
- *
- */
+/** Generic exception class for Thrift. */
 public class TException extends Exception {
 
   private static final long serialVersionUID = 1L;
diff --git a/lib/java/src/main/java/org/apache/thrift/TFieldIdEnum.java b/lib/java/src/main/java/org/apache/thrift/TFieldIdEnum.java
index 20b845e..f270630 100644
--- a/lib/java/src/main/java/org/apache/thrift/TFieldIdEnum.java
+++ b/lib/java/src/main/java/org/apache/thrift/TFieldIdEnum.java
@@ -18,9 +18,7 @@
  */
 package org.apache.thrift;
 
-/**
- * Interface for all generated struct Fields objects.
- */
+/** Interface for all generated struct Fields objects. */
 public interface TFieldIdEnum {
   /**
    * Gets the Thrift field id for the named field.
diff --git a/lib/java/src/main/java/org/apache/thrift/TFieldRequirementType.java b/lib/java/src/main/java/org/apache/thrift/TFieldRequirementType.java
index 74bac4e..065cdfc 100644
--- a/lib/java/src/main/java/org/apache/thrift/TFieldRequirementType.java
+++ b/lib/java/src/main/java/org/apache/thrift/TFieldRequirementType.java
@@ -19,12 +19,9 @@
 
 package org.apache.thrift;
 
-/**
- * Requirement type constants.
- *
- */
+/** Requirement type constants. */
 public final class TFieldRequirementType {
-  public static final byte REQUIRED  = 1;
+  public static final byte REQUIRED = 1;
   public static final byte OPTIONAL = 2;
   public static final byte DEFAULT = 3;
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/TMultiplexedProcessor.java b/lib/java/src/main/java/org/apache/thrift/TMultiplexedProcessor.java
index d797a60..28ae138 100644
--- a/lib/java/src/main/java/org/apache/thrift/TMultiplexedProcessor.java
+++ b/lib/java/src/main/java/org/apache/thrift/TMultiplexedProcessor.java
@@ -19,19 +19,20 @@
 
 package org.apache.thrift;
 
+import java.util.HashMap;
+import java.util.Map;
 import org.apache.thrift.protocol.*;
 
-import java.util.Map;
-import java.util.HashMap;
-
 /**
- * <code>TMultiplexedProcessor</code> is a <code>TProcessor</code> allowing
- * a single <code>TServer</code> to provide multiple services.
+ * <code>TMultiplexedProcessor</code> is a <code>TProcessor</code> allowing a single <code>TServer
+ * </code> to provide multiple services.
  *
- * <p>To do so, you instantiate the processor and then register additional
- * processors with it, as shown in the following example:</p>
+ * <p>To do so, you instantiate the processor and then register additional processors with it, as
+ * shown in the following example:
  *
- * <blockquote><code>
+ * <blockquote>
+ *
+ * <code>
  *     TMultiplexedProcessor processor = new TMultiplexedProcessor();
  *
  *     processor.registerProcessor(
@@ -46,113 +47,121 @@
  *     TSimpleServer server = new TSimpleServer(processor, t);
  *
  *     server.serve();
- * </code></blockquote>
+ * </code>
+ *
+ * </blockquote>
  */
 public class TMultiplexedProcessor implements TProcessor {
 
-    private final Map<String,TProcessor> SERVICE_PROCESSOR_MAP
-            = new HashMap<String,TProcessor>();
-    private TProcessor defaultProcessor;
+  private final Map<String, TProcessor> SERVICE_PROCESSOR_MAP = new HashMap<String, TProcessor>();
+  private TProcessor defaultProcessor;
 
-    /**
-     * 'Register' a service with this <code>TMultiplexedProcessor</code>.  This
-     * allows us to broker requests to individual services by using the service
-     * name to select them at request time.
-     *
-     * @param serviceName Name of a service, has to be identical to the name
-     * declared in the Thrift IDL, e.g. "WeatherReport".
-     * @param processor Implementation of a service, usually referred to
-     * as "handlers", e.g. WeatherReportHandler implementing WeatherReport.Iface.
-     */
-    public void registerProcessor(String serviceName, TProcessor processor) {
-        SERVICE_PROCESSOR_MAP.put(serviceName, processor);
+  /**
+   * 'Register' a service with this <code>TMultiplexedProcessor</code>. This allows us to broker
+   * requests to individual services by using the service name to select them at request time.
+   *
+   * @param serviceName Name of a service, has to be identical to the name declared in the Thrift
+   *     IDL, e.g. "WeatherReport".
+   * @param processor Implementation of a service, usually referred to as "handlers", e.g.
+   *     WeatherReportHandler implementing WeatherReport.Iface.
+   */
+  public void registerProcessor(String serviceName, TProcessor processor) {
+    SERVICE_PROCESSOR_MAP.put(serviceName, processor);
+  }
+
+  /**
+   * Register a service to be called to process queries without service name
+   *
+   * @param processor the service to be called.
+   */
+  public void registerDefault(TProcessor processor) {
+    defaultProcessor = processor;
+  }
+
+  /**
+   * This implementation of <code>process</code> performs the following steps:
+   *
+   * <ol>
+   *   <li>Read the beginning of the message.
+   *   <li>Extract the service name from the message.
+   *   <li>Using the service name to locate the appropriate processor.
+   *   <li>Dispatch to the processor, with a decorated instance of TProtocol that allows
+   *       readMessageBegin() to return the original TMessage.
+   * </ol>
+   *
+   * @throws TProtocolException If the message type is not CALL or ONEWAY, if the service name was
+   *     not found in the message, or if the service name was not found in the service map. You
+   *     called {@link #registerProcessor(String, TProcessor) registerProcessor} during
+   *     initialization, right? :)
+   */
+  public void process(TProtocol iprot, TProtocol oprot) throws TException {
+    /*
+        Use the actual underlying protocol (e.g. TBinaryProtocol) to read the
+        message header.  This pulls the message "off the wire", which we'll
+        deal with at the end of this method.
+    */
+    TMessage message = iprot.readMessageBegin();
+
+    if (message.type != TMessageType.CALL && message.type != TMessageType.ONEWAY) {
+      throw new TProtocolException(
+          TProtocolException.NOT_IMPLEMENTED, "This should not have happened!?");
     }
 
-    /**
-     * Register a service to be called to process queries without service name
-     * @param processor the service to be called.
-     */
-    public void registerDefault(TProcessor processor) {
-        defaultProcessor = processor;
-    }
-
-    /**
-     * This implementation of <code>process</code> performs the following steps:
-     *
-     * <ol>
-     *     <li>Read the beginning of the message.</li>
-     *     <li>Extract the service name from the message.</li>
-     *     <li>Using the service name to locate the appropriate processor.</li>
-     *     <li>Dispatch to the processor, with a decorated instance of TProtocol
-     *         that allows readMessageBegin() to return the original TMessage.</li>
-     * </ol>
-     *
-     * @throws TProtocolException If the message type is not CALL or ONEWAY, if
-     * the service name was not found in the message, or if the service
-     * name was not found in the service map.  You called {@link #registerProcessor(String, TProcessor) registerProcessor}
-     * during initialization, right? :)
-     */
-    public void process(TProtocol iprot, TProtocol oprot) throws TException {
-        /*
-            Use the actual underlying protocol (e.g. TBinaryProtocol) to read the
-            message header.  This pulls the message "off the wire", which we'll
-            deal with at the end of this method.
-        */
-        TMessage message = iprot.readMessageBegin();
-
-        if (message.type != TMessageType.CALL && message.type != TMessageType.ONEWAY) {
-            throw new TProtocolException(TProtocolException.NOT_IMPLEMENTED,
-                "This should not have happened!?");
-        }
-
-        // Extract the service name
-        int index = message.name.indexOf(TMultiplexedProtocol.SEPARATOR);
-        if (index < 0) {
-          if (defaultProcessor != null) {
-                // Dispatch processing to the stored processor
-                defaultProcessor.process(new StoredMessageProtocol(iprot, message), oprot);
-                return;
-          }
-            throw new TProtocolException(TProtocolException.NOT_IMPLEMENTED,
-                "Service name not found in message name: " + message.name + ".  Did you " +
-                "forget to use a TMultiplexProtocol in your client?");
-        }
-
-        // Create a new TMessage, something that can be consumed by any TProtocol
-        String serviceName = message.name.substring(0, index);
-        TProcessor actualProcessor = SERVICE_PROCESSOR_MAP.get(serviceName);
-        if (actualProcessor == null) {
-            throw new TProtocolException(TProtocolException.NOT_IMPLEMENTED,
-                "Service name not found: " + serviceName + ".  Did you forget " +
-                "to call registerProcessor()?");
-        }
-
-        // Create a new TMessage, removing the service name
-        TMessage standardMessage = new TMessage(
-                message.name.substring(serviceName.length()+TMultiplexedProtocol.SEPARATOR.length()),
-                message.type,
-                message.seqid
-        );
-
+    // Extract the service name
+    int index = message.name.indexOf(TMultiplexedProtocol.SEPARATOR);
+    if (index < 0) {
+      if (defaultProcessor != null) {
         // Dispatch processing to the stored processor
-        actualProcessor.process(new StoredMessageProtocol(iprot, standardMessage), oprot);
+        defaultProcessor.process(new StoredMessageProtocol(iprot, message), oprot);
+        return;
+      }
+      throw new TProtocolException(
+          TProtocolException.NOT_IMPLEMENTED,
+          "Service name not found in message name: "
+              + message.name
+              + ".  Did you "
+              + "forget to use a TMultiplexProtocol in your client?");
     }
 
-    /**
-     *  Our goal was to work with any protocol.  In order to do that, we needed
-     *  to allow them to call readMessageBegin() and get a TMessage in exactly
-     *  the standard format, without the service name prepended to TMessage.name.
-     */
-    private static class StoredMessageProtocol extends TProtocolDecorator {
-        TMessage messageBegin;
-        public StoredMessageProtocol(TProtocol protocol, TMessage messageBegin) {
-            super(protocol);
-            this.messageBegin = messageBegin;
-        }
-        @Override
-        public TMessage readMessageBegin() throws TException {
-            return messageBegin;
-        }
+    // Create a new TMessage, something that can be consumed by any TProtocol
+    String serviceName = message.name.substring(0, index);
+    TProcessor actualProcessor = SERVICE_PROCESSOR_MAP.get(serviceName);
+    if (actualProcessor == null) {
+      throw new TProtocolException(
+          TProtocolException.NOT_IMPLEMENTED,
+          "Service name not found: "
+              + serviceName
+              + ".  Did you forget "
+              + "to call registerProcessor()?");
     }
 
+    // Create a new TMessage, removing the service name
+    TMessage standardMessage =
+        new TMessage(
+            message.name.substring(serviceName.length() + TMultiplexedProtocol.SEPARATOR.length()),
+            message.type,
+            message.seqid);
+
+    // Dispatch processing to the stored processor
+    actualProcessor.process(new StoredMessageProtocol(iprot, standardMessage), oprot);
+  }
+
+  /**
+   * Our goal was to work with any protocol. In order to do that, we needed to allow them to call
+   * readMessageBegin() and get a TMessage in exactly the standard format, without the service name
+   * prepended to TMessage.name.
+   */
+  private static class StoredMessageProtocol extends TProtocolDecorator {
+    TMessage messageBegin;
+
+    public StoredMessageProtocol(TProtocol protocol, TMessage messageBegin) {
+      super(protocol);
+      this.messageBegin = messageBegin;
+    }
+
+    @Override
+    public TMessage readMessageBegin() throws TException {
+      return messageBegin;
+    }
+  }
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/TNonblockingMultiFetchClient.java b/lib/java/src/main/java/org/apache/thrift/TNonblockingMultiFetchClient.java
index 13e8031..034cc85 100644
--- a/lib/java/src/main/java/org/apache/thrift/TNonblockingMultiFetchClient.java
+++ b/lib/java/src/main/java/org/apache/thrift/TNonblockingMultiFetchClient.java
@@ -1,25 +1,23 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ * with the License. You may obtain a copy of the License at
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
+ *   http://www.apache.org/licenses/LICENSE-2.0
  *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 package org.apache.thrift;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import java.io.IOException;
 import java.net.InetSocketAddress;
 import java.nio.ByteBuffer;
@@ -35,49 +33,39 @@
 import java.util.concurrent.FutureTask;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
-
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
- * This class uses a single thread to set up non-blocking sockets to a set
- * of remote servers (hostname and port pairs), and sends a same request to
- * all these servers. It then fetches responses from servers.
+ * This class uses a single thread to set up non-blocking sockets to a set of remote servers
+ * (hostname and port pairs), and sends a same request to all these servers. It then fetches
+ * responses from servers.
  *
- * Parameters:
- *   int maxRecvBufBytesPerServer - an upper limit for receive buffer size
- * per server (in byte). If a response from a server exceeds this limit, the
- * client will not allocate memory or read response data for it.
+ * <p>Parameters: int maxRecvBufBytesPerServer - an upper limit for receive buffer size per server
+ * (in byte). If a response from a server exceeds this limit, the client will not allocate memory or
+ * read response data for it.
  *
- *   int fetchTimeoutSeconds - time limit for fetching responses from all
- * servers (in second). After the timeout, the fetch job is stopped and
- * available responses are returned.
+ * <p>int fetchTimeoutSeconds - time limit for fetching responses from all servers (in second).
+ * After the timeout, the fetch job is stopped and available responses are returned.
  *
- *   ByteBuffer requestBuf - request message that is sent to all servers.
+ * <p>ByteBuffer requestBuf - request message that is sent to all servers.
  *
- * Output:
- *   Responses are stored in an array of ByteBuffers. Index of elements in
- * this array corresponds to index of servers in the server list. Content in
- * a ByteBuffer may be in one of the following forms:
- *   1. First 4 bytes form an integer indicating length of following data,
- * then followed by the data.
- *   2. First 4 bytes form an integer indicating length of following data,
- * then followed by nothing - this happens when the response data size
- * exceeds maxRecvBufBytesPerServer, and the client will not read any
- * response data.
- *   3. No data in the ByteBuffer - this happens when the server does not
- * return any response within fetchTimeoutSeconds.
+ * <p>Output: Responses are stored in an array of ByteBuffers. Index of elements in this array
+ * corresponds to index of servers in the server list. Content in a ByteBuffer may be in one of the
+ * following forms: 1. First 4 bytes form an integer indicating length of following data, then
+ * followed by the data. 2. First 4 bytes form an integer indicating length of following data, then
+ * followed by nothing - this happens when the response data size exceeds maxRecvBufBytesPerServer,
+ * and the client will not read any response data. 3. No data in the ByteBuffer - this happens when
+ * the server does not return any response within fetchTimeoutSeconds.
  *
- *   In some special cases (no servers are given, fetchTimeoutSeconds less
- * than or equal to 0, requestBuf is null), the return is null.
+ * <p>In some special cases (no servers are given, fetchTimeoutSeconds less than or equal to 0,
+ * requestBuf is null), the return is null.
  *
- * Note:
- *   It assumes all remote servers are TNonblockingServers and use
- * TFramedTransport.
- *
+ * <p>Note: It assumes all remote servers are TNonblockingServers and use TFramedTransport.
  */
 public class TNonblockingMultiFetchClient {
 
-  private static final Logger LOGGER = LoggerFactory.getLogger(
-    TNonblockingMultiFetchClient.class);
+  private static final Logger LOGGER = LoggerFactory.getLogger(TNonblockingMultiFetchClient.class);
 
   // if the size of the response msg exceeds this limit (in byte), we will
   // not read the msg
@@ -97,9 +85,11 @@
   private TNonblockingMultiFetchStats stats;
   private ByteBuffer[] recvBuf;
 
-  public TNonblockingMultiFetchClient(int maxRecvBufBytesPerServer,
-    int fetchTimeoutSeconds, ByteBuffer requestBuf,
-    List<InetSocketAddress> servers) {
+  public TNonblockingMultiFetchClient(
+      int maxRecvBufBytesPerServer,
+      int fetchTimeoutSeconds,
+      ByteBuffer requestBuf,
+      List<InetSocketAddress> servers) {
     this.maxRecvBufBytesPerServer = maxRecvBufBytesPerServer;
     this.fetchTimeoutSeconds = fetchTimeoutSeconds;
     this.requestBuf = requestBuf;
@@ -154,8 +144,7 @@
     recvBuf = null;
     stats.clear();
 
-    if (servers == null || servers.size() == 0 ||
-        requestBuf == null || fetchTimeoutSeconds <= 0) {
+    if (servers == null || servers.size() == 0 || requestBuf == null || fetchTimeoutSeconds <= 0) {
       return recvBuf;
     }
 
@@ -185,9 +174,8 @@
   }
 
   /**
-   * Private class that does real fetch job.
-   * Users are not allowed to directly use this class, as its run()
-   * function may run forever.
+   * Private class that does real fetch job. Users are not allowed to directly use this class, as
+   * its run() function may run forever.
    */
   private class MultiFetch implements Runnable {
     private Selector selector;
@@ -195,11 +183,11 @@
     /**
      * main entry function for fetching.
      *
-     * Server responses are stored in TNonblocingMultiFetchClient.recvBuf,
-     * and fetch statistics is in TNonblockingMultiFetchClient.stats.
+     * <p>Server responses are stored in TNonblocingMultiFetchClient.recvBuf, and fetch statistics
+     * is in TNonblockingMultiFetchClient.stats.
      *
-     * Sanity check for parameters has been done in
-     * TNonblockingMultiFetchClient before calling this function.
+     * <p>Sanity check for parameters has been done in TNonblockingMultiFetchClient before calling
+     * this function.
      */
     public void run() {
       long t1 = System.currentTimeMillis();
@@ -208,7 +196,7 @@
       stats.setNumTotalServers(numTotalServers);
 
       // buffer for receiving response from servers
-      recvBuf                     = new ByteBuffer[numTotalServers];
+      recvBuf = new ByteBuffer[numTotalServers];
       // buffer for sending request
       ByteBuffer[] sendBuf = new ByteBuffer[numTotalServers];
       long[] numBytesRead = new long[numTotalServers];
@@ -246,23 +234,26 @@
 
           // free resource
           if (s != null) {
-            try {s.close();} catch (Exception ex) {}
+            try {
+              s.close();
+            } catch (Exception ex) {
+            }
           }
           if (key != null) {
-             key.cancel();
+            key.cancel();
           }
         }
       }
 
       // wait for events
-      while (stats.getNumReadCompletedServers() +
-        stats.getNumConnectErrorServers() < stats.getNumTotalServers()) {
+      while (stats.getNumReadCompletedServers() + stats.getNumConnectErrorServers()
+          < stats.getNumTotalServers()) {
         // if the thread is interrupted (e.g., task is cancelled)
         if (Thread.currentThread().isInterrupted()) {
           return;
         }
 
-        try{
+        try {
           selector.select();
         } catch (Exception e) {
           LOGGER.error("Selector selects error", e);
@@ -275,13 +266,13 @@
           it.remove();
 
           // get previously attached index
-          int index = (Integer)selKey.attachment();
+          int index = (Integer) selKey.attachment();
 
           if (selKey.isValid() && selKey.isConnectable()) {
             // if this socket throws an exception (e.g., connection refused),
             // print error msg and skip it.
             try {
-              SocketChannel sChannel = (SocketChannel)selKey.channel();
+              SocketChannel sChannel = (SocketChannel) selKey.channel();
               sChannel.finishConnect();
             } catch (Exception e) {
               stats.incNumConnectErrorServers();
@@ -294,7 +285,7 @@
               // if this socket throws an exception, print error msg and
               // skip it.
               try {
-                SocketChannel sChannel = (SocketChannel)selKey.channel();
+                SocketChannel sChannel = (SocketChannel) selKey.channel();
                 sChannel.write(sendBuf[index]);
               } catch (Exception e) {
                 LOGGER.error("Socket {} writes to server {} error", index, servers.get(index), e);
@@ -306,34 +297,38 @@
             // if this socket throws an exception, print error msg and
             // skip it.
             try {
-              SocketChannel sChannel = (SocketChannel)selKey.channel();
+              SocketChannel sChannel = (SocketChannel) selKey.channel();
               int bytesRead = sChannel.read(recvBuf[index]);
 
               if (bytesRead > 0) {
                 numBytesRead[index] += bytesRead;
 
-                if (!hasReadFrameSize[index] &&
-                    recvBuf[index].remaining()==0) {
+                if (!hasReadFrameSize[index] && recvBuf[index].remaining() == 0) {
                   // if the frame size has been read completely, then prepare
                   // to read the actual frame.
                   frameSize[index] = recvBuf[index].getInt(0);
 
                   if (frameSize[index] <= 0) {
                     stats.incNumInvalidFrameSize();
-                    LOGGER.error("Read an invalid frame size {} from {}. Does the server use TFramedTransport?",
-                        frameSize[index], servers.get(index));
+                    LOGGER.error(
+                        "Read an invalid frame size {} from {}. Does the server use TFramedTransport?",
+                        frameSize[index],
+                        servers.get(index));
                     sChannel.close();
                     continue;
                   }
 
                   if (frameSize[index] + 4 > stats.getMaxResponseBytes()) {
-                    stats.setMaxResponseBytes(frameSize[index]+4);
+                    stats.setMaxResponseBytes(frameSize[index] + 4);
                   }
 
                   if (frameSize[index] + 4 > maxRecvBufBytesPerServer) {
                     stats.incNumOverflowedRecvBuf();
-                    LOGGER.error("Read frame size {} from {}, total buffer size would exceed limit {}",
-                        frameSize[index], servers.get(index), maxRecvBufBytesPerServer);
+                    LOGGER.error(
+                        "Read frame size {} from {}, total buffer size would exceed limit {}",
+                        frameSize[index],
+                        servers.get(index),
+                        maxRecvBufBytesPerServer);
                     sChannel.close();
                     continue;
                   }
@@ -346,34 +341,30 @@
                   hasReadFrameSize[index] = true;
                 }
 
-                if (hasReadFrameSize[index] &&
-                  numBytesRead[index] >= frameSize[index]+4) {
+                if (hasReadFrameSize[index] && numBytesRead[index] >= frameSize[index] + 4) {
                   // has read all data
                   sChannel.close();
                   stats.incNumReadCompletedServers();
                   long t2 = System.currentTimeMillis();
-                  stats.setReadTime(t2-t1);
+                  stats.setReadTime(t2 - t1);
                 }
               }
             } catch (Exception e) {
-              LOGGER.error("Socket {} reads from server {} error",
-                  index, servers.get(index), e);
+              LOGGER.error("Socket {} reads from server {} error", index, servers.get(index), e);
             }
           }
         }
       }
     }
 
-    /**
-     * dispose any resource allocated
-     */
+    /** dispose any resource allocated */
     public void close() {
       try {
         if (selector.isOpen()) {
           Iterator<SelectionKey> it = selector.keys().iterator();
           while (it.hasNext()) {
             SelectionKey selKey = it.next();
-            SocketChannel sChannel = (SocketChannel)selKey.channel();
+            SocketChannel sChannel = (SocketChannel) selKey.channel();
             sChannel.close();
           }
 
diff --git a/lib/java/src/main/java/org/apache/thrift/TNonblockingMultiFetchStats.java b/lib/java/src/main/java/org/apache/thrift/TNonblockingMultiFetchStats.java
index 90b8620..bc02437 100644
--- a/lib/java/src/main/java/org/apache/thrift/TNonblockingMultiFetchStats.java
+++ b/lib/java/src/main/java/org/apache/thrift/TNonblockingMultiFetchStats.java
@@ -1,36 +1,35 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ * with the License. You may obtain a copy of the License at
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
+ *   http://www.apache.org/licenses/LICENSE-2.0
  *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 package org.apache.thrift;
 
-/**
- * This class keeps track of statistics for TNonblockinMultiFetchClient.
- */
+/** This class keeps track of statistics for TNonblockinMultiFetchClient. */
 public class TNonblockingMultiFetchStats {
-  private int    numTotalServers;
-  private int    numReadCompletedServers;
-  private int    numConnectErrorServers;
-  private int    totalRecvBufBytes;
-  private int    maxResponseBytes;
-  private int    numOverflowedRecvBuf;
-  private int    numInvalidFrameSize;
+  private int numTotalServers;
+  private int numReadCompletedServers;
+  private int numConnectErrorServers;
+  private int totalRecvBufBytes;
+  private int maxResponseBytes;
+  private int numOverflowedRecvBuf;
+  private int numInvalidFrameSize;
   // time from the beginning of fetch() function to the reading finish
   // time of the last socket (in milli-second)
-  private long   readTime;
+  private long readTime;
 
   public TNonblockingMultiFetchStats() {
     clear();
@@ -48,33 +47,86 @@
   }
 
   public String toString() {
-    String stats = String.format("numTotalServers=%d, " +
-      "numReadCompletedServers=%d, numConnectErrorServers=%d, " +
-      "numUnresponsiveServers=%d, totalRecvBufBytes=%fM, " +
-      "maxResponseBytes=%d, numOverflowedRecvBuf=%d, " +
-      "numInvalidFrameSize=%d, readTime=%dms",
-      numTotalServers, numReadCompletedServers, numConnectErrorServers,
-      (numTotalServers-numReadCompletedServers-numConnectErrorServers),
-      totalRecvBufBytes/1024.0/1024, maxResponseBytes, numOverflowedRecvBuf,
-      numInvalidFrameSize, readTime);
+    String stats =
+        String.format(
+            "numTotalServers=%d, "
+                + "numReadCompletedServers=%d, numConnectErrorServers=%d, "
+                + "numUnresponsiveServers=%d, totalRecvBufBytes=%fM, "
+                + "maxResponseBytes=%d, numOverflowedRecvBuf=%d, "
+                + "numInvalidFrameSize=%d, readTime=%dms",
+            numTotalServers,
+            numReadCompletedServers,
+            numConnectErrorServers,
+            (numTotalServers - numReadCompletedServers - numConnectErrorServers),
+            totalRecvBufBytes / 1024.0 / 1024,
+            maxResponseBytes,
+            numOverflowedRecvBuf,
+            numInvalidFrameSize,
+            readTime);
     return stats;
   }
 
-  public void setNumTotalServers(int val)    { numTotalServers = val; }
-  public void setMaxResponseBytes(int val)   { maxResponseBytes = val; }
-  public void setReadTime(long val)          { readTime = val; }
-  public void incNumReadCompletedServers()   { numReadCompletedServers++; }
-  public void incNumConnectErrorServers()    { numConnectErrorServers++; }
-  public void incNumOverflowedRecvBuf()      { numOverflowedRecvBuf++; }
-  public void incTotalRecvBufBytes(int val)  { totalRecvBufBytes += val; }
-  public void incNumInvalidFrameSize()       { numInvalidFrameSize++; }
+  public void setNumTotalServers(int val) {
+    numTotalServers = val;
+  }
 
-  public int getMaxResponseBytes()        { return maxResponseBytes; }
-  public int getNumReadCompletedServers() { return numReadCompletedServers; }
-  public int getNumConnectErrorServers()  { return numConnectErrorServers; }
-  public int getNumTotalServers()         { return numTotalServers; }
-  public int getNumOverflowedRecvBuf()    { return numOverflowedRecvBuf;}
-  public int getTotalRecvBufBytes()       { return totalRecvBufBytes;}
-  public int getNumInvalidFrameSize()     { return numInvalidFrameSize; }
-  public long getReadTime()               { return readTime; }
+  public void setMaxResponseBytes(int val) {
+    maxResponseBytes = val;
+  }
+
+  public void setReadTime(long val) {
+    readTime = val;
+  }
+
+  public void incNumReadCompletedServers() {
+    numReadCompletedServers++;
+  }
+
+  public void incNumConnectErrorServers() {
+    numConnectErrorServers++;
+  }
+
+  public void incNumOverflowedRecvBuf() {
+    numOverflowedRecvBuf++;
+  }
+
+  public void incTotalRecvBufBytes(int val) {
+    totalRecvBufBytes += val;
+  }
+
+  public void incNumInvalidFrameSize() {
+    numInvalidFrameSize++;
+  }
+
+  public int getMaxResponseBytes() {
+    return maxResponseBytes;
+  }
+
+  public int getNumReadCompletedServers() {
+    return numReadCompletedServers;
+  }
+
+  public int getNumConnectErrorServers() {
+    return numConnectErrorServers;
+  }
+
+  public int getNumTotalServers() {
+    return numTotalServers;
+  }
+
+  public int getNumOverflowedRecvBuf() {
+    return numOverflowedRecvBuf;
+  }
+
+  public int getTotalRecvBufBytes() {
+    return totalRecvBufBytes;
+  }
+
+  public int getNumInvalidFrameSize() {
+    return numInvalidFrameSize;
+  }
+
+  public long getReadTime() {
+    return readTime;
+  }
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/TProcessor.java b/lib/java/src/main/java/org/apache/thrift/TProcessor.java
index 15ba9c0..3a0e6fd 100644
--- a/lib/java/src/main/java/org/apache/thrift/TProcessor.java
+++ b/lib/java/src/main/java/org/apache/thrift/TProcessor.java
@@ -22,8 +22,8 @@
 import org.apache.thrift.protocol.TProtocol;
 
 /**
- * A processor is a generic object which operates upon an input stream and
- * writes to some output stream.
+ * A processor is a generic object which operates upon an input stream and writes to some output
+ * stream.
  */
 public interface TProcessor {
   public void process(TProtocol in, TProtocol out) throws TException;
diff --git a/lib/java/src/main/java/org/apache/thrift/TProcessorFactory.java b/lib/java/src/main/java/org/apache/thrift/TProcessorFactory.java
index 81933a2..fab4005 100644
--- a/lib/java/src/main/java/org/apache/thrift/TProcessorFactory.java
+++ b/lib/java/src/main/java/org/apache/thrift/TProcessorFactory.java
@@ -21,10 +21,7 @@
 
 import org.apache.thrift.transport.TTransport;
 
-/**
- * The default processor factory just returns a singleton
- * instance.
- */
+/** The default processor factory just returns a singleton instance. */
 public class TProcessorFactory {
 
   private final TProcessor processor_;
@@ -38,6 +35,6 @@
   }
 
   public boolean isAsyncProcessor() {
-      return processor_ instanceof TAsyncProcessor;
+    return processor_ instanceof TAsyncProcessor;
   }
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/TSerializable.java b/lib/java/src/main/java/org/apache/thrift/TSerializable.java
index 317814b..1252804 100644
--- a/lib/java/src/main/java/org/apache/thrift/TSerializable.java
+++ b/lib/java/src/main/java/org/apache/thrift/TSerializable.java
@@ -21,10 +21,7 @@
 
 import org.apache.thrift.protocol.TProtocol;
 
-/**
- * Generic base interface for generated Thrift objects.
- *
- */
+/** Generic base interface for generated Thrift objects. */
 public interface TSerializable {
 
   /**
@@ -42,5 +39,4 @@
    * @throws TException if there is an error writing to oprot
    */
   public void write(TProtocol oprot) throws TException;
-
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/TSerializer.java b/lib/java/src/main/java/org/apache/thrift/TSerializer.java
index 710cd21..6c0c7c2 100644
--- a/lib/java/src/main/java/org/apache/thrift/TSerializer.java
+++ b/lib/java/src/main/java/org/apache/thrift/TSerializer.java
@@ -20,33 +20,22 @@
 package org.apache.thrift;
 
 import java.io.ByteArrayOutputStream;
-
 import org.apache.thrift.protocol.TBinaryProtocol;
 import org.apache.thrift.protocol.TProtocol;
 import org.apache.thrift.protocol.TProtocolFactory;
 import org.apache.thrift.transport.TIOStreamTransport;
 import org.apache.thrift.transport.TTransportException;
 
-/**
- * Generic utility for easily serializing objects into a byte array or Java
- * String.
- *
- */
+/** Generic utility for easily serializing objects into a byte array or Java String. */
 public class TSerializer {
 
-  /**
-   * This is the byte array that data is actually serialized into
-   */
+  /** This is the byte array that data is actually serialized into */
   private final ByteArrayOutputStream baos_ = new ByteArrayOutputStream();
 
-  /**
-   * This transport wraps that byte array
-   */
+  /** This transport wraps that byte array */
   private final TIOStreamTransport transport_;
 
-  /**
-   * Internal protocol used for serializing objects.
-   */
+  /** Internal protocol used for serializing objects. */
   private TProtocol protocol_;
 
   /**
@@ -59,8 +48,7 @@
   }
 
   /**
-   * Create a new TSerializer. It will use the TProtocol specified by the
-   * factory that is passed in.
+   * Create a new TSerializer. It will use the TProtocol specified by the factory that is passed in.
    *
    * @param protocolFactory Factory to create a protocol
    * @throws TTransportException if there an error initializing the underlying transport.
@@ -71,9 +59,8 @@
   }
 
   /**
-   * Serialize the Thrift object into a byte array. The process is simple,
-   * just clear the byte array output, write the object into it, and grab the
-   * raw bytes.
+   * Serialize the Thrift object into a byte array. The process is simple, just clear the byte array
+   * output, write the object into it, and grab the raw bytes.
    *
    * @param base The object to serialize
    * @return Serialized object in byte[] format
@@ -86,8 +73,7 @@
   }
 
   /**
-   * Serialize the Thrift object into a Java string, using the default JVM
-   * charset encoding.
+   * Serialize the Thrift object into a Java string, using the default JVM charset encoding.
    *
    * @param base The object to serialize
    * @return Serialized object as a String
diff --git a/lib/java/src/main/java/org/apache/thrift/TServiceClient.java b/lib/java/src/main/java/org/apache/thrift/TServiceClient.java
index 00a36ee..6c37596 100644
--- a/lib/java/src/main/java/org/apache/thrift/TServiceClient.java
+++ b/lib/java/src/main/java/org/apache/thrift/TServiceClient.java
@@ -24,8 +24,8 @@
 import org.apache.thrift.protocol.TProtocol;
 
 /**
- * A TServiceClient is used to communicate with a TService implementation
- * across protocols and transports.
+ * A TServiceClient is used to communicate with a TService implementation across protocols and
+ * transports.
  */
 public abstract class TServiceClient {
   public TServiceClient(TProtocol prot) {
@@ -44,6 +44,7 @@
 
   /**
    * Get the TProtocol being used as the input (read) protocol.
+   *
    * @return the TProtocol being used as the input (read) protocol.
    */
   public TProtocol getInputProtocol() {
@@ -52,28 +53,29 @@
 
   /**
    * Get the TProtocol being used as the output (write) protocol.
+   *
    * @return the TProtocol being used as the output (write) protocol.
    */
   public TProtocol getOutputProtocol() {
     return this.oprot_;
   }
 
-  protected void sendBase(String methodName, TBase<?,?> args) throws TException {
+  protected void sendBase(String methodName, TBase<?, ?> args) throws TException {
     sendBase(methodName, args, TMessageType.CALL);
   }
 
-  protected void sendBaseOneway(String methodName, TBase<?,?> args) throws TException {
+  protected void sendBaseOneway(String methodName, TBase<?, ?> args) throws TException {
     sendBase(methodName, args, TMessageType.ONEWAY);
   }
 
-  private void sendBase(String methodName, TBase<?,?> args, byte type) throws TException {
+  private void sendBase(String methodName, TBase<?, ?> args, byte type) throws TException {
     oprot_.writeMessageBegin(new TMessage(methodName, type, ++seqid_));
     args.write(oprot_);
     oprot_.writeMessageEnd();
     oprot_.getTransport().flush();
   }
 
-  protected void receiveBase(TBase<?,?> result, String methodName) throws TException {
+  protected void receiveBase(TBase<?, ?> result, String methodName) throws TException {
     TMessage msg = iprot_.readMessageBegin();
     if (msg.type == TMessageType.EXCEPTION) {
       TApplicationException x = new TApplicationException();
@@ -82,8 +84,11 @@
       throw x;
     }
     if (msg.seqid != seqid_) {
-      throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID,
-          String.format("%s failed: out of sequence response: expected %d but got %d", methodName, seqid_, msg.seqid));
+      throw new TApplicationException(
+          TApplicationException.BAD_SEQUENCE_ID,
+          String.format(
+              "%s failed: out of sequence response: expected %d but got %d",
+              methodName, seqid_, msg.seqid));
     }
     result.read(iprot_);
     iprot_.readMessageEnd();
diff --git a/lib/java/src/main/java/org/apache/thrift/TServiceClientFactory.java b/lib/java/src/main/java/org/apache/thrift/TServiceClientFactory.java
index 7f08ba6..1636332 100644
--- a/lib/java/src/main/java/org/apache/thrift/TServiceClientFactory.java
+++ b/lib/java/src/main/java/org/apache/thrift/TServiceClientFactory.java
@@ -22,21 +22,24 @@
 import org.apache.thrift.protocol.TProtocol;
 
 /**
- * A TServiceClientFactory provides a general way to get a TServiceClient
- * connected to a remote TService via a protocol.
+ * A TServiceClientFactory provides a general way to get a TServiceClient connected to a remote
+ * TService via a protocol.
+ *
  * @param <T> the type of TServiceClient to get.
  */
 public interface TServiceClientFactory<T extends TServiceClient> {
   /**
    * Get a brand-new T using <i>prot</i> as both the input and output protocol.
+   *
    * @param prot The protocol to use for getting T.
    * @return A brand-new T using <i>prot</i> as both the input and output protocol.
    */
   public T getClient(TProtocol prot);
 
   /**
-   * Get a brand new T using the specified input and output protocols. The
-   * input and output protocols may be the same instance.
+   * Get a brand new T using the specified input and output protocols. The input and output
+   * protocols may be the same instance.
+   *
    * @param iprot The input protocol to use for getting T.
    * @param oprot The output protocol to use for getting T.
    * @return a brand new T using the specified input and output protocols
diff --git a/lib/java/src/main/java/org/apache/thrift/TUnion.java b/lib/java/src/main/java/org/apache/thrift/TUnion.java
index 0ad6881..65c92dc 100644
--- a/lib/java/src/main/java/org/apache/thrift/TUnion.java
+++ b/lib/java/src/main/java/org/apache/thrift/TUnion.java
@@ -1,19 +1,20 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ * with the License. You may obtain a copy of the License at
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
+ *   http://www.apache.org/licenses/LICENSE-2.0
  *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 package org.apache.thrift;
 
@@ -24,7 +25,6 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-
 import org.apache.thrift.protocol.TField;
 import org.apache.thrift.protocol.TProtocol;
 import org.apache.thrift.protocol.TProtocolException;
@@ -34,7 +34,8 @@
 import org.apache.thrift.scheme.StandardScheme;
 import org.apache.thrift.scheme.TupleScheme;
 
-public abstract class TUnion<T extends TUnion<T,F>, F extends TFieldIdEnum> implements TBase<T, F> {
+public abstract class TUnion<T extends TUnion<T, F>, F extends TFieldIdEnum>
+    implements TBase<T, F> {
 
   protected Object value_;
   protected F setField_;
@@ -44,7 +45,9 @@
     value_ = null;
   }
 
-  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes =
+      new HashMap<Class<? extends IScheme>, SchemeFactory>();
+
   static {
     schemes.put(StandardScheme.class, new TUnionStandardSchemeFactory());
     schemes.put(TupleScheme.class, new TUnionTupleSchemeFactory());
@@ -64,15 +67,15 @@
 
   private static Object deepCopyObject(Object o) {
     if (o instanceof TBase) {
-      return ((TBase)o).deepCopy();
+      return ((TBase) o).deepCopy();
     } else if (o instanceof ByteBuffer) {
-      return TBaseHelper.copyBinary((ByteBuffer)o);
+      return TBaseHelper.copyBinary((ByteBuffer) o);
     } else if (o instanceof List) {
-      return deepCopyList((List)o);
+      return deepCopyList((List) o);
     } else if (o instanceof Set) {
-      return deepCopySet((Set)o);
+      return deepCopySet((Set) o);
     } else if (o instanceof Map) {
-      return deepCopyMap((Map)o);
+      return deepCopyMap((Map) o);
     } else {
       return o;
     }
@@ -112,14 +115,18 @@
 
   public Object getFieldValue(F fieldId) {
     if (fieldId != setField_) {
-      throw new IllegalArgumentException("Cannot get the value of field " + fieldId + " because union's set field is " + setField_);
+      throw new IllegalArgumentException(
+          "Cannot get the value of field "
+              + fieldId
+              + " because union's set field is "
+              + setField_);
     }
 
     return getFieldValue();
   }
 
   public Object getFieldValue(int fieldId) {
-    return getFieldValue(enumForId((short)fieldId));
+    return getFieldValue(enumForId((short) fieldId));
   }
 
   public boolean isSet() {
@@ -131,7 +138,7 @@
   }
 
   public boolean isSet(int fieldId) {
-    return isSet(enumForId((short)fieldId));
+    return isSet(enumForId((short) fieldId));
   }
 
   public void read(TProtocol iprot) throws TException {
@@ -145,7 +152,7 @@
   }
 
   public void setFieldValue(int fieldId, Object value) {
-    setFieldValue(enumForId((short)fieldId), value);
+    setFieldValue(enumForId((short) fieldId), value);
   }
 
   public void write(TProtocol oprot) throws TException {
@@ -153,8 +160,8 @@
   }
 
   /**
-   * Implementation should be generated so that we can efficiently type check
-   * various values.
+   * Implementation should be generated so that we can efficiently type check various values.
+   *
    * @param setField the field to assign value to.
    * @param value the value to be assigned to setField.
    * @throws ClassCastException if the type of value is incompatible with the type of setField.
@@ -162,18 +169,21 @@
   protected abstract void checkType(F setField, Object value) throws ClassCastException;
 
   /**
-   * Implementation should be generated to read the right stuff from the wire
-   * based on the field header.
+   * Implementation should be generated to read the right stuff from the wire based on the field
+   * header.
    *
    * @param iprot input protocol from which to read a value.
    * @param field the field whose value is to be read from iprot.
    * @return read Object based on the field header, as specified by the argument.
    * @throws TException on error during read.
    */
-  protected abstract Object standardSchemeReadValue(TProtocol iprot, TField field) throws TException;
+  protected abstract Object standardSchemeReadValue(TProtocol iprot, TField field)
+      throws TException;
+
   protected abstract void standardSchemeWriteValue(TProtocol oprot) throws TException;
 
   protected abstract Object tupleSchemeReadValue(TProtocol iprot, short fieldID) throws TException;
+
   protected abstract void tupleSchemeWriteValue(TProtocol oprot) throws TException;
 
   protected abstract TStruct getStructDesc();
@@ -193,8 +203,8 @@
       Object v = getFieldValue();
       sb.append(getFieldDesc(getSetField()).name);
       sb.append(":");
-      if(v instanceof ByteBuffer) {
-        TBaseHelper.toString((ByteBuffer)v, sb);
+      if (v instanceof ByteBuffer) {
+        TBaseHelper.toString((ByteBuffer) v, sb);
       } else {
         sb.append(v.toString());
       }
diff --git a/lib/java/src/main/java/org/apache/thrift/annotation/Nullable.java b/lib/java/src/main/java/org/apache/thrift/annotation/Nullable.java
index a34b01e..55d4608 100644
--- a/lib/java/src/main/java/org/apache/thrift/annotation/Nullable.java
+++ b/lib/java/src/main/java/org/apache/thrift/annotation/Nullable.java
@@ -19,15 +19,12 @@
 
 package org.apache.thrift.annotation;
 
-import java.lang.annotation.Documented;
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 
 /**
- * Annotation indicating a field, method return, or method parameter may be {@code null}.
- * We package our own annotation to avoid a mandatory third-party dependency.
+ * Annotation indicating a field, method return, or method parameter may be {@code null}. We package
+ * our own annotation to avoid a mandatory third-party dependency.
  */
 @Retention(RetentionPolicy.CLASS)
-public @interface Nullable {
-
-}
+public @interface Nullable {}
diff --git a/lib/java/src/main/java/org/apache/thrift/async/AsyncMethodCallback.java b/lib/java/src/main/java/org/apache/thrift/async/AsyncMethodCallback.java
index 4ebde07..3939bc2 100644
--- a/lib/java/src/main/java/org/apache/thrift/async/AsyncMethodCallback.java
+++ b/lib/java/src/main/java/org/apache/thrift/async/AsyncMethodCallback.java
@@ -19,33 +19,29 @@
 package org.apache.thrift.async;
 
 /**
- * A handler interface asynchronous clients can implement to receive future
- * notice of the results of an asynchronous method call.
+ * A handler interface asynchronous clients can implement to receive future notice of the results of
+ * an asynchronous method call.
  *
  * @param <T> The return type of the asynchronously invoked method.
  */
 public interface AsyncMethodCallback<T> {
   /**
-   * This method will be called when the remote side has completed invoking
-   * your method call and the result is fully read. For {@code oneway} method
-   * calls, this method will be called as soon as we have completed writing out
-   * the request.
+   * This method will be called when the remote side has completed invoking your method call and the
+   * result is fully read. For {@code oneway} method calls, this method will be called as soon as we
+   * have completed writing out the request.
    *
-   * @param response The return value of the asynchronously invoked method;
-   *                 {@code null} for void methods which includes
-   *                 {@code oneway} methods.
+   * @param response The return value of the asynchronously invoked method; {@code null} for void
+   *     methods which includes {@code oneway} methods.
    */
   void onComplete(T response);
 
   /**
-   * This method will be called when there is either an unexpected client-side
-   * exception like an IOException or else when the remote method raises an
-   * exception, either declared in the IDL or due to an unexpected server-side
-   * error.
+   * This method will be called when there is either an unexpected client-side exception like an
+   * IOException or else when the remote method raises an exception, either declared in the IDL or
+   * due to an unexpected server-side error.
    *
-   * @param exception The exception encountered processing the the asynchronous
-   *                  method call, may be a local exception or an unmarshalled
-   *                  remote exception.
+   * @param exception The exception encountered processing the the asynchronous method call, may be
+   *     a local exception or an unmarshalled remote exception.
    */
   void onError(Exception exception);
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/async/AsyncMethodFutureAdapter.java b/lib/java/src/main/java/org/apache/thrift/async/AsyncMethodFutureAdapter.java
index 0bee3a7..202af7b 100644
--- a/lib/java/src/main/java/org/apache/thrift/async/AsyncMethodFutureAdapter.java
+++ b/lib/java/src/main/java/org/apache/thrift/async/AsyncMethodFutureAdapter.java
@@ -3,33 +3,33 @@
 import java.util.concurrent.CompletableFuture;
 
 /**
- * A simple adapter that bridges {@link AsyncMethodCallback} with {@link CompletableFuture}-returning style clients.
- * Compiler generated code will invoke this adapter to implement {@code FutureClient}s.
+ * A simple adapter that bridges {@link AsyncMethodCallback} with {@link
+ * CompletableFuture}-returning style clients. Compiler generated code will invoke this adapter to
+ * implement {@code FutureClient}s.
  *
  * @param <T> return type (can be {@link Void}).
  */
 public final class AsyncMethodFutureAdapter<T> implements AsyncMethodCallback<T> {
 
-    private AsyncMethodFutureAdapter() {
-    }
+  private AsyncMethodFutureAdapter() {}
 
-    public static <T> AsyncMethodFutureAdapter<T> create() {
-        return new AsyncMethodFutureAdapter<>();
-    }
+  public static <T> AsyncMethodFutureAdapter<T> create() {
+    return new AsyncMethodFutureAdapter<>();
+  }
 
-    private final CompletableFuture<T> future = new CompletableFuture<>();
+  private final CompletableFuture<T> future = new CompletableFuture<>();
 
-    public CompletableFuture<T> getFuture() {
-        return future;
-    }
+  public CompletableFuture<T> getFuture() {
+    return future;
+  }
 
-    @Override
-    public void onComplete(T response) {
-        future.complete(response);
-    }
+  @Override
+  public void onComplete(T response) {
+    future.complete(response);
+  }
 
-    @Override
-    public void onError(Exception exception) {
-        future.completeExceptionally(exception);
-    }
+  @Override
+  public void onError(Exception exception) {
+    future.completeExceptionally(exception);
+  }
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/async/TAsyncClient.java b/lib/java/src/main/java/org/apache/thrift/async/TAsyncClient.java
index 8ba1356..06d6f63 100644
--- a/lib/java/src/main/java/org/apache/thrift/async/TAsyncClient.java
+++ b/lib/java/src/main/java/org/apache/thrift/async/TAsyncClient.java
@@ -29,11 +29,18 @@
   private Exception ___error;
   private long ___timeout;
 
-  public TAsyncClient(TProtocolFactory protocolFactory, TAsyncClientManager manager, TNonblockingTransport transport) {
+  public TAsyncClient(
+      TProtocolFactory protocolFactory,
+      TAsyncClientManager manager,
+      TNonblockingTransport transport) {
     this(protocolFactory, manager, transport, 0);
   }
 
-  public TAsyncClient(TProtocolFactory protocolFactory, TAsyncClientManager manager, TNonblockingTransport transport, long timeout) {
+  public TAsyncClient(
+      TProtocolFactory protocolFactory,
+      TAsyncClientManager manager,
+      TNonblockingTransport transport,
+      long timeout) {
     this.___protocolFactory = protocolFactory;
     this.___manager = manager;
     this.___transport = transport;
@@ -58,6 +65,7 @@
 
   /**
    * Is the client in an error state?
+   *
    * @return If client in an error state?
    */
   public boolean hasError() {
@@ -66,7 +74,9 @@
 
   /**
    * Get the client's error - returns null if no error
-   * @return Get the client's error. <p> returns null if no error
+   *
+   * @return Get the client's error.
+   *     <p>returns null if no error
    */
   public Exception getError() {
     return ___error;
@@ -75,7 +85,8 @@
   protected void checkReady() {
     // Ensure we are not currently executing a method
     if (___currentMethod != null) {
-      throw new IllegalStateException("Client is currently executing another method: " + ___currentMethod.getClass().getName());
+      throw new IllegalStateException(
+          "Client is currently executing another method: " + ___currentMethod.getClass().getName());
     }
 
     // Ensure we're not in an error state
@@ -84,9 +95,7 @@
     }
   }
 
-  /**
-   * Called by delegate method when finished
-   */
+  /** Called by delegate method when finished */
   protected void onComplete() {
     ___currentMethod = null;
   }
diff --git a/lib/java/src/main/java/org/apache/thrift/async/TAsyncClientManager.java b/lib/java/src/main/java/org/apache/thrift/async/TAsyncClientManager.java
index c07ccd5..ba6a5fd 100644
--- a/lib/java/src/main/java/org/apache/thrift/async/TAsyncClientManager.java
+++ b/lib/java/src/main/java/org/apache/thrift/async/TAsyncClientManager.java
@@ -29,19 +29,17 @@
 import java.util.TreeSet;
 import java.util.concurrent.ConcurrentLinkedQueue;
 import java.util.concurrent.TimeoutException;
-
 import org.apache.thrift.TException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-/**
- * Contains selector thread which transitions method call objects
- */
+/** Contains selector thread which transitions method call objects */
 public class TAsyncClientManager {
   private static final Logger LOGGER = LoggerFactory.getLogger(TAsyncClientManager.class.getName());
 
   private final SelectThread selectThread;
-  private final ConcurrentLinkedQueue<TAsyncMethodCall> pendingCalls = new ConcurrentLinkedQueue<TAsyncMethodCall>();
+  private final ConcurrentLinkedQueue<TAsyncMethodCall> pendingCalls =
+      new ConcurrentLinkedQueue<TAsyncMethodCall>();
 
   public TAsyncClientManager() throws IOException {
     this.selectThread = new SelectThread();
@@ -68,7 +66,8 @@
   private class SelectThread extends Thread {
     private final Selector selector;
     private volatile boolean running;
-    private final TreeSet<TAsyncMethodCall> timeoutWatchSet = new TreeSet<TAsyncMethodCall>(new TAsyncMethodCallTimeoutComparator());
+    private final TreeSet<TAsyncMethodCall> timeoutWatchSet =
+        new TreeSet<TAsyncMethodCall>(new TAsyncMethodCallTimeoutComparator());
 
     public SelectThread() throws IOException {
       this.selector = SelectorProvider.provider().openSelector();
@@ -96,7 +95,8 @@
               // No timeouts, so select indefinitely
               selector.select();
             } else {
-              // We have a timeout pending, so calculate the time until then and select appropriately
+              // We have a timeout pending, so calculate the time until then and select
+              // appropriately
               long nextTimeout = timeoutWatchSet.first().getTimeoutTimestamp();
               long selectTime = nextTimeout - System.currentTimeMillis();
               if (selectTime > 0) {
@@ -139,7 +139,7 @@
             // just skip
             continue;
           }
-          TAsyncMethodCall methodCall = (TAsyncMethodCall)key.attachment();
+          TAsyncMethodCall methodCall = (TAsyncMethodCall) key.attachment();
           methodCall.transition(key);
 
           // If done or error occurred, remove from timeout watch set
@@ -160,7 +160,13 @@
         TAsyncMethodCall methodCall = iterator.next();
         if (currentTime >= methodCall.getTimeoutTimestamp()) {
           iterator.remove();
-          methodCall.onError(new TimeoutException("Operation " + methodCall.getClass() + " timed out after " + (currentTime - methodCall.getStartTime()) + " ms."));
+          methodCall.onError(
+              new TimeoutException(
+                  "Operation "
+                      + methodCall.getClass()
+                      + " timed out after "
+                      + (currentTime - methodCall.getStartTime())
+                      + " ms."));
         } else {
           break;
         }
@@ -189,12 +195,13 @@
   }
 
   /** Comparator used in TreeSet */
-  private static class TAsyncMethodCallTimeoutComparator implements Comparator<TAsyncMethodCall>, Serializable {
+  private static class TAsyncMethodCallTimeoutComparator
+      implements Comparator<TAsyncMethodCall>, Serializable {
     public int compare(TAsyncMethodCall left, TAsyncMethodCall right) {
       if (left.getTimeoutTimestamp() == right.getTimeoutTimestamp()) {
-        return (int)(left.getSequenceId() - right.getSequenceId());
+        return (int) (left.getSequenceId() - right.getSequenceId());
       } else {
-        return (int)(left.getTimeoutTimestamp() - right.getTimeoutTimestamp());
+        return (int) (left.getTimeoutTimestamp() - right.getTimeoutTimestamp());
       }
     }
   }
diff --git a/lib/java/src/main/java/org/apache/thrift/async/TAsyncMethodCall.java b/lib/java/src/main/java/org/apache/thrift/async/TAsyncMethodCall.java
index a119f23..df586b4 100644
--- a/lib/java/src/main/java/org/apache/thrift/async/TAsyncMethodCall.java
+++ b/lib/java/src/main/java/org/apache/thrift/async/TAsyncMethodCall.java
@@ -23,22 +23,22 @@
 import java.nio.channels.SelectionKey;
 import java.nio.channels.Selector;
 import java.util.concurrent.atomic.AtomicLong;
-
 import org.apache.thrift.TException;
 import org.apache.thrift.protocol.TProtocol;
 import org.apache.thrift.protocol.TProtocolFactory;
-import org.apache.thrift.transport.layered.TFramedTransport;
 import org.apache.thrift.transport.TMemoryBuffer;
 import org.apache.thrift.transport.TNonblockingTransport;
 import org.apache.thrift.transport.TTransportException;
+import org.apache.thrift.transport.layered.TFramedTransport;
 
 /**
  * Encapsulates an async method call.
- * <p>
- * Need to generate:
+ *
+ * <p>Need to generate:
+ *
  * <ul>
- *   <li>protected abstract void write_args(TProtocol protocol)</li>
- *   <li>protected abstract T getResult() throws &lt;Exception_1&gt;, &lt;Exception_2&gt;, ...</li>
+ *   <li>protected abstract void write_args(TProtocol protocol)
+ *   <li>protected abstract T getResult() throws &lt;Exception_1&gt;, &lt;Exception_2&gt;, ...
  * </ul>
  *
  * @param <T> The return type of the encapsulated method call.
@@ -58,9 +58,7 @@
     ERROR;
   }
 
-  /**
-   * Next step in the call, initialized by start()
-   */
+  /** Next step in the call, initialized by start() */
   private State state = null;
 
   protected final TNonblockingTransport transport;
@@ -77,7 +75,12 @@
 
   private long startTime = System.currentTimeMillis();
 
-  protected TAsyncMethodCall(TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport, AsyncMethodCallback<T> callback, boolean isOneway) {
+  protected TAsyncMethodCall(
+      TAsyncClient client,
+      TProtocolFactory protocolFactory,
+      TNonblockingTransport transport,
+      AsyncMethodCallback<T> callback,
+      boolean isOneway) {
     this.transport = transport;
     this.callback = callback;
     this.protocolFactory = protocolFactory;
@@ -121,6 +124,7 @@
 
   /**
    * Initialize buffers.
+   *
    * @throws TException if buffer initialization fails
    */
   protected void prepareMethodCall() throws TException {
@@ -137,6 +141,7 @@
 
   /**
    * Register with selector and start first state, which could be either connecting or writing.
+   *
    * @throws IOException if register or starting fails
    */
   void start(Selector sel) throws IOException {
@@ -168,9 +173,10 @@
   }
 
   /**
-   * Transition to next state, doing whatever work is required. Since this
-   * method is only called by the selector thread, we can make changes to our
-   * select interests without worrying about concurrency.
+   * Transition to next state, doing whatever work is required. Since this method is only called by
+   * the selector thread, we can make changes to our select interests without worrying about
+   * concurrency.
+   *
    * @param key
    */
   void transition(SelectionKey key) {
@@ -201,8 +207,10 @@
           doReadingResponseBody(key);
           break;
         default: // RESPONSE_READ, ERROR, or bug
-          throw new IllegalStateException("Method call in state " + state
-              + " but selector called transition method. Seems like a bug...");
+          throw new IllegalStateException(
+              "Method call in state "
+                  + state
+                  + " but selector called transition method. Seems like a bug...");
       }
     } catch (Exception e) {
       key.cancel();
@@ -260,7 +268,7 @@
         cleanUpAndFireCallback(key);
       } else {
         state = State.READING_RESPONSE_SIZE;
-        sizeBuffer.rewind();  // Prepare to read incoming frame size
+        sizeBuffer.rewind(); // Prepare to read incoming frame size
         key.interestOps(SelectionKey.OP_READ);
       }
     }
@@ -268,7 +276,8 @@
 
   private void doWritingRequestSize() throws TTransportException {
     if (transport.write(sizeBuffer) < 0) {
-      throw new TTransportException(TTransportException.END_OF_FILE, "Write call frame size failed");
+      throw new TTransportException(
+          TTransportException.END_OF_FILE, "Write call frame size failed");
     }
     if (sizeBuffer.remaining() == 0) {
       state = State.WRITING_REQUEST_BODY;
@@ -277,7 +286,8 @@
 
   private void doConnecting(SelectionKey key) throws IOException {
     if (!key.isConnectable() || !transport.finishConnect()) {
-      throw new IOException("not connectable or finishConnect returned false after we got an OP_CONNECT");
+      throw new IOException(
+          "not connectable or finishConnect returned false after we got an OP_CONNECT");
     }
     registerForFirstWrite(key);
   }
diff --git a/lib/java/src/main/java/org/apache/thrift/meta_data/EnumMetaData.java b/lib/java/src/main/java/org/apache/thrift/meta_data/EnumMetaData.java
index be49cb9..b6fc113 100644
--- a/lib/java/src/main/java/org/apache/thrift/meta_data/EnumMetaData.java
+++ b/lib/java/src/main/java/org/apache/thrift/meta_data/EnumMetaData.java
@@ -23,9 +23,9 @@
 
 public class EnumMetaData extends FieldValueMetaData {
   public final Class<? extends TEnum> enumClass;
-  
-  public EnumMetaData(byte type, Class<? extends TEnum> sClass){
+
+  public EnumMetaData(byte type, Class<? extends TEnum> sClass) {
     super(type);
     this.enumClass = sClass;
-  }    
+  }
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/meta_data/FieldMetaData.java b/lib/java/src/main/java/org/apache/thrift/meta_data/FieldMetaData.java
index 5691f83..b789193 100644
--- a/lib/java/src/main/java/org/apache/thrift/meta_data/FieldMetaData.java
+++ b/lib/java/src/main/java/org/apache/thrift/meta_data/FieldMetaData.java
@@ -19,42 +19,41 @@
 
 package org.apache.thrift.meta_data;
 
-import java.util.AbstractMap;
-import java.util.Arrays;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
 import org.apache.thrift.TBase;
 import org.apache.thrift.TFieldIdEnum;
 
 /**
- * This class is used to store meta data about thrift fields. Every field in a
- * a struct should have a corresponding instance of this class describing it.
+ * This class is used to store meta data about thrift fields. Every field in a a struct should have
+ * a corresponding instance of this class describing it.
  *
- * The meta data is registered by ALL Thrift struct classes via a static {...}
- * initializer block in the generated Thrift code.
+ * <p>The meta data is registered by ALL Thrift struct classes via a static {...} initializer block
+ * in the generated Thrift code.
  *
- * Since different threads could be initializing different Thrift classes, calls
- * to the public static methods of this class could be racy.
+ * <p>Since different threads could be initializing different Thrift classes, calls to the public
+ * static methods of this class could be racy.
  *
- * All methods of this class should be made thread safe.
+ * <p>All methods of this class should be made thread safe.
  */
 public class FieldMetaData implements java.io.Serializable {
   public final String fieldName;
   public final byte requirementType;
   public final FieldValueMetaData valueMetaData;
   private final Map<String, String> fieldAnnotations;
-  private static final Map<Class<? extends TBase>, Map<? extends TFieldIdEnum, FieldMetaData>> structMap = new ConcurrentHashMap<>();
+  private static final Map<Class<? extends TBase>, Map<? extends TFieldIdEnum, FieldMetaData>>
+      structMap = new ConcurrentHashMap<>();
 
-  public FieldMetaData(String name, byte req, FieldValueMetaData vMetaData){
+  public FieldMetaData(String name, byte req, FieldValueMetaData vMetaData) {
     this(name, req, vMetaData, Collections.emptyMap());
   }
 
-  public FieldMetaData(String fieldName, byte requirementType, FieldValueMetaData valueMetaData, Map<String, String> fieldAnnotations) {
+  public FieldMetaData(
+      String fieldName,
+      byte requirementType,
+      FieldValueMetaData valueMetaData,
+      Map<String, String> fieldAnnotations) {
     this.fieldName = fieldName;
     this.requirementType = requirementType;
     this.valueMetaData = valueMetaData;
@@ -62,26 +61,26 @@
   }
 
   /**
-   * @return an unmodifiable view of the annotations for this field, empty if no annotations present or code gen param
-   * is not turned on
+   * @return an unmodifiable view of the annotations for this field, empty if no annotations present
+   *     or code gen param is not turned on
    */
   public Map<String, String> getFieldAnnotations() {
     return Collections.unmodifiableMap(fieldAnnotations);
   }
 
-  public static void addStructMetaDataMap(Class<? extends TBase> sClass, Map<? extends TFieldIdEnum, FieldMetaData> map){
+  public static void addStructMetaDataMap(
+      Class<? extends TBase> sClass, Map<? extends TFieldIdEnum, FieldMetaData> map) {
     structMap.put(sClass, map);
   }
 
   /**
-   * Returns a map with metadata (i.e. instances of FieldMetaData) that
-   * describe the fields of the given class.
+   * Returns a map with metadata (i.e. instances of FieldMetaData) that describe the fields of the
+   * given class.
    *
-   * @param sClass The TBase class for which the metadata map is requested. It is not
-   *               guaranteed that sClass will have been statically initialized before
-   *               this method is called. A racy call to
-   *               {@link FieldMetaData#addStructMetaDataMap(Class, Map)} from a different
-   *               thread during static initialization of the Thrift class is possible.
+   * @param sClass The TBase class for which the metadata map is requested. It is not guaranteed
+   *     that sClass will have been statically initialized before this method is called. A racy call
+   *     to {@link FieldMetaData#addStructMetaDataMap(Class, Map)} from a different thread during
+   *     static initialization of the Thrift class is possible.
    */
   public static Map<? extends TFieldIdEnum, FieldMetaData> getStructMetaDataMap(
       Class<? extends TBase> sClass) {
@@ -89,13 +88,21 @@
     // Similarly, do not trigger sClass.newInstance() while holding a lock on structMap,
     // it will lead to the same deadlock.
     // See: https://issues.apache.org/jira/browse/THRIFT-5430 for details.
-    if (!structMap.containsKey(sClass)){ // Load class if it hasn't been loaded
-      try{
+    if (!structMap.containsKey(sClass)) { // Load class if it hasn't been loaded
+      try {
         sClass.newInstance();
-      } catch (InstantiationException e){
-        throw new RuntimeException("InstantiationException for TBase class: " + sClass.getName() + ", message: " + e.getMessage());
-      } catch (IllegalAccessException e){
-        throw new RuntimeException("IllegalAccessException for TBase class: " + sClass.getName() + ", message: " + e.getMessage());
+      } catch (InstantiationException e) {
+        throw new RuntimeException(
+            "InstantiationException for TBase class: "
+                + sClass.getName()
+                + ", message: "
+                + e.getMessage());
+      } catch (IllegalAccessException e) {
+        throw new RuntimeException(
+            "IllegalAccessException for TBase class: "
+                + sClass.getName()
+                + ", message: "
+                + e.getMessage());
       }
     }
     return structMap.get(sClass);
diff --git a/lib/java/src/main/java/org/apache/thrift/meta_data/FieldValueMetaData.java b/lib/java/src/main/java/org/apache/thrift/meta_data/FieldValueMetaData.java
index 2180b08..d022e11 100644
--- a/lib/java/src/main/java/org/apache/thrift/meta_data/FieldValueMetaData.java
+++ b/lib/java/src/main/java/org/apache/thrift/meta_data/FieldValueMetaData.java
@@ -22,11 +22,10 @@
 import org.apache.thrift.protocol.TType;
 
 /**
- * FieldValueMetaData and collection of subclasses to store metadata about
- * the value(s) of a field
+ * FieldValueMetaData and collection of subclasses to store metadata about the value(s) of a field
  */
 public class FieldValueMetaData implements java.io.Serializable {
-  public final byte type;  
+  public final byte type;
 
   private final boolean isTypedefType;
   private final String typedefName;
@@ -59,7 +58,7 @@
   }
 
   public boolean isStruct() {
-    return type == TType.STRUCT; 
+    return type == TType.STRUCT;
   }
 
   public boolean isContainer() {
diff --git a/lib/java/src/main/java/org/apache/thrift/meta_data/ListMetaData.java b/lib/java/src/main/java/org/apache/thrift/meta_data/ListMetaData.java
index 8e7073b..e87e97a 100644
--- a/lib/java/src/main/java/org/apache/thrift/meta_data/ListMetaData.java
+++ b/lib/java/src/main/java/org/apache/thrift/meta_data/ListMetaData.java
@@ -21,9 +21,9 @@
 
 public class ListMetaData extends FieldValueMetaData {
   public final FieldValueMetaData elemMetaData;
-  
-  public ListMetaData(byte type, FieldValueMetaData eMetaData){
+
+  public ListMetaData(byte type, FieldValueMetaData eMetaData) {
     super(type);
     this.elemMetaData = eMetaData;
-  }    
+  }
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/meta_data/MapMetaData.java b/lib/java/src/main/java/org/apache/thrift/meta_data/MapMetaData.java
index e7c408c..692a372 100644
--- a/lib/java/src/main/java/org/apache/thrift/meta_data/MapMetaData.java
+++ b/lib/java/src/main/java/org/apache/thrift/meta_data/MapMetaData.java
@@ -22,10 +22,10 @@
 public class MapMetaData extends FieldValueMetaData {
   public final FieldValueMetaData keyMetaData;
   public final FieldValueMetaData valueMetaData;
-  
-  public MapMetaData(byte type, FieldValueMetaData kMetaData, FieldValueMetaData vMetaData){
+
+  public MapMetaData(byte type, FieldValueMetaData kMetaData, FieldValueMetaData vMetaData) {
     super(type);
     this.keyMetaData = kMetaData;
     this.valueMetaData = vMetaData;
-  }    
+  }
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/meta_data/SetMetaData.java b/lib/java/src/main/java/org/apache/thrift/meta_data/SetMetaData.java
index cf4b96a..3f2b1e2 100644
--- a/lib/java/src/main/java/org/apache/thrift/meta_data/SetMetaData.java
+++ b/lib/java/src/main/java/org/apache/thrift/meta_data/SetMetaData.java
@@ -21,9 +21,9 @@
 
 public class SetMetaData extends FieldValueMetaData {
   public final FieldValueMetaData elemMetaData;
-  
-  public SetMetaData(byte type, FieldValueMetaData eMetaData){
+
+  public SetMetaData(byte type, FieldValueMetaData eMetaData) {
     super(type);
     this.elemMetaData = eMetaData;
-  }    
+  }
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/meta_data/StructMetaData.java b/lib/java/src/main/java/org/apache/thrift/meta_data/StructMetaData.java
index b37d21d..98d7341 100644
--- a/lib/java/src/main/java/org/apache/thrift/meta_data/StructMetaData.java
+++ b/lib/java/src/main/java/org/apache/thrift/meta_data/StructMetaData.java
@@ -23,9 +23,9 @@
 
 public class StructMetaData extends FieldValueMetaData {
   public final Class<? extends TBase> structClass;
-  
-  public StructMetaData(byte type, Class<? extends TBase> sClass){
+
+  public StructMetaData(byte type, Class<? extends TBase> sClass) {
     super(type);
     this.structClass = sClass;
-  }    
+  }
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/partial/EnumCache.java b/lib/java/src/main/java/org/apache/thrift/partial/EnumCache.java
index 22423f1..a56d202 100644
--- a/lib/java/src/main/java/org/apache/thrift/partial/EnumCache.java
+++ b/lib/java/src/main/java/org/apache/thrift/partial/EnumCache.java
@@ -19,22 +19,19 @@
 
 package org.apache.thrift.partial;
 
-import org.apache.thrift.partial.Validate;
-
-import org.apache.thrift.TEnum;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.util.HashMap;
 import java.util.Map;
+import org.apache.thrift.TEnum;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Provides a memoized way to lookup an enum by its value.
  *
- * This class is used internally by {@code TDeserializer}.
- * It is not intended to be used separately on its own.
+ * <p>This class is used internally by {@code TDeserializer}. It is not intended to be used
+ * separately on its own.
  */
 public class EnumCache {
   private static Logger LOG = LoggerFactory.getLogger(EnumCache.class);
@@ -46,8 +43,7 @@
   }
 
   /**
-   * Gets an instance of the enum type {@code enumClass}
-   * corresponding to the given {@code value}.
+   * Gets an instance of the enum type {@code enumClass} corresponding to the given {@code value}.
    *
    * @param enumClass class of the enum to be returned.
    * @param value value returned by {@code getValue()}.
diff --git a/lib/java/src/main/java/org/apache/thrift/partial/PartialThriftComparer.java b/lib/java/src/main/java/org/apache/thrift/partial/PartialThriftComparer.java
index f636c80..e635dc6 100644
--- a/lib/java/src/main/java/org/apache/thrift/partial/PartialThriftComparer.java
+++ b/lib/java/src/main/java/org/apache/thrift/partial/PartialThriftComparer.java
@@ -19,26 +19,23 @@
 
 package org.apache.thrift.partial;
 
-import org.apache.thrift.TBase;
-import org.apache.thrift.protocol.TType;
-
-import java.lang.StringBuilder;
 import java.nio.ByteBuffer;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import org.apache.thrift.TBase;
+import org.apache.thrift.protocol.TType;
 
 /**
- * Enables comparison of two TBase instances such that the comparison
- * is limited to the subset of fields defined by the supplied metadata.
+ * Enables comparison of two TBase instances such that the comparison is limited to the subset of
+ * fields defined by the supplied metadata.
  *
- * This comparer is useful when comparing two instances where:
- * -- one is generated by full deserialization.
- * -- the other is generated by partial deserialization.
+ * <p>This comparer is useful when comparing two instances where: -- one is generated by full
+ * deserialization. -- the other is generated by partial deserialization.
  *
- * The typical use case is to establish correctness of partial deserialization.
+ * <p>The typical use case is to establish correctness of partial deserialization.
  */
 public class PartialThriftComparer<T extends TBase> {
 
@@ -61,12 +58,12 @@
   }
 
   /**
-   * Compares thrift objects {@code t1} and {@code t2} and
-   * returns true if they are equal false otherwise. The comparison is limited
-   * to the scope defined by {@code metadata}.
-   * <p>
-   * If the objects are not equal then it optionally records their differences
-   * if {@code sb} is supplied.
+   * Compares thrift objects {@code t1} and {@code t2} and returns true if they are equal false
+   * otherwise. The comparison is limited to the scope defined by {@code metadata}.
+   *
+   * <p>If the objects are not equal then it optionally records their differences if {@code sb} is
+   * supplied.
+   *
    * <p>
    *
    * @param t1 the first object.
@@ -79,10 +76,7 @@
   }
 
   private boolean areEqual(
-      ThriftMetadata.ThriftObject data,
-      Object o1,
-      Object o2,
-      StringBuilder sb) {
+      ThriftMetadata.ThriftObject data, Object o1, Object o2, StringBuilder sb) {
 
     byte fieldType = data.data.valueMetaData.type;
     switch (fieldType) {
@@ -116,10 +110,7 @@
   }
 
   private boolean areEqual(
-      ThriftMetadata.ThriftStruct data,
-      Object o1,
-      Object o2,
-      StringBuilder sb) {
+      ThriftMetadata.ThriftStruct data, Object o1, Object o2, StringBuilder sb) {
     ComparisonResult result = checkNullEquality(data, o1, o2, sb);
     if (result != ComparisonResult.UNKNOWN) {
       return result == ComparisonResult.EQUAL;
@@ -151,10 +142,7 @@
   }
 
   private boolean areEqual(
-      ThriftMetadata.ThriftPrimitive data,
-      Object o1,
-      Object o2,
-      StringBuilder sb) {
+      ThriftMetadata.ThriftPrimitive data, Object o1, Object o2, StringBuilder sb) {
 
     ComparisonResult result = checkNullEquality(data, o1, o2, sb);
     if (result != ComparisonResult.UNKNOWN) {
@@ -173,11 +161,7 @@
     return false;
   }
 
-  private boolean areEqual(
-      ThriftMetadata.ThriftEnum data,
-      Object o1,
-      Object o2,
-      StringBuilder sb) {
+  private boolean areEqual(ThriftMetadata.ThriftEnum data, Object o1, Object o2, StringBuilder sb) {
 
     ComparisonResult result = checkNullEquality(data, o1, o2, sb);
     if (result != ComparisonResult.UNKNOWN) {
@@ -192,11 +176,7 @@
     return false;
   }
 
-  private boolean areEqual(
-      ThriftMetadata.ThriftList data,
-      Object o1,
-      Object o2,
-      StringBuilder sb) {
+  private boolean areEqual(ThriftMetadata.ThriftList data, Object o1, Object o2, StringBuilder sb) {
 
     List<Object> l1 = (List<Object>) o1;
     List<Object> l2 = (List<Object>) o2;
@@ -221,11 +201,7 @@
     return true;
   }
 
-  private boolean areEqual(
-      ThriftMetadata.ThriftSet data,
-      Object o1,
-      Object o2,
-      StringBuilder sb) {
+  private boolean areEqual(ThriftMetadata.ThriftSet data, Object o1, Object o2, StringBuilder sb) {
 
     Set<Object> s1 = (Set<Object>) o1;
     Set<Object> s2 = (Set<Object>) o2;
@@ -249,11 +225,7 @@
     return true;
   }
 
-  private boolean areEqual(
-      ThriftMetadata.ThriftMap data,
-      Object o1,
-      Object o2,
-      StringBuilder sb) {
+  private boolean areEqual(ThriftMetadata.ThriftMap data, Object o1, Object o2, StringBuilder sb) {
 
     Map<Object, Object> m1 = (Map<Object, Object>) o1;
     Map<Object, Object> m2 = (Map<Object, Object>) o2;
@@ -303,10 +275,7 @@
   }
 
   private void appendResult(
-      ThriftMetadata.ThriftObject data,
-      StringBuilder sb,
-      String format,
-      Object... args) {
+      ThriftMetadata.ThriftObject data, StringBuilder sb, String format, Object... args) {
     if (sb != null) {
       String msg = String.format(format, args);
       sb.append(data.fieldId.getFieldName());
@@ -330,16 +299,12 @@
       appendResult(data, sb, "%s (%s) != %s (%s)", o1name, o1s, o2name, o2s);
     } else {
       appendResult(
-          data, sb, "%s != %s\n%s =\n%s\n%s =\n%s\n",
-          o1name, o2name, o1name, o1s, o2name, o2s);
+          data, sb, "%s != %s\n%s =\n%s\n%s =\n%s\n", o1name, o2name, o1name, o1s, o2name, o2s);
     }
   }
 
   private ComparisonResult checkNullEquality(
-      ThriftMetadata.ThriftObject data,
-      Object o1,
-      Object o2,
-      StringBuilder sb) {
+      ThriftMetadata.ThriftObject data, Object o1, Object o2, StringBuilder sb) {
     if ((o1 == null) && (o2 == null)) {
       return ComparisonResult.EQUAL;
     }
@@ -364,8 +329,7 @@
 
     if (c1.size() != c2.size()) {
       appendResult(
-          data, sb, "%s1.size(%d) != %s2.size(%d)",
-          typeName, c1.size(), typeName, c2.size());
+          data, sb, "%s1.size(%d) != %s2.size(%d)", typeName, c1.size(), typeName, c2.size());
       return false;
     }
 
diff --git a/lib/java/src/main/java/org/apache/thrift/partial/TFieldData.java b/lib/java/src/main/java/org/apache/thrift/partial/TFieldData.java
index d77302e..5119259 100644
--- a/lib/java/src/main/java/org/apache/thrift/partial/TFieldData.java
+++ b/lib/java/src/main/java/org/apache/thrift/partial/TFieldData.java
@@ -22,8 +22,8 @@
 /**
  * Holds the type and id members of a {@link org.apache.thrift.protocol.TField} into a single int.
  *
- * This encoding scheme obviates the need to instantiate TField
- * during the partial deserialization process.
+ * <p>This encoding scheme obviates the need to instantiate TField during the partial
+ * deserialization process.
  */
 public class TFieldData {
   public static int encode(byte type) {
diff --git a/lib/java/src/main/java/org/apache/thrift/partial/ThriftField.java b/lib/java/src/main/java/org/apache/thrift/partial/ThriftField.java
index 1b5a08c..a0fbda6 100644
--- a/lib/java/src/main/java/org/apache/thrift/partial/ThriftField.java
+++ b/lib/java/src/main/java/org/apache/thrift/partial/ThriftField.java
@@ -19,8 +19,6 @@
 
 package org.apache.thrift.partial;
 
-import org.apache.thrift.partial.Validate;
-
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
@@ -28,21 +26,19 @@
 
 /**
  * Holds name of a thrift field and of its sub-fields recursively.
- * <p>
- * This class is meant to be used in conjunction with {@code TDeserializer}.
+ *
+ * <p>This class is meant to be used in conjunction with {@code TDeserializer}.
  */
 public class ThriftField {
 
-  /**
-   * Name of this field as it appears in a thrift file. Case sensitive.
-   */
+  /** Name of this field as it appears in a thrift file. Case sensitive. */
   public final String name;
 
   /**
    * List of sub-fields of this field.
    *
-   * This list should have only those sub-fields that need to be deserialized
-   * by the {@code TDeserializer}.
+   * <p>This list should have only those sub-fields that need to be deserialized by the {@code
+   * TDeserializer}.
    */
   public final List<ThriftField> fields;
 
@@ -60,9 +56,7 @@
     this.fields = Collections.unmodifiableList(fields);
   }
 
-  /**
-   * Constructs a {@link ThriftField} that does not have any sub-fields.
-   */
+  /** Constructs a {@link ThriftField} that does not have any sub-fields. */
   ThriftField(String name) {
     this(name, Collections.emptyList());
   }
@@ -146,15 +140,12 @@
 
   /**
    * Generates and returns n-ary tree of fields and their sub-fields.
+   *
    * <p>
+   *
    * @param fieldNames collection of fully qualified field names.
-   *
-   *        for example,
-   *        In case of PinJoin thrift struct, the following are valid field names
-   *        -- signature
-   *        -- pins.user.userId
-   *        -- textSignal.termSignal.termDataMap
-   *
+   *     <p>for example, In case of PinJoin thrift struct, the following are valid field names --
+   *     signature -- pins.user.userId -- textSignal.termSignal.termDataMap
    * @return n-ary tree of fields and their sub-fields.
    */
   public static List<ThriftField> fromNames(Collection<String> fieldNames) {
diff --git a/lib/java/src/main/java/org/apache/thrift/partial/ThriftFieldValueProcessor.java b/lib/java/src/main/java/org/apache/thrift/partial/ThriftFieldValueProcessor.java
index 33982d1..edb106c 100644
--- a/lib/java/src/main/java/org/apache/thrift/partial/ThriftFieldValueProcessor.java
+++ b/lib/java/src/main/java/org/apache/thrift/partial/ThriftFieldValueProcessor.java
@@ -19,18 +19,17 @@
 
 package org.apache.thrift.partial;
 
+import java.nio.ByteBuffer;
 import org.apache.thrift.TEnum;
 import org.apache.thrift.TFieldIdEnum;
 
-import java.nio.ByteBuffer;
-
 /**
- * Provides an abstraction to process deserialized field values and place them
- * into the collection that holds them. This abstraction allows different types
- * of collections to be output from partial deserialization.
+ * Provides an abstraction to process deserialized field values and place them into the collection
+ * that holds them. This abstraction allows different types of collections to be output from partial
+ * deserialization.
  *
- * In case of the usual Thrift deserialization, the collection that holds field
- * values is simply an instance of TBase.
+ * <p>In case of the usual Thrift deserialization, the collection that holds field values is simply
+ * an instance of TBase.
  */
 public interface ThriftFieldValueProcessor<V> {
 
@@ -39,15 +38,15 @@
 
   V prepareStruct(Object instance);
 
-  void setBool(V valueCollection, TFieldIdEnum fieldId,  boolean value);
+  void setBool(V valueCollection, TFieldIdEnum fieldId, boolean value);
 
-  void setByte(V valueCollection, TFieldIdEnum fieldId,  byte value);
+  void setByte(V valueCollection, TFieldIdEnum fieldId, byte value);
 
-  void setInt16(V valueCollection, TFieldIdEnum fieldId,  short value);
+  void setInt16(V valueCollection, TFieldIdEnum fieldId, short value);
 
-  void setInt32(V valueCollection, TFieldIdEnum fieldId,  int value);
+  void setInt32(V valueCollection, TFieldIdEnum fieldId, int value);
 
-  void setInt64(V valueCollection, TFieldIdEnum fieldId,  long value);
+  void setInt64(V valueCollection, TFieldIdEnum fieldId, long value);
 
   void setDouble(V valueCollection, TFieldIdEnum fieldId, double value);
 
diff --git a/lib/java/src/main/java/org/apache/thrift/partial/ThriftMetadata.java b/lib/java/src/main/java/org/apache/thrift/partial/ThriftMetadata.java
index 46a37f2..69f76cf 100644
--- a/lib/java/src/main/java/org/apache/thrift/partial/ThriftMetadata.java
+++ b/lib/java/src/main/java/org/apache/thrift/partial/ThriftMetadata.java
@@ -19,6 +19,14 @@
 
 package org.apache.thrift.partial;
 
+import java.io.Serializable;
+import java.lang.reflect.Constructor;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.thrift.TBase;
 import org.apache.thrift.TFieldIdEnum;
@@ -31,20 +39,10 @@
 import org.apache.thrift.meta_data.StructMetaData;
 import org.apache.thrift.protocol.TType;
 
-import java.io.Serializable;
-import java.lang.reflect.Constructor;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
 /**
- * Container for Thrift metadata classes such as {@link ThriftPrimitive},
- * {@link ThriftList}, etc.
- * <p>
- * This class is mainly used by {@code TDeserializer}.
+ * Container for Thrift metadata classes such as {@link ThriftPrimitive}, {@link ThriftList}, etc.
+ *
+ * <p>This class is mainly used by {@code TDeserializer}.
  */
 public class ThriftMetadata {
 
@@ -84,9 +82,8 @@
   /**
    * Base class of field types that can be partially deserialized.
    *
-   * Holds metadata necessary for partial deserialization.
-   * The metadata is internally computed and used; therefore it is not visible to
-   * the users of {@code TDeserializer}.
+   * <p>Holds metadata necessary for partial deserialization. The metadata is internally computed
+   * and used; therefore it is not visible to the users of {@code TDeserializer}.
    */
   public abstract static class ThriftObject implements Serializable {
     public final ThriftObject parent;
@@ -111,23 +108,17 @@
      */
     protected abstract void toPrettyString(StringBuilder sb, int level);
 
-    /**
-     * Gets a space string whose length is proportional to the given indent level.
-     */
+    /** Gets a space string whose length is proportional to the given indent level. */
     protected String getIndent(int level) {
       return StringUtils.repeat(" ", level * 4);
     }
 
-    /**
-     * Helper method to append a formatted string to the given {@code StringBuilder}.
-     */
+    /** Helper method to append a formatted string to the given {@code StringBuilder}. */
     protected void append(StringBuilder sb, String format, Object... args) {
       sb.append(String.format(format, args));
     }
 
-    /**
-     * Gets the name of this field.
-     */
+    /** Gets the name of this field. */
     protected String getName() {
       return this.fieldId.getFieldName();
     }
@@ -145,10 +136,7 @@
     private static class Factory {
 
       static ThriftObject createNew(
-          ThriftObject parent,
-          TFieldIdEnum fieldId,
-          FieldMetaData data,
-          List<ThriftField> fields) {
+          ThriftObject parent, TFieldIdEnum fieldId, FieldMetaData data, List<ThriftField> fields) {
 
         byte fieldType = data.valueMetaData.type;
         switch (fieldType) {
@@ -183,9 +171,7 @@
     }
   }
 
-  /**
-   * Metadata about primitive types.
-   */
+  /** Metadata about primitive types. */
   public static class ThriftPrimitive extends ThriftObject {
     ThriftPrimitive(ThriftObject parent, TFieldIdEnum fieldId, FieldMetaData data) {
       super(parent, fieldId, data);
@@ -248,15 +234,10 @@
     }
   }
 
-  /**
-   * Metadata of container like objects: list, set, map
-   */
+  /** Metadata of container like objects: list, set, map */
   public abstract static class ThriftContainer extends ThriftObject {
 
-    public ThriftContainer(
-        ThriftObject parent,
-        TFieldIdEnum fieldId,
-        FieldMetaData data) {
+    public ThriftContainer(ThriftObject parent, TFieldIdEnum fieldId, FieldMetaData data) {
       super(parent, fieldId, data);
     }
 
@@ -267,20 +248,18 @@
     public final ThriftObject elementData;
 
     ThriftList(
-        ThriftObject parent,
-        TFieldIdEnum fieldId,
-        FieldMetaData data,
-        List<ThriftField> fields) {
+        ThriftObject parent, TFieldIdEnum fieldId, FieldMetaData data, List<ThriftField> fields) {
       super(parent, fieldId, data);
 
-      this.elementData = ThriftObject.Factory.createNew(
-          this,
-          FieldTypeEnum.LIST_ELEMENT,
-          new FieldMetaData(
-              getSubElementName(fieldId),
-              TFieldRequirementType.REQUIRED,
-              ((ListMetaData) data.valueMetaData).elemMetaData),
-          fields);
+      this.elementData =
+          ThriftObject.Factory.createNew(
+              this,
+              FieldTypeEnum.LIST_ELEMENT,
+              new FieldMetaData(
+                  getSubElementName(fieldId),
+                  TFieldRequirementType.REQUIRED,
+                  ((ListMetaData) data.valueMetaData).elemMetaData),
+              fields);
     }
 
     @Override
@@ -300,20 +279,18 @@
     public final ThriftObject elementData;
 
     ThriftSet(
-        ThriftObject parent,
-        TFieldIdEnum fieldId,
-        FieldMetaData data,
-        List<ThriftField> fields) {
+        ThriftObject parent, TFieldIdEnum fieldId, FieldMetaData data, List<ThriftField> fields) {
       super(parent, fieldId, data);
 
-      this.elementData = ThriftObject.Factory.createNew(
-          this,
-          FieldTypeEnum.SET_ELEMENT,
-          new FieldMetaData(
-              getSubElementName(fieldId),
-              TFieldRequirementType.REQUIRED,
-              ((SetMetaData) data.valueMetaData).elemMetaData),
-          fields);
+      this.elementData =
+          ThriftObject.Factory.createNew(
+              this,
+              FieldTypeEnum.SET_ELEMENT,
+              new FieldMetaData(
+                  getSubElementName(fieldId),
+                  TFieldRequirementType.REQUIRED,
+                  ((SetMetaData) data.valueMetaData).elemMetaData),
+              fields);
     }
 
     @Override
@@ -334,29 +311,28 @@
     public final ThriftObject valueData;
 
     ThriftMap(
-        ThriftObject parent,
-        TFieldIdEnum fieldId,
-        FieldMetaData data,
-        List<ThriftField> fields) {
+        ThriftObject parent, TFieldIdEnum fieldId, FieldMetaData data, List<ThriftField> fields) {
       super(parent, fieldId, data);
 
-      this.keyData = ThriftObject.Factory.createNew(
-          this,
-          FieldTypeEnum.MAP_KEY,
-          new FieldMetaData(
-              getSubElementName(fieldId, "key"),
-              TFieldRequirementType.REQUIRED,
-              ((MapMetaData) data.valueMetaData).keyMetaData),
-          Collections.emptyList());
+      this.keyData =
+          ThriftObject.Factory.createNew(
+              this,
+              FieldTypeEnum.MAP_KEY,
+              new FieldMetaData(
+                  getSubElementName(fieldId, "key"),
+                  TFieldRequirementType.REQUIRED,
+                  ((MapMetaData) data.valueMetaData).keyMetaData),
+              Collections.emptyList());
 
-      this.valueData = ThriftObject.Factory.createNew(
-          this,
-          FieldTypeEnum.MAP_VALUE,
-          new FieldMetaData(
-              getSubElementName(fieldId, "value"),
-              TFieldRequirementType.REQUIRED,
-              ((MapMetaData) data.valueMetaData).valueMetaData),
-          fields);
+      this.valueData =
+          ThriftObject.Factory.createNew(
+              this,
+              FieldTypeEnum.MAP_VALUE,
+              new FieldMetaData(
+                  getSubElementName(fieldId, "value"),
+                  TFieldRequirementType.REQUIRED,
+                  ((MapMetaData) data.valueMetaData).valueMetaData),
+              fields);
     }
 
     @Override
@@ -378,14 +354,11 @@
   }
 
   /**
-   * Base class for metadata of ThriftStruct and ThriftUnion.
-   * Holds functionality that is common to both.
+   * Base class for metadata of ThriftStruct and ThriftUnion. Holds functionality that is common to
+   * both.
    */
   public abstract static class ThriftStructBase<U extends TBase> extends ThriftObject {
-    public ThriftStructBase(
-        ThriftObject parent,
-        TFieldIdEnum fieldId,
-        FieldMetaData data) {
+    public ThriftStructBase(ThriftObject parent, TFieldIdEnum fieldId, FieldMetaData data) {
       super(parent, fieldId, data);
     }
 
@@ -419,10 +392,7 @@
     }
   }
 
-  /**
-   * Metadata of a Thrift union.
-   * Currently not adequately supported.
-   */
+  /** Metadata of a Thrift union. Currently not adequately supported. */
   public static class ThriftUnion<U extends TBase> extends ThriftStructBase {
     public ThriftUnion(
         ThriftObject parent,
@@ -442,9 +412,7 @@
     }
   }
 
-  /**
-   * Metadata of a Thrift struct.
-   */
+  /** Metadata of a Thrift struct. */
   public static class ThriftStruct<U extends TBase> extends ThriftStructBase {
     public final Map<Integer, ThriftObject> fields;
 
@@ -474,14 +442,12 @@
     }
 
     public static <T extends TBase> ThriftStruct fromFieldNames(
-        Class<T> clasz,
-        Collection<String> fieldNames) {
+        Class<T> clasz, Collection<String> fieldNames) {
       return fromFields(clasz, ThriftField.fromNames(fieldNames));
     }
 
     public static <T extends TBase> ThriftStruct fromFields(
-        Class<T> clasz,
-        Iterable<ThriftField> fields) {
+        Class<T> clasz, Iterable<ThriftField> fields) {
 
       Validate.checkNotNull(clasz, "clasz");
       Validate.checkNotNull(fields, "fields");
@@ -521,9 +487,7 @@
     }
 
     private static <U extends TBase> Map<Integer, ThriftObject> getFields(
-        ThriftStruct parent,
-        Class<U> clasz,
-        Iterable<ThriftField> fieldsData) {
+        ThriftStruct parent, Class<U> clasz, Iterable<ThriftField> fieldsData) {
 
       Map<? extends TFieldIdEnum, FieldMetaData> fieldsMetaData =
           FieldMetaData.getStructMetaDataMap(clasz);
@@ -535,7 +499,8 @@
           TFieldIdEnum fieldId = entry.getKey();
           FieldMetaData fieldMetaData = entry.getValue();
           ThriftObject field =
-              ThriftObject.Factory.createNew(parent, fieldId, fieldMetaData, Collections.emptyList());
+              ThriftObject.Factory.createNew(
+                  parent, fieldId, fieldMetaData, Collections.emptyList());
           fields.put((int) fieldId.getThriftFieldId(), field);
         }
       } else {
@@ -553,8 +518,7 @@
     }
 
     private static FieldMetaData findFieldMetaData(
-        Map<? extends TFieldIdEnum, FieldMetaData> fieldsMetaData,
-        String fieldName) {
+        Map<? extends TFieldIdEnum, FieldMetaData> fieldsMetaData, String fieldName) {
 
       for (FieldMetaData fieldData : fieldsMetaData.values()) {
         if (fieldData.fieldName.equals(fieldName)) {
@@ -566,8 +530,7 @@
     }
 
     private static TFieldIdEnum findFieldId(
-        Map<? extends TFieldIdEnum, FieldMetaData> fieldsMetaData,
-        String fieldName) {
+        Map<? extends TFieldIdEnum, FieldMetaData> fieldsMetaData, String fieldName) {
 
       for (TFieldIdEnum fieldId : fieldsMetaData.keySet()) {
         if (fieldId.getFieldName().equals(fieldName)) {
diff --git a/lib/java/src/main/java/org/apache/thrift/partial/ThriftStructProcessor.java b/lib/java/src/main/java/org/apache/thrift/partial/ThriftStructProcessor.java
index 9578914..249e6a2 100644
--- a/lib/java/src/main/java/org/apache/thrift/partial/ThriftStructProcessor.java
+++ b/lib/java/src/main/java/org/apache/thrift/partial/ThriftStructProcessor.java
@@ -19,20 +19,19 @@
 
 package org.apache.thrift.partial;
 
-import org.apache.thrift.TBase;
-import org.apache.thrift.TEnum;
-import org.apache.thrift.TFieldIdEnum;
-
 import java.nio.ByteBuffer;
 import java.nio.charset.StandardCharsets;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.HashSet;
+import org.apache.thrift.TBase;
+import org.apache.thrift.TEnum;
+import org.apache.thrift.TFieldIdEnum;
 
 /**
  * Provides a way to create and initialize an instance of TBase during partial deserialization.
  *
- * This class is supposed to be used as a helper class for {@code PartialThriftDeserializer}.
+ * <p>This class is supposed to be used as a helper class for {@code PartialThriftDeserializer}.
  */
 public class ThriftStructProcessor implements ThriftFieldValueProcessor<TBase> {
 
@@ -109,27 +108,27 @@
   }
 
   @Override
-  public void setBool(TBase valueCollection, TFieldIdEnum fieldId,  boolean value) {
+  public void setBool(TBase valueCollection, TFieldIdEnum fieldId, boolean value) {
     valueCollection.setFieldValue(fieldId, value);
   }
 
   @Override
-  public void setByte(TBase valueCollection, TFieldIdEnum fieldId,  byte value) {
+  public void setByte(TBase valueCollection, TFieldIdEnum fieldId, byte value) {
     valueCollection.setFieldValue(fieldId, value);
   }
 
   @Override
-  public void setInt16(TBase valueCollection, TFieldIdEnum fieldId,  short value) {
+  public void setInt16(TBase valueCollection, TFieldIdEnum fieldId, short value) {
     valueCollection.setFieldValue(fieldId, value);
   }
 
   @Override
-  public void setInt32(TBase valueCollection, TFieldIdEnum fieldId,  int value) {
+  public void setInt32(TBase valueCollection, TFieldIdEnum fieldId, int value) {
     valueCollection.setFieldValue(fieldId, value);
   }
 
   @Override
-  public void setInt64(TBase valueCollection, TFieldIdEnum fieldId,  long value) {
+  public void setInt64(TBase valueCollection, TFieldIdEnum fieldId, long value) {
     valueCollection.setFieldValue(fieldId, value);
   }
 
diff --git a/lib/java/src/main/java/org/apache/thrift/partial/Validate.java b/lib/java/src/main/java/org/apache/thrift/partial/Validate.java
index ef0466a..f4bbd9a 100644
--- a/lib/java/src/main/java/org/apache/thrift/partial/Validate.java
+++ b/lib/java/src/main/java/org/apache/thrift/partial/Validate.java
@@ -26,30 +26,24 @@
 /**
  * A superset of Validate class in Apache commons lang3.
  *
- * It provides consistent message strings for frequently encountered checks.
- * That simplifies callers because they have to supply only the name of the argument
- * that failed a check instead of having to supply the entire message.
+ * <p>It provides consistent message strings for frequently encountered checks. That simplifies
+ * callers because they have to supply only the name of the argument that failed a check instead of
+ * having to supply the entire message.
  */
 public final class Validate {
   private Validate() {}
 
-  /**
-   * Validates that the given reference argument is not null.
-   */
+  /** Validates that the given reference argument is not null. */
   public static void checkNotNull(Object obj, String argName) {
     checkArgument(obj != null, "'%s' must not be null.", argName);
   }
 
-  /**
-   * Validates that the given integer argument is not zero or negative.
-   */
+  /** Validates that the given integer argument is not zero or negative. */
   public static void checkPositiveInteger(long value, String argName) {
     checkArgument(value > 0, "'%s' must be a positive integer.", argName);
   }
 
-  /**
-   * Validates that the given integer argument is not negative.
-   */
+  /** Validates that the given integer argument is not negative. */
   public static void checkNotNegative(long value, String argName) {
     checkArgument(value >= 0, "'%s' must not be negative.", argName);
   }
@@ -61,83 +55,60 @@
     checkArgument(isPresent, "'%s' is required.", argName);
   }
 
-  /**
-   * Validates that the expression (that checks a field is valid) is true.
-   */
+  /** Validates that the expression (that checks a field is valid) is true. */
   public static void checkValid(boolean isValid, String argName) {
     checkArgument(isValid, "'%s' is invalid.", argName);
   }
 
-  /**
-   * Validates that the expression (that checks a field is valid) is true.
-   */
+  /** Validates that the expression (that checks a field is valid) is true. */
   public static void checkValid(boolean isValid, String argName, String validValues) {
     checkArgument(isValid, "'%s' is invalid. Valid values are: %s.", argName, validValues);
   }
 
-  /**
-   * Validates that the given string is not null and has non-zero length.
-   */
+  /** Validates that the given string is not null and has non-zero length. */
   public static void checkNotNullAndNotEmpty(String arg, String argName) {
     Validate.checkNotNull(arg, argName);
-    Validate.checkArgument(
-        arg.length() > 0,
-        "'%s' must not be empty.",
-        argName);
+    Validate.checkArgument(arg.length() > 0, "'%s' must not be empty.", argName);
   }
 
-  /**
-   * Validates that the given array is not null and has at least one element.
-   */
+  /** Validates that the given array is not null and has at least one element. */
   public static <T> void checkNotNullAndNotEmpty(T[] array, String argName) {
     Validate.checkNotNull(array, argName);
     checkNotEmpty(array.length, argName);
   }
 
-  /**
-   * Validates that the given array is not null and has at least one element.
-   */
+  /** Validates that the given array is not null and has at least one element. */
   public static void checkNotNullAndNotEmpty(byte[] array, String argName) {
     Validate.checkNotNull(array, argName);
     checkNotEmpty(array.length, argName);
   }
 
-  /**
-   * Validates that the given array is not null and has at least one element.
-   */
+  /** Validates that the given array is not null and has at least one element. */
   public static void checkNotNullAndNotEmpty(short[] array, String argName) {
     Validate.checkNotNull(array, argName);
     checkNotEmpty(array.length, argName);
   }
 
-  /**
-   * Validates that the given array is not null and has at least one element.
-   */
+  /** Validates that the given array is not null and has at least one element. */
   public static void checkNotNullAndNotEmpty(int[] array, String argName) {
     Validate.checkNotNull(array, argName);
     checkNotEmpty(array.length, argName);
   }
 
-  /**
-   * Validates that the given array is not null and has at least one element.
-   */
+  /** Validates that the given array is not null and has at least one element. */
   public static void checkNotNullAndNotEmpty(long[] array, String argName) {
     Validate.checkNotNull(array, argName);
     checkNotEmpty(array.length, argName);
   }
 
-  /**
-   * Validates that the given buffer is not null and has non-zero capacity.
-   */
+  /** Validates that the given buffer is not null and has non-zero capacity. */
   public static <T> void checkNotNullAndNotEmpty(Iterable<T> iter, String argName) {
     Validate.checkNotNull(iter, argName);
     int minNumElements = iter.iterator().hasNext() ? 1 : 0;
     checkNotEmpty(minNumElements, argName);
   }
 
-  /**
-   * Validates that the given set is not null and has an exact number of items.
-   */
+  /** Validates that the given set is not null and has an exact number of items. */
   public static <T> void checkNotNullAndNumberOfElements(
       Collection<T> collection, int numElements, String argName) {
     Validate.checkNotNull(collection, argName);
@@ -146,18 +117,12 @@
         "Number of elements in '%s' must be exactly %s, %s given.",
         argName,
         numElements,
-        collection.size()
-    );
+        collection.size());
   }
 
-  /**
-   * Validates that the given two values are equal.
-   */
+  /** Validates that the given two values are equal. */
   public static void checkValuesEqual(
-      long value1,
-      String value1Name,
-      long value2,
-      String value2Name) {
+      long value1, String value1Name, long value2, String value2Name) {
     checkArgument(
         value1 == value2,
         "'%s' (%s) must equal '%s' (%s).",
@@ -167,14 +132,9 @@
         value2);
   }
 
-  /**
-   * Validates that the first value is an integer multiple of the second value.
-   */
+  /** Validates that the first value is an integer multiple of the second value. */
   public static void checkIntegerMultiple(
-      long value1,
-      String value1Name,
-      long value2,
-      String value2Name) {
+      long value1, String value1Name, long value2, String value2Name) {
     checkArgument(
         (value1 % value2) == 0,
         "'%s' (%s) must be an integer multiple of '%s' (%s).",
@@ -184,14 +144,8 @@
         value2);
   }
 
-  /**
-   * Validates that the first value is greater than the second value.
-   */
-  public static void checkGreater(
-      long value1,
-      String value1Name,
-      long value2,
-      String value2Name) {
+  /** Validates that the first value is greater than the second value. */
+  public static void checkGreater(long value1, String value1Name, long value2, String value2Name) {
     checkArgument(
         value1 > value2,
         "'%s' (%s) must be greater than '%s' (%s).",
@@ -201,14 +155,9 @@
         value2);
   }
 
-  /**
-   * Validates that the first value is greater than or equal to the second value.
-   */
+  /** Validates that the first value is greater than or equal to the second value. */
   public static void checkGreaterOrEqual(
-      long value1,
-      String value1Name,
-      long value2,
-      String value2Name) {
+      long value1, String value1Name, long value2, String value2Name) {
     checkArgument(
         value1 >= value2,
         "'%s' (%s) must be greater than or equal to '%s' (%s).",
@@ -218,14 +167,9 @@
         value2);
   }
 
-  /**
-   * Validates that the first value is less than or equal to the second value.
-   */
+  /** Validates that the first value is less than or equal to the second value. */
   public static void checkLessOrEqual(
-      long value1,
-      String value1Name,
-      long value2,
-      String value2Name) {
+      long value1, String value1Name, long value2, String value2Name) {
     checkArgument(
         value1 <= value2,
         "'%s' (%s) must be less than or equal to '%s' (%s).",
@@ -235,14 +179,9 @@
         value2);
   }
 
-  /**
-   * Validates that the given value is within the given range of values.
-   */
+  /** Validates that the given value is within the given range of values. */
   public static void checkWithinRange(
-      long value,
-      String valueName,
-      long minValueInclusive,
-      long maxValueInclusive) {
+      long value, String valueName, long minValueInclusive, long maxValueInclusive) {
     checkArgument(
         (value >= minValueInclusive) && (value <= maxValueInclusive),
         "'%s' (%s) must be within the range [%s, %s].",
@@ -252,14 +191,9 @@
         maxValueInclusive);
   }
 
-  /**
-   * Validates that the given value is within the given range of values.
-   */
+  /** Validates that the given value is within the given range of values. */
   public static void checkWithinRange(
-      double value,
-      String valueName,
-      double minValueInclusive,
-      double maxValueInclusive) {
+      double value, String valueName, double minValueInclusive, double maxValueInclusive) {
     checkArgument(
         (value >= minValueInclusive) && (value <= maxValueInclusive),
         "'%s' (%s) must be within the range [%s, %s].",
@@ -277,10 +211,7 @@
   public static void checkPathExistsAsDir(Path path, String argName) {
     checkPathExists(path, argName);
     checkArgument(
-        Files.isDirectory(path),
-        "Path %s (%s) must point to a directory.",
-        argName,
-        path);
+        Files.isDirectory(path), "Path %s (%s) must point to a directory.", argName, path);
   }
 
   public static void checkPathExistsAsFile(Path path, String argName) {
@@ -297,9 +228,6 @@
   }
 
   private static void checkNotEmpty(int arraySize, String argName) {
-    Validate.checkArgument(
-        arraySize > 0,
-        "'%s' must have at least one element.",
-        argName);
+    Validate.checkArgument(arraySize > 0, "'%s' must have at least one element.", argName);
   }
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/protocol/ShortStack.java b/lib/java/src/main/java/org/apache/thrift/protocol/ShortStack.java
index 9e65930..64afb60 100644
--- a/lib/java/src/main/java/org/apache/thrift/protocol/ShortStack.java
+++ b/lib/java/src/main/java/org/apache/thrift/protocol/ShortStack.java
@@ -21,9 +21,9 @@
 import java.util.Arrays;
 
 /**
- * ShortStack is a short-specific Stack implementation written for the express
- * purpose of very fast operations on TCompactProtocol's field id stack. This
- * implementation performs at least 10x faster than java.util.Stack.
+ * ShortStack is a short-specific Stack implementation written for the express purpose of very fast
+ * operations on TCompactProtocol's field id stack. This implementation performs at least 10x faster
+ * than java.util.Stack.
  */
 class ShortStack {
 
diff --git a/lib/java/src/main/java/org/apache/thrift/protocol/TBase64Utils.java b/lib/java/src/main/java/org/apache/thrift/protocol/TBase64Utils.java
index abfc965..a948d13 100644
--- a/lib/java/src/main/java/org/apache/thrift/protocol/TBase64Utils.java
+++ b/lib/java/src/main/java/org/apache/thrift/protocol/TBase64Utils.java
@@ -22,105 +22,96 @@
 /**
  * Class for encoding and decoding Base64 data.
  *
- * This class is kept at package level because the interface does no input
- * validation and is therefore too low-level for generalized reuse.
+ * <p>This class is kept at package level because the interface does no input validation and is
+ * therefore too low-level for generalized reuse.
  *
- * Note also that the encoding does not pad with equal signs , as discussed in
- * section 2.2 of the RFC (http://www.faqs.org/rfcs/rfc3548.html). Furthermore,
- * bad data encountered when decoding is neither rejected or ignored but simply
- * results in bad decoded data -- this is not in compliance with the RFC but is
- * done in the interest of performance.
- *
+ * <p>Note also that the encoding does not pad with equal signs , as discussed in section 2.2 of the
+ * RFC (http://www.faqs.org/rfcs/rfc3548.html). Furthermore, bad data encountered when decoding is
+ * neither rejected or ignored but simply results in bad decoded data -- this is not in compliance
+ * with the RFC but is done in the interest of performance.
  */
 class TBase64Utils {
 
   private static final String ENCODE_TABLE =
-    "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+      "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
 
   /**
-   * Encode len bytes of data in src at offset srcOff, storing the result into
-   * dst at offset dstOff. len must be 1, 2, or 3. dst must have at least len+1
-   * bytes of space at dstOff. src and dst should not be the same object. This
-   * method does no validation of the input values in the interest of
-   * performance.
+   * Encode len bytes of data in src at offset srcOff, storing the result into dst at offset dstOff.
+   * len must be 1, 2, or 3. dst must have at least len+1 bytes of space at dstOff. src and dst
+   * should not be the same object. This method does no validation of the input values in the
+   * interest of performance.
    *
-   * @param src  the source of bytes to encode
-   * @param srcOff  the offset into the source to read the unencoded bytes
-   * @param len  the number of bytes to encode (must be 1, 2, or 3).
-   * @param dst  the destination for the encoding
-   * @param dstOff  the offset into the destination to place the encoded bytes
+   * @param src the source of bytes to encode
+   * @param srcOff the offset into the source to read the unencoded bytes
+   * @param len the number of bytes to encode (must be 1, 2, or 3).
+   * @param dst the destination for the encoding
+   * @param dstOff the offset into the destination to place the encoded bytes
    */
-  static final void encode(byte[] src, int srcOff, int len,  byte[] dst,
-                           int dstOff) {
-    dst[dstOff] = (byte)ENCODE_TABLE.charAt((src[srcOff] >> 2) & 0x3F);
+  static final void encode(byte[] src, int srcOff, int len, byte[] dst, int dstOff) {
+    dst[dstOff] = (byte) ENCODE_TABLE.charAt((src[srcOff] >> 2) & 0x3F);
     if (len == 3) {
       dst[dstOff + 1] =
-        (byte)ENCODE_TABLE.charAt(
-                         ((src[srcOff] << 4) & 0x30) | ((src[srcOff+1] >> 4) & 0x0F));
+          (byte) ENCODE_TABLE.charAt(((src[srcOff] << 4) & 0x30) | ((src[srcOff + 1] >> 4) & 0x0F));
       dst[dstOff + 2] =
-        (byte)ENCODE_TABLE.charAt(
-                         ((src[srcOff+1] << 2) & 0x3C) | ((src[srcOff+2] >> 6) & 0x03));
-      dst[dstOff + 3] =
-        (byte)ENCODE_TABLE.charAt(src[srcOff+2] & 0x3F);
-    }
-    else if (len == 2) {
-      dst[dstOff+1] =
-        (byte)ENCODE_TABLE.charAt(
-                          ((src[srcOff] << 4) & 0x30) | ((src[srcOff+1] >> 4) & 0x0F));
-      dst[dstOff + 2] =
-        (byte)ENCODE_TABLE.charAt((src[srcOff+1] << 2) & 0x3C);
-    }
-    else { // len == 1) {
+          (byte)
+              ENCODE_TABLE.charAt(
+                  ((src[srcOff + 1] << 2) & 0x3C) | ((src[srcOff + 2] >> 6) & 0x03));
+      dst[dstOff + 3] = (byte) ENCODE_TABLE.charAt(src[srcOff + 2] & 0x3F);
+    } else if (len == 2) {
       dst[dstOff + 1] =
-        (byte)ENCODE_TABLE.charAt((src[srcOff] << 4) & 0x30);
+          (byte) ENCODE_TABLE.charAt(((src[srcOff] << 4) & 0x30) | ((src[srcOff + 1] >> 4) & 0x0F));
+      dst[dstOff + 2] = (byte) ENCODE_TABLE.charAt((src[srcOff + 1] << 2) & 0x3C);
+    } else { // len == 1) {
+      dst[dstOff + 1] = (byte) ENCODE_TABLE.charAt((src[srcOff] << 4) & 0x30);
     }
   }
 
   private static final byte[] DECODE_TABLE = {
-    -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-    -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-    -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,
-    52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,
-    -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,
-    15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,
-    -1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,
-    41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1,
-    -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-    -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-    -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-    -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-    -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-    -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-    -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-    -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
+    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63,
+    52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1,
+    -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+    15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,
+    -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
+    41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1,
+    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
   };
 
   /**
-   * Decode len bytes of data in src at offset srcOff, storing the result into
-   * dst at offset dstOff. len must be 2, 3, or 4. dst must have at least len-1
-   * bytes of space at dstOff. src and dst may be the same object as long as
-   * dstoff <= srcOff. This method does no validation of the input values in
-   * the interest of performance.
+   * Decode len bytes of data in src at offset srcOff, storing the result into dst at offset dstOff.
+   * len must be 2, 3, or 4. dst must have at least len-1 bytes of space at dstOff. src and dst may
+   * be the same object as long as dstoff <= srcOff. This method does no validation of the input
+   * values in the interest of performance.
    *
-   * @param src  the source of bytes to decode
-   * @param srcOff  the offset into the source to read the encoded bytes
-   * @param len  the number of bytes to decode (must be 2, 3, or 4)
-   * @param dst  the destination for the decoding
-   * @param dstOff  the offset into the destination to place the decoded bytes
+   * @param src the source of bytes to decode
+   * @param srcOff the offset into the source to read the encoded bytes
+   * @param len the number of bytes to decode (must be 2, 3, or 4)
+   * @param dst the destination for the decoding
+   * @param dstOff the offset into the destination to place the decoded bytes
    */
-  static final void decode(byte[] src, int srcOff, int len,  byte[] dst,
-                           int dstOff) {
-    dst[dstOff] = (byte)
-      ((DECODE_TABLE[src[srcOff] & 0x0FF] << 2) |
-       (DECODE_TABLE[src[srcOff+1] & 0x0FF] >> 4));
+  static final void decode(byte[] src, int srcOff, int len, byte[] dst, int dstOff) {
+    dst[dstOff] =
+        (byte)
+            ((DECODE_TABLE[src[srcOff] & 0x0FF] << 2)
+                | (DECODE_TABLE[src[srcOff + 1] & 0x0FF] >> 4));
     if (len > 2) {
-      dst[dstOff+1] = (byte)
-        (((DECODE_TABLE[src[srcOff+1] & 0x0FF] << 4) & 0xF0) |
-         (DECODE_TABLE[src[srcOff+2] & 0x0FF] >> 2));
+      dst[dstOff + 1] =
+          (byte)
+              (((DECODE_TABLE[src[srcOff + 1] & 0x0FF] << 4) & 0xF0)
+                  | (DECODE_TABLE[src[srcOff + 2] & 0x0FF] >> 2));
       if (len > 3) {
-        dst[dstOff+2] = (byte)
-          (((DECODE_TABLE[src[srcOff+2] & 0x0FF] << 6) & 0xC0) |
-           DECODE_TABLE[src[srcOff+3] & 0x0FF]);
+        dst[dstOff + 2] =
+            (byte)
+                (((DECODE_TABLE[src[srcOff + 2] & 0x0FF] << 6) & 0xC0)
+                    | DECODE_TABLE[src[srcOff + 3] & 0x0FF]);
       }
     }
   }
diff --git a/lib/java/src/main/java/org/apache/thrift/protocol/TBinaryProtocol.java b/lib/java/src/main/java/org/apache/thrift/protocol/TBinaryProtocol.java
index e8444fe..3b93dbf 100644
--- a/lib/java/src/main/java/org/apache/thrift/protocol/TBinaryProtocol.java
+++ b/lib/java/src/main/java/org/apache/thrift/protocol/TBinaryProtocol.java
@@ -21,16 +21,12 @@
 
 import java.nio.ByteBuffer;
 import java.nio.charset.StandardCharsets;
-
 import org.apache.thrift.TException;
 import org.apache.thrift.partial.TFieldData;
 import org.apache.thrift.transport.TTransport;
 import org.apache.thrift.transport.TTransportException;
 
-/**
- * Binary protocol implementation for thrift.
- *
- */
+/** Binary protocol implementation for thrift. */
 public class TBinaryProtocol extends TProtocol {
   private static final TStruct ANONYMOUS_STRUCT = new TStruct();
   private static final long NO_LENGTH_LIMIT = -1;
@@ -39,15 +35,14 @@
   protected static final int VERSION_1 = 0x80010000;
 
   /**
-   * The maximum number of bytes to read from the transport for
-   * variable-length fields (such as strings or binary) or {@link #NO_LENGTH_LIMIT} for
-   * unlimited.
+   * The maximum number of bytes to read from the transport for variable-length fields (such as
+   * strings or binary) or {@link #NO_LENGTH_LIMIT} for unlimited.
    */
   private final long stringLengthLimit_;
 
   /**
-   * The maximum number of elements to read from the network for
-   * containers (maps, sets, lists), or {@link #NO_LENGTH_LIMIT} for unlimited.
+   * The maximum number of elements to read from the network for containers (maps, sets, lists), or
+   * {@link #NO_LENGTH_LIMIT} for unlimited.
    */
   private final long containerLengthLimit_;
 
@@ -56,9 +51,7 @@
 
   private final byte[] inoutTemp = new byte[8];
 
-  /**
-   * Factory
-   */
+  /** Factory */
   public static class Factory implements TProtocolFactory {
     protected long stringLengthLimit_;
     protected long containerLengthLimit_;
@@ -77,7 +70,11 @@
       this(false, true, stringLengthLimit, containerLengthLimit);
     }
 
-    public Factory(boolean strictRead, boolean strictWrite, long stringLengthLimit, long containerLengthLimit) {
+    public Factory(
+        boolean strictRead,
+        boolean strictWrite,
+        long stringLengthLimit,
+        long containerLengthLimit) {
       stringLengthLimit_ = stringLengthLimit;
       containerLengthLimit_ = containerLengthLimit;
       strictRead_ = strictRead;
@@ -85,13 +82,12 @@
     }
 
     public TProtocol getProtocol(TTransport trans) {
-      return new TBinaryProtocol(trans, stringLengthLimit_, containerLengthLimit_, strictRead_, strictWrite_);
+      return new TBinaryProtocol(
+          trans, stringLengthLimit_, containerLengthLimit_, strictRead_, strictWrite_);
     }
   }
 
-  /**
-   * Constructor
-   */
+  /** Constructor */
   public TBinaryProtocol(TTransport trans) {
     this(trans, false, true);
   }
@@ -104,7 +100,12 @@
     this(trans, stringLengthLimit, containerLengthLimit, false, true);
   }
 
-  public TBinaryProtocol(TTransport trans, long stringLengthLimit, long containerLengthLimit, boolean strictRead, boolean strictWrite) {
+  public TBinaryProtocol(
+      TTransport trans,
+      long stringLengthLimit,
+      long containerLengthLimit,
+      boolean strictRead,
+      boolean strictWrite) {
     super(trans);
     stringLengthLimit_ = stringLengthLimit;
     containerLengthLimit_ = containerLengthLimit;
@@ -179,7 +180,7 @@
 
   @Override
   public void writeBool(boolean b) throws TException {
-    writeByte(b ? (byte)1 : (byte)0);
+    writeByte(b ? (byte) 1 : (byte) 0);
   }
 
   @Override
@@ -190,30 +191,30 @@
 
   @Override
   public void writeI16(short i16) throws TException {
-    inoutTemp[0] = (byte)(0xff & (i16 >> 8));
-    inoutTemp[1] = (byte)(0xff & (i16));
+    inoutTemp[0] = (byte) (0xff & (i16 >> 8));
+    inoutTemp[1] = (byte) (0xff & (i16));
     trans_.write(inoutTemp, 0, 2);
   }
 
   @Override
   public void writeI32(int i32) throws TException {
-    inoutTemp[0] = (byte)(0xff & (i32 >> 24));
-    inoutTemp[1] = (byte)(0xff & (i32 >> 16));
-    inoutTemp[2] = (byte)(0xff & (i32 >> 8));
-    inoutTemp[3] = (byte)(0xff & (i32));
+    inoutTemp[0] = (byte) (0xff & (i32 >> 24));
+    inoutTemp[1] = (byte) (0xff & (i32 >> 16));
+    inoutTemp[2] = (byte) (0xff & (i32 >> 8));
+    inoutTemp[3] = (byte) (0xff & (i32));
     trans_.write(inoutTemp, 0, 4);
   }
 
   @Override
   public void writeI64(long i64) throws TException {
-    inoutTemp[0] = (byte)(0xff & (i64 >> 56));
-    inoutTemp[1] = (byte)(0xff & (i64 >> 48));
-    inoutTemp[2] = (byte)(0xff & (i64 >> 40));
-    inoutTemp[3] = (byte)(0xff & (i64 >> 32));
-    inoutTemp[4] = (byte)(0xff & (i64 >> 24));
-    inoutTemp[5] = (byte)(0xff & (i64 >> 16));
-    inoutTemp[6] = (byte)(0xff & (i64 >> 8));
-    inoutTemp[7] = (byte)(0xff & (i64));
+    inoutTemp[0] = (byte) (0xff & (i64 >> 56));
+    inoutTemp[1] = (byte) (0xff & (i64 >> 48));
+    inoutTemp[2] = (byte) (0xff & (i64 >> 40));
+    inoutTemp[3] = (byte) (0xff & (i64 >> 32));
+    inoutTemp[4] = (byte) (0xff & (i64 >> 24));
+    inoutTemp[5] = (byte) (0xff & (i64 >> 16));
+    inoutTemp[6] = (byte) (0xff & (i64 >> 8));
+    inoutTemp[7] = (byte) (0xff & (i64));
     trans_.write(inoutTemp, 0, 8);
   }
 
@@ -236,22 +237,21 @@
     trans_.write(bin.array(), bin.position() + bin.arrayOffset(), length);
   }
 
-  /**
-   * Reading methods.
-   */
-
+  /** Reading methods. */
   @Override
   public TMessage readMessageBegin() throws TException {
     int size = readI32();
     if (size < 0) {
       int version = size & VERSION_MASK;
       if (version != VERSION_1) {
-        throw new TProtocolException(TProtocolException.BAD_VERSION, "Bad version in readMessageBegin");
+        throw new TProtocolException(
+            TProtocolException.BAD_VERSION, "Bad version in readMessageBegin");
       }
-      return new TMessage(readString(), (byte)(size & 0x000000ff), readI32());
+      return new TMessage(readString(), (byte) (size & 0x000000ff), readI32());
     } else {
       if (strictRead_) {
-        throw new TProtocolException(TProtocolException.BAD_VERSION, "Missing version in readMessageBegin, old client?");
+        throw new TProtocolException(
+            TProtocolException.BAD_VERSION, "Missing version in readMessageBegin, old client?");
       }
       return new TMessage(readStringBody(size), readByte(), readI32());
     }
@@ -343,10 +343,7 @@
       readAll(inoutTemp, 0, 2);
     }
 
-    return
-      (short)
-      (((buf[off] & 0xff) << 8) |
-       ((buf[off+1] & 0xff)));
+    return (short) (((buf[off] & 0xff) << 8) | ((buf[off + 1] & 0xff)));
   }
 
   @Override
@@ -361,11 +358,10 @@
     } else {
       readAll(inoutTemp, 0, 4);
     }
-    return
-      ((buf[off] & 0xff) << 24) |
-      ((buf[off+1] & 0xff) << 16) |
-      ((buf[off+2] & 0xff) <<  8) |
-      ((buf[off+3] & 0xff));
+    return ((buf[off] & 0xff) << 24)
+        | ((buf[off + 1] & 0xff) << 16)
+        | ((buf[off + 2] & 0xff) << 8)
+        | ((buf[off + 3] & 0xff));
   }
 
   @Override
@@ -381,15 +377,14 @@
       readAll(inoutTemp, 0, 8);
     }
 
-    return
-      ((long)(buf[off]   & 0xff) << 56) |
-      ((long)(buf[off+1] & 0xff) << 48) |
-      ((long)(buf[off+2] & 0xff) << 40) |
-      ((long)(buf[off+3] & 0xff) << 32) |
-      ((long)(buf[off+4] & 0xff) << 24) |
-      ((long)(buf[off+5] & 0xff) << 16) |
-      ((long)(buf[off+6] & 0xff) <<  8) |
-      ((long)(buf[off+7] & 0xff));
+    return ((long) (buf[off] & 0xff) << 56)
+        | ((long) (buf[off + 1] & 0xff) << 48)
+        | ((long) (buf[off + 2] & 0xff) << 40)
+        | ((long) (buf[off + 3] & 0xff) << 32)
+        | ((long) (buf[off + 4] & 0xff) << 24)
+        | ((long) (buf[off + 5] & 0xff) << 16)
+        | ((long) (buf[off + 6] & 0xff) << 8)
+        | ((long) (buf[off + 7] & 0xff));
   }
 
   @Override
@@ -402,8 +397,8 @@
     int size = readI32();
 
     if (trans_.getBytesRemainingInBuffer() >= size) {
-      String s = new String(trans_.getBuffer(), trans_.getBufferPosition(),
-          size, StandardCharsets.UTF_8);
+      String s =
+          new String(trans_.getBuffer(), trans_.getBufferPosition(), size, StandardCharsets.UTF_8);
       trans_.consumeBuffer(size);
       return s;
     }
@@ -437,26 +432,24 @@
 
   private void checkStringReadLength(int length) throws TException {
     if (length < 0) {
-      throw new TProtocolException(TProtocolException.NEGATIVE_SIZE,
-                                   "Negative length: " + length);
+      throw new TProtocolException(TProtocolException.NEGATIVE_SIZE, "Negative length: " + length);
     }
 
     getTransport().checkReadBytesAvailable(length);
 
     if (stringLengthLimit_ != NO_LENGTH_LIMIT && length > stringLengthLimit_) {
-      throw new TProtocolException(TProtocolException.SIZE_LIMIT,
-                                   "Length exceeded max allowed: " + length);
+      throw new TProtocolException(
+          TProtocolException.SIZE_LIMIT, "Length exceeded max allowed: " + length);
     }
   }
 
   private void checkContainerReadLength(int length) throws TProtocolException {
     if (length < 0) {
-      throw new TProtocolException(TProtocolException.NEGATIVE_SIZE,
-                                   "Negative length: " + length);
+      throw new TProtocolException(TProtocolException.NEGATIVE_SIZE, "Negative length: " + length);
     }
     if (containerLengthLimit_ != NO_LENGTH_LIMIT && length > containerLengthLimit_) {
-      throw new TProtocolException(TProtocolException.SIZE_LIMIT,
-                                   "Length exceeded max allowed: " + length);
+      throw new TProtocolException(
+          TProtocolException.SIZE_LIMIT, "Length exceeded max allowed: " + length);
     }
   }
 
@@ -464,27 +457,37 @@
     return trans_.readAll(buf, off, len);
   }
 
-  /**
-   *
-   * Return the minimum number of bytes a type will consume on the wire
-   */
+  /** Return the minimum number of bytes a type will consume on the wire */
   public int getMinSerializedSize(byte type) throws TTransportException {
-    switch (type)
-    {
-      case 0: return 0; // Stop
-      case 1: return 0; // Void
-      case 2: return 1; // Bool sizeof(byte)
-      case 3: return 1; // Byte sizeof(byte)
-      case 4: return 8; // Double sizeof(double)
-      case 6: return 2; // I16 sizeof(short)
-      case 8: return 4; // I32 sizeof(int)
-      case 10: return 8;// I64 sizeof(long)
-      case 11: return 4;  // string length sizeof(int)
-      case 12: return 0;  // empty struct
-      case 13: return 4;  // element count Map sizeof(int)
-      case 14: return 4;  // element count Set sizeof(int)
-      case 15: return 4;  // element count List sizeof(int)
-      default: throw new TTransportException(TTransportException.UNKNOWN, "unrecognized type code");
+    switch (type) {
+      case 0:
+        return 0; // Stop
+      case 1:
+        return 0; // Void
+      case 2:
+        return 1; // Bool sizeof(byte)
+      case 3:
+        return 1; // Byte sizeof(byte)
+      case 4:
+        return 8; // Double sizeof(double)
+      case 6:
+        return 2; // I16 sizeof(short)
+      case 8:
+        return 4; // I32 sizeof(int)
+      case 10:
+        return 8; // I64 sizeof(long)
+      case 11:
+        return 4; // string length sizeof(int)
+      case 12:
+        return 0; // empty struct
+      case 13:
+        return 4; // element count Map sizeof(int)
+      case 14:
+        return 4; // element count Set sizeof(int)
+      case 15:
+        return 4; // element count List sizeof(int)
+      default:
+        throw new TTransportException(TTransportException.UNKNOWN, "unrecognized type code");
     }
   }
   // -----------------------------------------------------------------
diff --git a/lib/java/src/main/java/org/apache/thrift/protocol/TCompactProtocol.java b/lib/java/src/main/java/org/apache/thrift/protocol/TCompactProtocol.java
index 3bace8e..8adb25e 100644
--- a/lib/java/src/main/java/org/apache/thrift/protocol/TCompactProtocol.java
+++ b/lib/java/src/main/java/org/apache/thrift/protocol/TCompactProtocol.java
@@ -17,36 +17,32 @@
  * under the License.
  */
 
-
 package org.apache.thrift.protocol;
 
-import java.io.UnsupportedEncodingException;
 import java.nio.ByteBuffer;
 import java.nio.charset.StandardCharsets;
-
 import org.apache.thrift.TException;
 import org.apache.thrift.transport.TTransport;
 import org.apache.thrift.transport.TTransportException;
 
 /**
- * TCompactProtocol2 is the Java implementation of the compact protocol specified
- * in THRIFT-110. The fundamental approach to reducing the overhead of
- * structures is a) use variable-length integers all over the place and b) make
- * use of unused bits wherever possible. Your savings will obviously vary
- * based on the specific makeup of your structs, but in general, the more
- * fields, nested structures, short strings and collections, and low-value i32
- * and i64 fields you have, the more benefit you'll see.
+ * TCompactProtocol2 is the Java implementation of the compact protocol specified in THRIFT-110. The
+ * fundamental approach to reducing the overhead of structures is a) use variable-length integers
+ * all over the place and b) make use of unused bits wherever possible. Your savings will obviously
+ * vary based on the specific makeup of your structs, but in general, the more fields, nested
+ * structures, short strings and collections, and low-value i32 and i64 fields you have, the more
+ * benefit you'll see.
  */
 public class TCompactProtocol extends TProtocol {
-  private final static byte[] EMPTY_BYTES = new byte[0];
-  private final static ByteBuffer EMPTY_BUFFER = ByteBuffer.wrap(EMPTY_BYTES);
+  private static final byte[] EMPTY_BYTES = new byte[0];
+  private static final ByteBuffer EMPTY_BUFFER = ByteBuffer.wrap(EMPTY_BYTES);
 
-  private final static long NO_LENGTH_LIMIT = -1;
+  private static final long NO_LENGTH_LIMIT = -1;
 
-  private final static TStruct ANONYMOUS_STRUCT = new TStruct("");
-  private final static TField TSTOP = new TField("", TType.STOP, (short)0);
+  private static final TStruct ANONYMOUS_STRUCT = new TStruct("");
+  private static final TField TSTOP = new TField("", TType.STOP, (short) 0);
 
-  private final static byte[] ttypeToCompactType = new byte[16];
+  private static final byte[] ttypeToCompactType = new byte[16];
 
   static {
     ttypeToCompactType[TType.STOP] = TType.STOP;
@@ -63,9 +59,7 @@
     ttypeToCompactType[TType.STRUCT] = Types.STRUCT;
   }
 
-  /**
-   * TProtocolFactory that produces TCompactProtocols.
-   */
+  /** TProtocolFactory that produces TCompactProtocols. */
   public static class Factory implements TProtocolFactory {
     private final long stringLengthLimit_;
     private final long containerLengthLimit_;
@@ -88,67 +82,63 @@
     }
   }
 
-  private static final byte PROTOCOL_ID = (byte)0x82;
+  private static final byte PROTOCOL_ID = (byte) 0x82;
   private static final byte VERSION = 1;
   private static final byte VERSION_MASK = 0x1f; // 0001 1111
-  private static final byte TYPE_MASK = (byte)0xE0; // 1110 0000
+  private static final byte TYPE_MASK = (byte) 0xE0; // 1110 0000
   private static final byte TYPE_BITS = 0x07; // 0000 0111
-  private static final int  TYPE_SHIFT_AMOUNT = 5;
+  private static final int TYPE_SHIFT_AMOUNT = 5;
 
-  /**
-   * All of the on-wire type codes.
-   */
+  /** All of the on-wire type codes. */
   private static class Types {
-    public static final byte BOOLEAN_TRUE   = 0x01;
-    public static final byte BOOLEAN_FALSE  = 0x02;
-    public static final byte BYTE           = 0x03;
-    public static final byte I16            = 0x04;
-    public static final byte I32            = 0x05;
-    public static final byte I64            = 0x06;
-    public static final byte DOUBLE         = 0x07;
-    public static final byte BINARY         = 0x08;
-    public static final byte LIST           = 0x09;
-    public static final byte SET            = 0x0A;
-    public static final byte MAP            = 0x0B;
-    public static final byte STRUCT         = 0x0C;
+    public static final byte BOOLEAN_TRUE = 0x01;
+    public static final byte BOOLEAN_FALSE = 0x02;
+    public static final byte BYTE = 0x03;
+    public static final byte I16 = 0x04;
+    public static final byte I32 = 0x05;
+    public static final byte I64 = 0x06;
+    public static final byte DOUBLE = 0x07;
+    public static final byte BINARY = 0x08;
+    public static final byte LIST = 0x09;
+    public static final byte SET = 0x0A;
+    public static final byte MAP = 0x0B;
+    public static final byte STRUCT = 0x0C;
   }
 
   /**
-   * Used to keep track of the last field for the current and previous structs,
-   * so we can do the delta stuff.
+   * Used to keep track of the last field for the current and previous structs, so we can do the
+   * delta stuff.
    */
   private final ShortStack lastField_ = new ShortStack(15);
 
   private short lastFieldId_ = 0;
 
   /**
-   * If we encounter a boolean field begin, save the TField here so it can
-   * have the value incorporated.
+   * If we encounter a boolean field begin, save the TField here so it can have the value
+   * incorporated.
    */
   private TField booleanField_ = null;
 
   /**
-   * If we read a field header, and it's a boolean field, save the boolean
-   * value here so that readBool can use it.
+   * If we read a field header, and it's a boolean field, save the boolean value here so that
+   * readBool can use it.
    */
   private Boolean boolValue_ = null;
 
   /**
-   * The maximum number of bytes to read from the transport for
-   * variable-length fields (such as strings or binary) or {@link #NO_LENGTH_LIMIT} for
-   * unlimited.
+   * The maximum number of bytes to read from the transport for variable-length fields (such as
+   * strings or binary) or {@link #NO_LENGTH_LIMIT} for unlimited.
    */
   private final long stringLengthLimit_;
 
   /**
-   * The maximum number of elements to read from the network for
-   * containers (maps, sets, lists), or {@link #NO_LENGTH_LIMIT} for unlimited.
+   * The maximum number of elements to read from the network for containers (maps, sets, lists), or
+   * {@link #NO_LENGTH_LIMIT} for unlimited.
    */
   private final long containerLengthLimit_;
 
   /**
-   * Temporary buffer used for various operations that would otherwise require a
-   * small allocation.
+   * Temporary buffer used for various operations that would otherwise require a small allocation.
    */
   private final byte[] temp = new byte[10];
 
@@ -156,10 +146,8 @@
    * Create a TCompactProtocol.
    *
    * @param transport the TTransport object to read from or write to.
-   * @param stringLengthLimit the maximum number of bytes to read for
-   *     variable-length fields.
-   * @param containerLengthLimit the maximum number of elements to read
-   *     for containers.
+   * @param stringLengthLimit the maximum number of bytes to read for variable-length fields.
+   * @param containerLengthLimit the maximum number of elements to read for containers.
    */
   public TCompactProtocol(TTransport transport, long stringLengthLimit, long containerLengthLimit) {
     super(transport);
@@ -171,8 +159,7 @@
    * Create a TCompactProtocol.
    *
    * @param transport the TTransport object to read from or write to.
-   * @param stringLengthLimit the maximum number of bytes to read for
-   *     variable-length fields.
+   * @param stringLengthLimit the maximum number of bytes to read for variable-length fields.
    * @deprecated Use constructor specifying both string limit and container limit instead
    */
   @Deprecated
@@ -200,8 +187,8 @@
   //
 
   /**
-   * Write a message header to the wire. Compact Protocol messages contain the
-   * protocol version so we can migrate forwards in the future if need be.
+   * Write a message header to the wire. Compact Protocol messages contain the protocol version so
+   * we can migrate forwards in the future if need be.
    */
   @Override
   public void writeMessageBegin(TMessage message) throws TException {
@@ -212,9 +199,9 @@
   }
 
   /**
-   * Write a struct begin. This doesn't actually put anything on the wire. We
-   * use it as an opportunity to put special placeholder markers on the field
-   * stack so we can get the field id deltas correct.
+   * Write a struct begin. This doesn't actually put anything on the wire. We use it as an
+   * opportunity to put special placeholder markers on the field stack so we can get the field id
+   * deltas correct.
    */
   @Override
   public void writeStructBegin(TStruct struct) throws TException {
@@ -223,33 +210,30 @@
   }
 
   /**
-   * Write a struct end. This doesn't actually put anything on the wire. We use
-   * this as an opportunity to pop the last field from the current struct off
-   * of the field stack.
+   * Write a struct end. This doesn't actually put anything on the wire. We use this as an
+   * opportunity to pop the last field from the current struct off of the field stack.
    */
   public void writeStructEnd() throws TException {
     lastFieldId_ = lastField_.pop();
   }
 
   /**
-   * Write a field header containing the field id and field type. If the
-   * difference between the current field id and the last one is small (&lt; 15),
-   * then the field id will be encoded in the 4 MSB as a delta. Otherwise, the
-   * field id will follow the type header as a zigzag varint.
+   * Write a field header containing the field id and field type. If the difference between the
+   * current field id and the last one is small (&lt; 15), then the field id will be encoded in the
+   * 4 MSB as a delta. Otherwise, the field id will follow the type header as a zigzag varint.
    */
   public void writeFieldBegin(TField field) throws TException {
     if (field.type == TType.BOOL) {
       // we want to possibly include the value, so we'll wait.
       booleanField_ = field;
     } else {
-      writeFieldBeginInternal(field, (byte)-1);
+      writeFieldBeginInternal(field, (byte) -1);
     }
   }
 
   /**
-   * The workhorse of writeFieldBegin. It has the option of doing a
-   * 'type override' of the type header. This is used specifically in the
-   * boolean field case.
+   * The workhorse of writeFieldBegin. It has the option of doing a 'type override' of the type
+   * header. This is used specifically in the boolean field case.
    */
   private void writeFieldBeginInternal(TField field, byte typeOverride) throws TException {
     // short lastField = lastField_.pop();
@@ -271,16 +255,14 @@
     // lastField_.push(field.id);
   }
 
-  /**
-   * Write the STOP symbol so we know there are no more fields in this struct.
-   */
+  /** Write the STOP symbol so we know there are no more fields in this struct. */
   public void writeFieldStop() throws TException {
     writeByteDirect(TType.STOP);
   }
 
   /**
-   * Write a map header. If the map is empty, omit the key and value type
-   * headers, as we don't need any additional information to skip it.
+   * Write a map header. If the map is empty, omit the key and value type headers, as we don't need
+   * any additional information to skip it.
    */
   public void writeMapBegin(TMap map) throws TException {
     if (map.size == 0) {
@@ -291,25 +273,20 @@
     }
   }
 
-  /**
-   * Write a list header.
-   */
+  /** Write a list header. */
   public void writeListBegin(TList list) throws TException {
     writeCollectionBegin(list.elemType, list.size);
   }
 
-  /**
-   * Write a set header.
-   */
+  /** Write a set header. */
   public void writeSetBegin(TSet set) throws TException {
     writeCollectionBegin(set.elemType, set.size);
   }
 
   /**
-   * Write a boolean value. Potentially, this could be a boolean field, in
-   * which case the field header info isn't written yet. If so, decide what the
-   * right type header is for the value and then write the field header.
-   * Otherwise, write a single byte.
+   * Write a boolean value. Potentially, this could be a boolean field, in which case the field
+   * header info isn't written yet. If so, decide what the right type header is for the value and
+   * then write the field header. Otherwise, write a single byte.
    */
   public void writeBool(boolean b) throws TException {
     if (booleanField_ != null) {
@@ -322,54 +299,40 @@
     }
   }
 
-  /**
-   * Write a byte. Nothing to see here!
-   */
+  /** Write a byte. Nothing to see here! */
   public void writeByte(byte b) throws TException {
     writeByteDirect(b);
   }
 
-  /**
-   * Write an I16 as a zigzag varint.
-   */
+  /** Write an I16 as a zigzag varint. */
   public void writeI16(short i16) throws TException {
     writeVarint32(intToZigZag(i16));
   }
 
-  /**
-   * Write an i32 as a zigzag varint.
-   */
+  /** Write an i32 as a zigzag varint. */
   public void writeI32(int i32) throws TException {
     writeVarint32(intToZigZag(i32));
   }
 
-  /**
-   * Write an i64 as a zigzag varint.
-   */
+  /** Write an i64 as a zigzag varint. */
   public void writeI64(long i64) throws TException {
     writeVarint64(longToZigzag(i64));
   }
 
-  /**
-   * Write a double to the wire as 8 bytes.
-   */
+  /** Write a double to the wire as 8 bytes. */
   public void writeDouble(double dub) throws TException {
     fixedLongToBytes(Double.doubleToLongBits(dub), temp, 0);
     trans_.write(temp, 0, 8);
   }
 
-  /**
-   * Write a string to the wire with a varint size preceding.
-   */
+  /** Write a string to the wire with a varint size preceding. */
   public void writeString(String str) throws TException {
     byte[] bytes = str.getBytes(StandardCharsets.UTF_8);
     writeVarint32(bytes.length);
     trans_.write(bytes, 0, bytes.length);
   }
 
-  /**
-   * Write a byte array, using a varint for the size.
-   */
+  /** Write a byte array, using a varint for the size. */
   public void writeBinary(ByteBuffer bin) throws TException {
     ByteBuffer bb = bin.asReadOnlyBuffer();
     writeVarint32(bb.remaining());
@@ -382,9 +345,13 @@
   //
 
   public void writeMessageEnd() throws TException {}
+
   public void writeMapEnd() throws TException {}
+
   public void writeListEnd() throws TException {}
+
   public void writeSetEnd() throws TException {}
+
   public void writeFieldEnd() throws TException {}
 
   //
@@ -392,8 +359,8 @@
   //
 
   /**
-   * Abstract method for writing the start of lists and sets. List and sets on
-   * the wire differ only by the type indicator.
+   * Abstract method for writing the start of lists and sets. List and sets on the wire differ only
+   * by the type indicator.
    */
   protected void writeCollectionBegin(byte elemType, int size) throws TException {
     if (size <= 14) {
@@ -405,19 +372,19 @@
   }
 
   /**
-   * Write an i32 as a varint. Results in 1-5 bytes on the wire.
-   * TODO: make a permanent buffer like writeVarint64?
+   * Write an i32 as a varint. Results in 1-5 bytes on the wire. TODO: make a permanent buffer like
+   * writeVarint64?
    */
   private void writeVarint32(int n) throws TException {
     int idx = 0;
     while (true) {
       if ((n & ~0x7F) == 0) {
-        temp[idx++] = (byte)n;
+        temp[idx++] = (byte) n;
         // writeByteDirect((byte)n);
         break;
         // return;
       } else {
-        temp[idx++] = (byte)((n & 0x7F) | 0x80);
+        temp[idx++] = (byte) ((n & 0x7F) | 0x80);
         // writeByteDirect((byte)((n & 0x7F) | 0x80));
         n >>>= 7;
       }
@@ -425,17 +392,15 @@
     trans_.write(temp, 0, idx);
   }
 
-  /**
-   * Write an i64 as a varint. Results in 1-10 bytes on the wire.
-   */
+  /** Write an i64 as a varint. Results in 1-10 bytes on the wire. */
   private void writeVarint64(long n) throws TException {
     int idx = 0;
     while (true) {
       if ((n & ~0x7FL) == 0) {
-        temp[idx++] = (byte)n;
+        temp[idx++] = (byte) n;
         break;
       } else {
-        temp[idx++] = ((byte)((n & 0x7F) | 0x80));
+        temp[idx++] = ((byte) ((n & 0x7F) | 0x80));
         n >>>= 7;
       }
     }
@@ -443,79 +408,75 @@
   }
 
   /**
-   * Convert l into a zigzag long. This allows negative numbers to be
-   * represented compactly as a varint.
+   * Convert l into a zigzag long. This allows negative numbers to be represented compactly as a
+   * varint.
    */
   private long longToZigzag(long l) {
     return (l << 1) ^ (l >> 63);
   }
 
   /**
-   * Convert n into a zigzag int. This allows negative numbers to be
-   * represented compactly as a varint.
+   * Convert n into a zigzag int. This allows negative numbers to be represented compactly as a
+   * varint.
    */
   private int intToZigZag(int n) {
     return (n << 1) ^ (n >> 31);
   }
 
-  /**
-   * Convert a long into little-endian bytes in buf starting at off and going
-   * until off+7.
-   */
+  /** Convert a long into little-endian bytes in buf starting at off and going until off+7. */
   private void fixedLongToBytes(long n, byte[] buf, int off) {
-    buf[off+0] = (byte)( n        & 0xff);
-    buf[off+1] = (byte)((n >> 8 ) & 0xff);
-    buf[off+2] = (byte)((n >> 16) & 0xff);
-    buf[off+3] = (byte)((n >> 24) & 0xff);
-    buf[off+4] = (byte)((n >> 32) & 0xff);
-    buf[off+5] = (byte)((n >> 40) & 0xff);
-    buf[off+6] = (byte)((n >> 48) & 0xff);
-    buf[off+7] = (byte)((n >> 56) & 0xff);
+    buf[off + 0] = (byte) (n & 0xff);
+    buf[off + 1] = (byte) ((n >> 8) & 0xff);
+    buf[off + 2] = (byte) ((n >> 16) & 0xff);
+    buf[off + 3] = (byte) ((n >> 24) & 0xff);
+    buf[off + 4] = (byte) ((n >> 32) & 0xff);
+    buf[off + 5] = (byte) ((n >> 40) & 0xff);
+    buf[off + 6] = (byte) ((n >> 48) & 0xff);
+    buf[off + 7] = (byte) ((n >> 56) & 0xff);
   }
 
   /**
-   * Writes a byte without any possibility of all that field header nonsense.
-   * Used internally by other writing methods that know they need to write a byte.
+   * Writes a byte without any possibility of all that field header nonsense. Used internally by
+   * other writing methods that know they need to write a byte.
    */
   private void writeByteDirect(byte b) throws TException {
     temp[0] = b;
     trans_.write(temp, 0, 1);
   }
 
-  /**
-   * Writes a byte without any possibility of all that field header nonsense.
-   */
+  /** Writes a byte without any possibility of all that field header nonsense. */
   private void writeByteDirect(int n) throws TException {
-    writeByteDirect((byte)n);
+    writeByteDirect((byte) n);
   }
 
-
   //
   // Reading methods.
   //
 
-  /**
-   * Read a message header.
-   */
+  /** Read a message header. */
   public TMessage readMessageBegin() throws TException {
     byte protocolId = readByte();
     if (protocolId != PROTOCOL_ID) {
-      throw new TProtocolException("Expected protocol id " + Integer.toHexString(PROTOCOL_ID) + " but got " + Integer.toHexString(protocolId));
+      throw new TProtocolException(
+          "Expected protocol id "
+              + Integer.toHexString(PROTOCOL_ID)
+              + " but got "
+              + Integer.toHexString(protocolId));
     }
     byte versionAndType = readByte();
-    byte version = (byte)(versionAndType & VERSION_MASK);
+    byte version = (byte) (versionAndType & VERSION_MASK);
     if (version != VERSION) {
       throw new TProtocolException("Expected version " + VERSION + " but got " + version);
     }
-    byte type = (byte)((versionAndType >> TYPE_SHIFT_AMOUNT) & TYPE_BITS);
+    byte type = (byte) ((versionAndType >> TYPE_SHIFT_AMOUNT) & TYPE_BITS);
     int seqid = readVarint32();
     String messageName = readString();
     return new TMessage(messageName, type, seqid);
   }
 
   /**
-   * Read a struct begin. There's nothing on the wire for this, but it is our
-   * opportunity to push a new struct begin marker onto the field stack.
+   * Read a struct begin. There's nothing on the wire for this, but it is our opportunity to push a
+   * new struct begin marker onto the field stack.
    */
   public TStruct readStructBegin() throws TException {
     lastField_.push(lastFieldId_);
@@ -524,17 +485,15 @@
   }
 
   /**
-   * Doesn't actually consume any wire data, just removes the last field for
-   * this struct from the field stack.
+   * Doesn't actually consume any wire data, just removes the last field for this struct from the
+   * field stack.
    */
   public void readStructEnd() throws TException {
     // consume the last field we read off the wire.
     lastFieldId_ = lastField_.pop();
   }
 
-  /**
-   * Read a field header off the wire.
-   */
+  /** Read a field header off the wire. */
   public TField readFieldBegin() throws TException {
     byte type = readByte();
 
@@ -546,21 +505,21 @@
     short fieldId;
 
     // mask off the 4 MSB of the type header. it could contain a field id delta.
-    short modifier = (short)((type & 0xf0) >> 4);
+    short modifier = (short) ((type & 0xf0) >> 4);
     if (modifier == 0) {
       // not a delta. look ahead for the zigzag varint field id.
       fieldId = readI16();
     } else {
       // has a delta. add the delta to the last read field id.
-      fieldId = (short)(lastFieldId_ + modifier);
+      fieldId = (short) (lastFieldId_ + modifier);
     }
 
-    TField field = new TField("", getTType((byte)(type & 0x0f)), fieldId);
+    TField field = new TField("", getTType((byte) (type & 0x0f)), fieldId);
 
     // if this happens to be a boolean field, the value is encoded in the type
     if (isBoolType(type)) {
       // save the boolean value in a special instance variable.
-      boolValue_ = (byte)(type & 0x0f) == Types.BOOLEAN_TRUE ? Boolean.TRUE : Boolean.FALSE;
+      boolValue_ = (byte) (type & 0x0f) == Types.BOOLEAN_TRUE ? Boolean.TRUE : Boolean.FALSE;
     }
 
     // push the new field onto the field stack so we can keep the deltas going.
@@ -569,24 +528,26 @@
   }
 
   /**
-   * Read a map header off the wire. If the size is zero, skip reading the key
-   * and value type. This means that 0-length maps will yield TMaps without the
-   * "correct" types.
+   * Read a map header off the wire. If the size is zero, skip reading the key and value type. This
+   * means that 0-length maps will yield TMaps without the "correct" types.
    */
   public TMap readMapBegin() throws TException {
     int size = readVarint32();
     checkContainerReadLength(size);
     byte keyAndValueType = size == 0 ? 0 : readByte();
-    TMap map = new TMap(getTType((byte)(keyAndValueType >> 4)), getTType((byte)(keyAndValueType & 0xf)), size);
+    TMap map =
+        new TMap(
+            getTType((byte) (keyAndValueType >> 4)),
+            getTType((byte) (keyAndValueType & 0xf)),
+            size);
     checkReadBytesAvailable(map);
     return map;
   }
 
   /**
-   * Read a list header off the wire. If the list size is 0-14, the size will
-   * be packed into the element type header. If it's a longer list, the 4 MSB
-   * of the element type header will be 0xF, and a varint will follow with the
-   * true size.
+   * Read a list header off the wire. If the list size is 0-14, the size will be packed into the
+   * element type header. If it's a longer list, the 4 MSB of the element type header will be 0xF,
+   * and a varint will follow with the true size.
    */
   public TList readListBegin() throws TException {
     byte size_and_type = readByte();
@@ -601,19 +562,17 @@
   }
 
   /**
-   * Read a set header off the wire. If the set size is 0-14, the size will
-   * be packed into the element type header. If it's a longer set, the 4 MSB
-   * of the element type header will be 0xF, and a varint will follow with the
-   * true size.
+   * Read a set header off the wire. If the set size is 0-14, the size will be packed into the
+   * element type header. If it's a longer set, the 4 MSB of the element type header will be 0xF,
+   * and a varint will follow with the true size.
    */
   public TSet readSetBegin() throws TException {
     return new TSet(readListBegin());
   }
 
   /**
-   * Read a boolean off the wire. If this is a boolean field, the value should
-   * already have been read during readFieldBegin, so we'll just consume the
-   * pre-stored value. Otherwise, read a byte.
+   * Read a boolean off the wire. If this is a boolean field, the value should already have been
+   * read during readFieldBegin, so we'll just consume the pre-stored value. Otherwise, read a byte.
    */
   public boolean readBool() throws TException {
     if (boolValue_ != null) {
@@ -624,9 +583,7 @@
     return readByte() == Types.BOOLEAN_TRUE;
   }
 
-  /**
-   * Read a single byte off the wire. Nothing interesting here.
-   */
+  /** Read a single byte off the wire. Nothing interesting here. */
   public byte readByte() throws TException {
     byte b;
     if (trans_.getBytesRemainingInBuffer() > 0) {
@@ -639,38 +596,28 @@
     return b;
   }
 
-  /**
-   * Read an i16 from the wire as a zigzag varint.
-   */
+  /** Read an i16 from the wire as a zigzag varint. */
   public short readI16() throws TException {
-    return (short)zigzagToInt(readVarint32());
+    return (short) zigzagToInt(readVarint32());
   }
 
-  /**
-   * Read an i32 from the wire as a zigzag varint.
-   */
+  /** Read an i32 from the wire as a zigzag varint. */
   public int readI32() throws TException {
     return zigzagToInt(readVarint32());
   }
 
-  /**
-   * Read an i64 from the wire as a zigzag varint.
-   */
+  /** Read an i64 from the wire as a zigzag varint. */
   public long readI64() throws TException {
     return zigzagToLong(readVarint64());
   }
 
-  /**
-   * No magic here - just read a double off the wire.
-   */
+  /** No magic here - just read a double off the wire. */
   public double readDouble() throws TException {
     trans_.readAll(temp, 0, 8);
     return Double.longBitsToDouble(bytesToLong(temp));
   }
 
-  /**
-   * Reads a byte[] (via readBinary), and then UTF-8 decodes it.
-   */
+  /** Reads a byte[] (via readBinary), and then UTF-8 decodes it. */
   public String readString() throws TException {
     int length = readVarint32();
     checkStringReadLength(length);
@@ -681,8 +628,9 @@
 
     final String str;
     if (trans_.getBytesRemainingInBuffer() >= length) {
-      str = new String(trans_.getBuffer(), trans_.getBufferPosition(),
-          length, StandardCharsets.UTF_8);
+      str =
+          new String(
+              trans_.getBuffer(), trans_.getBufferPosition(), length, StandardCharsets.UTF_8);
       trans_.consumeBuffer(length);
     } else {
       str = new String(readBinary(length), StandardCharsets.UTF_8);
@@ -690,9 +638,7 @@
     return str;
   }
 
-  /**
-   * Read a ByteBuffer from the wire.
-   */
+  /** Read a ByteBuffer from the wire. */
   public ByteBuffer readBinary() throws TException {
     int length = readVarint32();
     if (length == 0) {
@@ -710,9 +656,7 @@
     return ByteBuffer.wrap(buf);
   }
 
-  /**
-   * Read a byte[] of a known length from the wire.
-   */
+  /** Read a byte[] of a known length from the wire. */
   private byte[] readBinary(int length) throws TException {
     if (length == 0) return EMPTY_BYTES;
 
@@ -723,26 +667,24 @@
 
   private void checkStringReadLength(int length) throws TException {
     if (length < 0) {
-      throw new TProtocolException(TProtocolException.NEGATIVE_SIZE,
-                                   "Negative length: " + length);
+      throw new TProtocolException(TProtocolException.NEGATIVE_SIZE, "Negative length: " + length);
     }
 
     getTransport().checkReadBytesAvailable(length);
 
     if (stringLengthLimit_ != NO_LENGTH_LIMIT && length > stringLengthLimit_) {
-      throw new TProtocolException(TProtocolException.SIZE_LIMIT,
-                                   "Length exceeded max allowed: " + length);
+      throw new TProtocolException(
+          TProtocolException.SIZE_LIMIT, "Length exceeded max allowed: " + length);
     }
   }
 
   private void checkContainerReadLength(int length) throws TProtocolException {
     if (length < 0) {
-      throw new TProtocolException(TProtocolException.NEGATIVE_SIZE,
-                                   "Negative length: " + length);
+      throw new TProtocolException(TProtocolException.NEGATIVE_SIZE, "Negative length: " + length);
     }
     if (containerLengthLimit_ != NO_LENGTH_LIMIT && length > containerLengthLimit_) {
-      throw new TProtocolException(TProtocolException.SIZE_LIMIT,
-                                   "Length exceeded max allowed: " + length);
+      throw new TProtocolException(
+          TProtocolException.SIZE_LIMIT, "Length exceeded max allowed: " + length);
     }
   }
 
@@ -752,12 +694,16 @@
   //
   @Override
   public void readMessageEnd() throws TException {}
+
   @Override
   public void readFieldEnd() throws TException {}
+
   @Override
   public void readMapEnd() throws TException {}
+
   @Override
   public void readListEnd() throws TException {}
+
   @Override
   public void readSetEnd() throws TException {}
 
@@ -766,8 +712,8 @@
   //
 
   /**
-   * Read an i32 from the wire as a varint. The MSB of each byte is set
-   * if there is another byte to follow. This can read up to 5 bytes.
+   * Read an i32 from the wire as a varint. The MSB of each byte is set if there is another byte to
+   * follow. This can read up to 5 bytes.
    */
   private int readVarint32() throws TException {
     int result = 0;
@@ -777,13 +723,13 @@
       int pos = trans_.getBufferPosition();
       int off = 0;
       while (true) {
-        byte b = buf[pos+off];
+        byte b = buf[pos + off];
         result |= (b & 0x7f) << shift;
         if ((b & 0x80) != 0x80) break;
         shift += 7;
         off++;
       }
-      trans_.consumeBuffer(off+1);
+      trans_.consumeBuffer(off + 1);
     } else {
       while (true) {
         byte b = readByte();
@@ -796,8 +742,8 @@
   }
 
   /**
-   * Read an i64 from the wire as a proper varint. The MSB of each byte is set
-   * if there is another byte to follow. This can read up to 10 bytes.
+   * Read an i64 from the wire as a proper varint. The MSB of each byte is set if there is another
+   * byte to follow. This can read up to 10 bytes.
    */
   private long readVarint64() throws TException {
     int shift = 0;
@@ -807,19 +753,19 @@
       int pos = trans_.getBufferPosition();
       int off = 0;
       while (true) {
-        byte b = buf[pos+off];
+        byte b = buf[pos + off];
         result |= (long) (b & 0x7f) << shift;
         if ((b & 0x80) != 0x80) break;
         shift += 7;
         off++;
       }
-      trans_.consumeBuffer(off+1);
+      trans_.consumeBuffer(off + 1);
     } else {
       while (true) {
         byte b = readByte();
         result |= (long) (b & 0x7f) << shift;
         if ((b & 0x80) != 0x80) break;
-        shift +=7;
+        shift += 7;
       }
     }
     return result;
@@ -829,35 +775,29 @@
   // encoding helpers
   //
 
-  /**
-   * Convert from zigzag int to int.
-   */
+  /** Convert from zigzag int to int. */
   private int zigzagToInt(int n) {
     return (n >>> 1) ^ -(n & 1);
   }
 
-  /**
-   * Convert from zigzag long to long.
-   */
+  /** Convert from zigzag long to long. */
   private long zigzagToLong(long n) {
     return (n >>> 1) ^ -(n & 1);
   }
 
   /**
-   * Note that it's important that the mask bytes are long literals,
-   * otherwise they'll default to ints, and when you shift an int left 56 bits,
-   * you just get a messed up int.
+   * Note that it's important that the mask bytes are long literals, otherwise they'll default to
+   * ints, and when you shift an int left 56 bits, you just get a messed up int.
    */
   private long bytesToLong(byte[] bytes) {
-    return
-      ((bytes[7] & 0xffL) << 56) |
-      ((bytes[6] & 0xffL) << 48) |
-      ((bytes[5] & 0xffL) << 40) |
-      ((bytes[4] & 0xffL) << 32) |
-      ((bytes[3] & 0xffL) << 24) |
-      ((bytes[2] & 0xffL) << 16) |
-      ((bytes[1] & 0xffL) <<  8) |
-      ((bytes[0] & 0xffL));
+    return ((bytes[7] & 0xffL) << 56)
+        | ((bytes[6] & 0xffL) << 48)
+        | ((bytes[5] & 0xffL) << 40)
+        | ((bytes[4] & 0xffL) << 32)
+        | ((bytes[3] & 0xffL) << 24)
+        | ((bytes[2] & 0xffL) << 16)
+        | ((bytes[1] & 0xffL) << 8)
+        | ((bytes[0] & 0xffL));
   }
 
   //
@@ -869,12 +809,9 @@
     return lowerNibble == Types.BOOLEAN_TRUE || lowerNibble == Types.BOOLEAN_FALSE;
   }
 
-  /**
-   * Given a TCompactProtocol.Types constant, convert it to its corresponding
-   * TType value.
-   */
+  /** Given a TCompactProtocol.Types constant, convert it to its corresponding TType value. */
   private byte getTType(byte type) throws TProtocolException {
-    switch ((byte)(type & 0x0f)) {
+    switch ((byte) (type & 0x0f)) {
       case TType.STOP:
         return TType.STOP;
       case Types.BOOLEAN_FALSE:
@@ -901,51 +838,47 @@
       case Types.STRUCT:
         return TType.STRUCT;
       default:
-        throw new TProtocolException("don't know what type: " + (byte)(type & 0x0f));
+        throw new TProtocolException("don't know what type: " + (byte) (type & 0x0f));
     }
   }
 
-  /**
-   * Given a TType value, find the appropriate TCompactProtocol.Types constant.
-   */
+  /** Given a TType value, find the appropriate TCompactProtocol.Types constant. */
   private byte getCompactType(byte ttype) {
     return ttypeToCompactType[ttype];
   }
 
-  /**
-   * Return the minimum number of bytes a type will consume on the wire
-   */
+  /** Return the minimum number of bytes a type will consume on the wire */
   public int getMinSerializedSize(byte type) throws TTransportException {
-      switch (type) {
-          case 0:
-              return 0; // Stop
-          case 1:
-              return 0; // Void
-          case 2:
-              return 1; // Bool sizeof(byte)
-          case 3:
-              return 1; // Byte sizeof(byte)
-          case 4:
-              return 8; // Double sizeof(double)
-          case 6:
-              return 1; // I16 sizeof(byte)
-          case 8:
-              return 1; // I32 sizeof(byte)
-          case 10:
-              return 1;// I64 sizeof(byte)
-          case 11:
-              return 1;  // string length sizeof(byte)
-          case 12:
-              return 0;  // empty struct
-          case 13:
-              return 1;  // element count Map sizeof(byte)
-          case 14:
-              return 1;  // element count Set sizeof(byte)
-          case 15:
-              return 1;  // element count List sizeof(byte)
-          default:
-              throw new TTransportException(TTransportException.UNKNOWN, "unrecognized type code");
-      }
+    switch (type) {
+      case 0:
+        return 0; // Stop
+      case 1:
+        return 0; // Void
+      case 2:
+        return 1; // Bool sizeof(byte)
+      case 3:
+        return 1; // Byte sizeof(byte)
+      case 4:
+        return 8; // Double sizeof(double)
+      case 6:
+        return 1; // I16 sizeof(byte)
+      case 8:
+        return 1; // I32 sizeof(byte)
+      case 10:
+        return 1; // I64 sizeof(byte)
+      case 11:
+        return 1; // string length sizeof(byte)
+      case 12:
+        return 0; // empty struct
+      case 13:
+        return 1; // element count Map sizeof(byte)
+      case 14:
+        return 1; // element count Set sizeof(byte)
+      case 15:
+        return 1; // element count List sizeof(byte)
+      default:
+        throw new TTransportException(TTransportException.UNKNOWN, "unrecognized type code");
+    }
   }
   // -----------------------------------------------------------------
   // Additional methods to improve performance.
diff --git a/lib/java/src/main/java/org/apache/thrift/protocol/TField.java b/lib/java/src/main/java/org/apache/thrift/protocol/TField.java
index 3872b00..9fde33c 100644
--- a/lib/java/src/main/java/org/apache/thrift/protocol/TField.java
+++ b/lib/java/src/main/java/org/apache/thrift/protocol/TField.java
@@ -21,11 +21,12 @@
 
 /**
  * Helper class that encapsulates field metadata.
- * <p>Two fields are considered equal if they have the same type and id.</p>
+ *
+ * <p>Two fields are considered equal if they have the same type and id.
  */
 public class TField {
   public TField() {
-    this("", TType.STOP, (short)0);
+    this("", TType.STOP, (short) 0);
   }
 
   public TField(String n, byte t, short i) {
@@ -35,8 +36,8 @@
   }
 
   public final String name;
-  public final byte   type;
-  public final short  id;
+  public final byte type;
+  public final short id;
 
   public String toString() {
     return "<TField name:'" + name + "' type:" + type + " field-id:" + id + ">";
@@ -53,12 +54,9 @@
 
   @Override
   public boolean equals(Object obj) {
-    if (this == obj)
-      return true;
-    if (obj == null)
-      return false;
-    if (getClass() != obj.getClass())
-      return false;
+    if (this == obj) return true;
+    if (obj == null) return false;
+    if (getClass() != obj.getClass()) return false;
     TField otherField = (TField) obj;
     return type == otherField.type && id == otherField.id;
   }
diff --git a/lib/java/src/main/java/org/apache/thrift/protocol/TJSONProtocol.java b/lib/java/src/main/java/org/apache/thrift/protocol/TJSONProtocol.java
index 95eb62c..53d0d71 100644
--- a/lib/java/src/main/java/org/apache/thrift/protocol/TJSONProtocol.java
+++ b/lib/java/src/main/java/org/apache/thrift/protocol/TJSONProtocol.java
@@ -24,7 +24,6 @@
 import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.Stack;
-
 import org.apache.thrift.TByteArrayOutputStream;
 import org.apache.thrift.TException;
 import org.apache.thrift.transport.TTransport;
@@ -33,17 +32,13 @@
 /**
  * JSON protocol implementation for thrift.
  *
- * This is a full-featured protocol supporting write and read.
+ * <p>This is a full-featured protocol supporting write and read.
  *
- * Please see the C++ class header for a detailed description of the
- * protocol's wire format.
- *
+ * <p>Please see the C++ class header for a detailed description of the protocol's wire format.
  */
 public class TJSONProtocol extends TProtocol {
 
-  /**
-   * Factory for JSON protocol objects
-   */
+  /** Factory for JSON protocol objects */
   public static class Factory implements TProtocolFactory {
     protected boolean fieldNamesAsString_ = false;
 
@@ -56,7 +51,6 @@
     public TProtocol getProtocol(TTransport trans) {
       return new TJSONProtocol(trans, fieldNamesAsString_);
     }
-
   }
 
   private static final byte[] COMMA = new byte[] {','};
@@ -69,15 +63,15 @@
   private static final byte[] BACKSLASH = new byte[] {'\\'};
   private static final byte[] ZERO = new byte[] {'0'};
 
-  private static final byte[] ESCSEQ = new byte[] {'\\','u','0','0'};
+  private static final byte[] ESCSEQ = new byte[] {'\\', 'u', '0', '0'};
 
-  private static final long  VERSION = 1;
+  private static final long VERSION = 1;
 
   private static final byte[] JSON_CHAR_TABLE = {
     /*  0   1   2   3   4   5   6   7   8   9   A   B   C   D   E   F */
-    0,  0,  0,  0,  0,  0,  0,  0,'b','t','n',  0,'f','r',  0,  0, // 0
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, // 1
-    1,  1,'"',  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, // 2
+    0, 0, 0, 0, 0, 0, 0, 0, 'b', 't', 'n', 0, 'f', 'r', 0, 0, // 0
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1
+    1, 1, '"', 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 2
   };
 
   private static final String ESCAPE_CHARS = "\"\\/bfnrt";
@@ -86,102 +80,97 @@
     '"', '\\', '/', '\b', '\f', '\n', '\r', '\t',
   };
 
-  private static final int  DEF_STRING_SIZE = 16;
+  private static final int DEF_STRING_SIZE = 16;
 
   private static final byte[] NAME_BOOL = new byte[] {'t', 'f'};
-  private static final byte[] NAME_BYTE = new byte[] {'i','8'};
-  private static final byte[] NAME_I16 = new byte[] {'i','1','6'};
-  private static final byte[] NAME_I32 = new byte[] {'i','3','2'};
-  private static final byte[] NAME_I64 = new byte[] {'i','6','4'};
-  private static final byte[] NAME_DOUBLE = new byte[] {'d','b','l'};
-  private static final byte[] NAME_STRUCT = new byte[] {'r','e','c'};
-  private static final byte[] NAME_STRING = new byte[] {'s','t','r'};
-  private static final byte[] NAME_MAP = new byte[] {'m','a','p'};
-  private static final byte[] NAME_LIST = new byte[] {'l','s','t'};
-  private static final byte[] NAME_SET = new byte[] {'s','e','t'};
+  private static final byte[] NAME_BYTE = new byte[] {'i', '8'};
+  private static final byte[] NAME_I16 = new byte[] {'i', '1', '6'};
+  private static final byte[] NAME_I32 = new byte[] {'i', '3', '2'};
+  private static final byte[] NAME_I64 = new byte[] {'i', '6', '4'};
+  private static final byte[] NAME_DOUBLE = new byte[] {'d', 'b', 'l'};
+  private static final byte[] NAME_STRUCT = new byte[] {'r', 'e', 'c'};
+  private static final byte[] NAME_STRING = new byte[] {'s', 't', 'r'};
+  private static final byte[] NAME_MAP = new byte[] {'m', 'a', 'p'};
+  private static final byte[] NAME_LIST = new byte[] {'l', 's', 't'};
+  private static final byte[] NAME_SET = new byte[] {'s', 'e', 't'};
 
   private static final TStruct ANONYMOUS_STRUCT = new TStruct();
 
-  private static final byte[] getTypeNameForTypeID(byte typeID)
-    throws TException {
+  private static final byte[] getTypeNameForTypeID(byte typeID) throws TException {
     switch (typeID) {
-    case TType.BOOL:
-      return NAME_BOOL;
-    case TType.BYTE:
-      return NAME_BYTE;
-    case TType.I16:
-      return NAME_I16;
-    case TType.I32:
-      return NAME_I32;
-    case TType.I64:
-      return NAME_I64;
-    case TType.DOUBLE:
-      return NAME_DOUBLE;
-    case TType.STRING:
-      return NAME_STRING;
-    case TType.STRUCT:
-      return NAME_STRUCT;
-    case TType.MAP:
-      return NAME_MAP;
-    case TType.SET:
-      return NAME_SET;
-    case TType.LIST:
-      return NAME_LIST;
-    default:
-      throw new TProtocolException(TProtocolException.NOT_IMPLEMENTED,
-                                   "Unrecognized type");
+      case TType.BOOL:
+        return NAME_BOOL;
+      case TType.BYTE:
+        return NAME_BYTE;
+      case TType.I16:
+        return NAME_I16;
+      case TType.I32:
+        return NAME_I32;
+      case TType.I64:
+        return NAME_I64;
+      case TType.DOUBLE:
+        return NAME_DOUBLE;
+      case TType.STRING:
+        return NAME_STRING;
+      case TType.STRUCT:
+        return NAME_STRUCT;
+      case TType.MAP:
+        return NAME_MAP;
+      case TType.SET:
+        return NAME_SET;
+      case TType.LIST:
+        return NAME_LIST;
+      default:
+        throw new TProtocolException(TProtocolException.NOT_IMPLEMENTED, "Unrecognized type");
     }
   }
 
-  private static final byte getTypeIDForTypeName(byte[] name)
-    throws TException {
+  private static final byte getTypeIDForTypeName(byte[] name) throws TException {
     byte result = TType.STOP;
     if (name.length > 1) {
       switch (name[0]) {
-      case 'd':
-        result = TType.DOUBLE;
-        break;
-      case 'i':
-        switch (name[1]) {
-        case '8':
-          result = TType.BYTE;
+        case 'd':
+          result = TType.DOUBLE;
           break;
-        case '1':
-          result = TType.I16;
+        case 'i':
+          switch (name[1]) {
+            case '8':
+              result = TType.BYTE;
+              break;
+            case '1':
+              result = TType.I16;
+              break;
+            case '3':
+              result = TType.I32;
+              break;
+            case '6':
+              result = TType.I64;
+              break;
+          }
           break;
-        case '3':
-          result = TType.I32;
+        case 'l':
+          result = TType.LIST;
           break;
-        case '6':
-          result = TType.I64;
+        case 'm':
+          result = TType.MAP;
           break;
-        }
-        break;
-      case 'l':
-        result = TType.LIST;
-        break;
-      case 'm':
-        result = TType.MAP;
-        break;
-      case 'r':
-        result = TType.STRUCT;
-        break;
-      case 's':
-        if (name[1] == 't') {
-          result = TType.STRING;
-        }
-        else if (name[1] == 'e') {
-          result = TType.SET;
-        }
-        break;
-      case 't':
-        result = TType.BOOL;
-        break;
+        case 'r':
+          result = TType.STRUCT;
+          break;
+        case 's':
+          if (name[1] == 't') {
+            result = TType.STRING;
+          } else if (name[1] == 'e') {
+            result = TType.SET;
+          }
+          break;
+        case 't':
+          result = TType.BOOL;
+          break;
       }
     }
     if (result == TType.STOP) {
-      throw new TProtocolException(TProtocolException.NOT_IMPLEMENTED,
-                                   "Unrecognized type");
+      throw new TProtocolException(TProtocolException.NOT_IMPLEMENTED, "Unrecognized type");
     }
     return result;
   }
@@ -194,7 +183,9 @@
 
     protected void read() throws TException {}
 
-    protected boolean escapeNum() { return false; }
+    protected boolean escapeNum() {
+      return false;
+    }
   }
 
   // Context for JSON lists. Will insert/read commas before each item except
@@ -268,8 +259,7 @@
     protected byte read() throws TException {
       if (hasData_) {
         hasData_ = false;
-      }
-      else {
+      } else {
         trans_.readAll(data_, 0, 1);
       }
       return data_[0];
@@ -316,9 +306,7 @@
     }
   }
 
-  /**
-   * Constructor
-   */
+  /** Constructor */
   public TJSONProtocol(TTransport trans) {
     super(trans);
   }
@@ -344,8 +332,8 @@
   protected void readJSONSyntaxChar(byte[] b) throws TException {
     byte ch = reader_.read();
     if (ch != b[0]) {
-      throw new TProtocolException(TProtocolException.INVALID_DATA,
-                                   "Unexpected character:" + (char)ch);
+      throw new TProtocolException(
+          TProtocolException.INVALID_DATA, "Unexpected character:" + (char) ch);
     }
   }
 
@@ -353,14 +341,11 @@
   // corresponding hex value
   private static final byte hexVal(byte ch) throws TException {
     if ((ch >= '0') && (ch <= '9')) {
-      return (byte)((char)ch - '0');
-    }
-    else if ((ch >= 'a') && (ch <= 'f')) {
-      return (byte)((char)ch - 'a' + 10);
-    }
-    else {
-      throw new TProtocolException(TProtocolException.INVALID_DATA,
-                                   "Expected hex character");
+      return (byte) ((char) ch - '0');
+    } else if ((ch >= 'a') && (ch <= 'f')) {
+      return (byte) ((char) ch - 'a' + 10);
+    } else {
+      throw new TProtocolException(TProtocolException.INVALID_DATA, "Expected hex character");
     }
   }
 
@@ -368,10 +353,9 @@
   private static final byte hexChar(byte val) {
     val &= 0x0F;
     if (val < 10) {
-      return (byte)((char)val + '0');
-    }
-    else {
-      return (byte)((char)(val - 10) + 'a');
+      return (byte) ((char) val + '0');
+    } else {
+      return (byte) ((char) (val - 10) + 'a');
     }
   }
 
@@ -385,23 +369,19 @@
         if (b[i] == BACKSLASH[0]) {
           trans_.write(BACKSLASH);
           trans_.write(BACKSLASH);
-        }
-        else {
+        } else {
           trans_.write(b, i, 1);
         }
-      }
-      else {
+      } else {
         tmpbuf_[0] = JSON_CHAR_TABLE[b[i]];
         if (tmpbuf_[0] == 1) {
           trans_.write(b, i, 1);
-        }
-        else if (tmpbuf_[0] > 1) {
+        } else if (tmpbuf_[0] > 1) {
           trans_.write(BACKSLASH);
           trans_.write(tmpbuf_, 0, 1);
-        }
-        else {
+        } else {
           trans_.write(ESCSEQ);
-          tmpbuf_[0] = hexChar((byte)(b[i] >> 4));
+          tmpbuf_[0] = hexChar((byte) (b[i] >> 4));
           tmpbuf_[1] = hexChar(b[i]);
           trans_.write(tmpbuf_, 0, 2);
         }
@@ -433,18 +413,18 @@
     String str = Double.toString(num);
     boolean special = false;
     switch (str.charAt(0)) {
-    case 'N': // NaN
-    case 'I': // Infinity
-      special = true;
-      break;
-    case '-':
-      if (str.charAt(1) == 'I') { // -Infinity
+      case 'N': // NaN
+      case 'I': // Infinity
         special = true;
-      }
-      break;
-    default:
-      break;
-  }
+        break;
+      case '-':
+        if (str.charAt(1) == 'I') { // -Infinity
+          special = true;
+        }
+        break;
+      default:
+        break;
+    }
 
     boolean escapeNum = special || context_.escapeNum();
     if (escapeNum) {
@@ -587,7 +567,7 @@
 
   @Override
   public void writeBool(boolean b) throws TException {
-    writeJSONInteger(b ? (long)1 : (long)0);
+    writeJSONInteger(b ? (long) 1 : (long) 0);
   }
 
   @Override
@@ -623,17 +603,17 @@
 
   @Override
   public void writeBinary(ByteBuffer bin) throws TException {
-    writeJSONBase64(bin.array(), bin.position() + bin.arrayOffset(), bin.limit() - bin.position() - bin.arrayOffset());
+    writeJSONBase64(
+        bin.array(),
+        bin.position() + bin.arrayOffset(),
+        bin.limit() - bin.position() - bin.arrayOffset());
   }
 
-  /**
-   * Reading methods.
-   */
+  /** Reading methods. */
 
   // Read in a JSON string, unescaping as appropriate.. Skip reading from the
   // context if skipContext is true.
-  private TByteArrayOutputStream readJSONString(boolean skipContext)
-    throws TException {
+  private TByteArrayOutputStream readJSONString(boolean skipContext) throws TException {
     TByteArrayOutputStream arr = new TByteArrayOutputStream(DEF_STRING_SIZE);
     ArrayList<Character> codeunits = new ArrayList<Character>();
     if (!skipContext) {
@@ -649,46 +629,42 @@
         ch = reader_.read();
         if (ch == ESCSEQ[1]) {
           trans_.readAll(tmpbuf_, 0, 4);
-          short cu = (short)(
-              ((short)hexVal(tmpbuf_[0]) << 12) +
-              ((short)hexVal(tmpbuf_[1]) << 8) +
-              ((short)hexVal(tmpbuf_[2]) << 4) +
-              (short)hexVal(tmpbuf_[3]));
+          short cu =
+              (short)
+                  (((short) hexVal(tmpbuf_[0]) << 12)
+                      + ((short) hexVal(tmpbuf_[1]) << 8)
+                      + ((short) hexVal(tmpbuf_[2]) << 4)
+                      + (short) hexVal(tmpbuf_[3]));
           try {
-            if (Character.isHighSurrogate((char)cu)) {
+            if (Character.isHighSurrogate((char) cu)) {
               if (codeunits.size() > 0) {
-                throw new TProtocolException(TProtocolException.INVALID_DATA,
-                    "Expected low surrogate char");
+                throw new TProtocolException(
+                    TProtocolException.INVALID_DATA, "Expected low surrogate char");
               }
-              codeunits.add((char)cu);
-            }
-            else if (Character.isLowSurrogate((char)cu)) {
+              codeunits.add((char) cu);
+            } else if (Character.isLowSurrogate((char) cu)) {
               if (codeunits.size() == 0) {
-                throw new TProtocolException(TProtocolException.INVALID_DATA,
-                    "Expected high surrogate char");
+                throw new TProtocolException(
+                    TProtocolException.INVALID_DATA, "Expected high surrogate char");
               }
 
-              codeunits.add((char)cu);
+              codeunits.add((char) cu);
               arr.write(
-                  (new String(new int[] { codeunits.get(0), codeunits.get(1) },
-                      0, 2)).getBytes(StandardCharsets.UTF_8));
+                  (new String(new int[] {codeunits.get(0), codeunits.get(1)}, 0, 2))
+                      .getBytes(StandardCharsets.UTF_8));
               codeunits.clear();
-            }
-            else {
-              arr.write((new String(new int[] { cu }, 0, 1))
-                  .getBytes(StandardCharsets.UTF_8));
+            } else {
+              arr.write((new String(new int[] {cu}, 0, 1)).getBytes(StandardCharsets.UTF_8));
             }
             continue;
           } catch (IOException ex) {
-            throw new TProtocolException(TProtocolException.INVALID_DATA,
-                "Invalid unicode sequence");
+            throw new TProtocolException(
+                TProtocolException.INVALID_DATA, "Invalid unicode sequence");
           }
-        }
-        else {
+        } else {
           int off = ESCAPE_CHARS.indexOf(ch);
           if (off == -1) {
-            throw new TProtocolException(TProtocolException.INVALID_DATA,
-                                         "Expected control char");
+            throw new TProtocolException(TProtocolException.INVALID_DATA, "Expected control char");
           }
           ch = ESCAPE_CHAR_VALS[off];
         }
@@ -701,22 +677,22 @@
   // Return true if the given byte could be a valid part of a JSON number.
   private boolean isJSONNumeric(byte b) {
     switch (b) {
-    case '+':
-    case '-':
-    case '.':
-    case '0':
-    case '1':
-    case '2':
-    case '3':
-    case '4':
-    case '5':
-    case '6':
-    case '7':
-    case '8':
-    case '9':
-    case 'E':
-    case 'e':
-      return true;
+      case '+':
+      case '-':
+      case '.':
+      case '0':
+      case '1':
+      case '2':
+      case '3':
+      case '4':
+      case '5':
+      case '6':
+      case '7':
+      case '8':
+      case '9':
+      case 'E':
+      case 'e':
+        return true;
     }
     return false;
   }
@@ -730,7 +706,7 @@
       if (!isJSONNumeric(ch)) {
         break;
       }
-      strbld.append((char)reader_.read());
+      strbld.append((char) reader_.read());
     }
     return strbld.toString();
   }
@@ -747,10 +723,9 @@
     }
     try {
       return Long.valueOf(str);
-    }
-    catch (NumberFormatException ex) {
-      throw new TProtocolException(TProtocolException.INVALID_DATA,
-                                   "Bad data encounted in numeric data");
+    } catch (NumberFormatException ex) {
+      throw new TProtocolException(
+          TProtocolException.INVALID_DATA, "Bad data encounted in numeric data");
     }
   }
 
@@ -761,25 +736,22 @@
     if (reader_.peek() == QUOTE[0]) {
       TByteArrayOutputStream arr = readJSONString(true);
       double dub = Double.valueOf(arr.toString(StandardCharsets.UTF_8));
-      if (!context_.escapeNum() && !Double.isNaN(dub)
-          && !Double.isInfinite(dub)) {
+      if (!context_.escapeNum() && !Double.isNaN(dub) && !Double.isInfinite(dub)) {
         // Throw exception -- we should not be in a string in this case
-        throw new TProtocolException(TProtocolException.INVALID_DATA,
-            "Numeric data unexpectedly quoted");
+        throw new TProtocolException(
+            TProtocolException.INVALID_DATA, "Numeric data unexpectedly quoted");
       }
       return dub;
-    }
-    else {
+    } else {
       if (context_.escapeNum()) {
         // This will throw - we should have had a quote if escapeNum == true
         readJSONSyntaxChar(QUOTE);
       }
       try {
         return Double.valueOf(readJSONNumericChars());
-      }
-      catch (NumberFormatException ex) {
-        throw new TProtocolException(TProtocolException.INVALID_DATA,
-                                     "Bad data encounted in numeric data");
+      } catch (NumberFormatException ex) {
+        throw new TProtocolException(
+            TProtocolException.INVALID_DATA, "Bad data encounted in numeric data");
       }
     }
   }
@@ -811,7 +783,7 @@
       size += len - 1;
     }
     // Sadly we must copy the byte[] (any way around this?)
-    byte [] result = new byte[size];
+    byte[] result = new byte[size];
     System.arraycopy(b, 0, result, 0, size);
     return result;
   }
@@ -843,8 +815,8 @@
     resetContext(); // THRIFT-3743
     readJSONArrayStart();
     if (readJSONInteger() != VERSION) {
-      throw new TProtocolException(TProtocolException.BAD_VERSION,
-                                   "Message contained bad version.");
+      throw new TProtocolException(
+          TProtocolException.BAD_VERSION, "Message contained bad version.");
     }
     String name = readJSONString(false).toString(StandardCharsets.UTF_8);
     byte type = (byte) readJSONInteger();
@@ -875,8 +847,7 @@
     short id = 0;
     if (ch == RBRACE[0]) {
       type = TType.STOP;
-    }
-    else {
+    } else {
       id = (short) readJSONInteger();
       readJSONObjectStart();
       type = getTypeIDForTypeName(readJSONString(false).get());
@@ -894,7 +865,7 @@
     readJSONArrayStart();
     byte keyType = getTypeIDForTypeName(readJSONString(false).get());
     byte valueType = getTypeIDForTypeName(readJSONString(false).get());
-    int size = (int)readJSONInteger();
+    int size = (int) readJSONInteger();
     readJSONObjectStart();
     TMap map = new TMap(keyType, valueType, size);
 
@@ -912,7 +883,7 @@
   public TList readListBegin() throws TException {
     readJSONArrayStart();
     byte elemType = getTypeIDForTypeName(readJSONString(false).get());
-    int size = (int)readJSONInteger();
+    int size = (int) readJSONInteger();
     TList list = new TList(elemType, size);
 
     checkReadBytesAvailable(list);
@@ -928,7 +899,7 @@
   public TSet readSetBegin() throws TException {
     readJSONArrayStart();
     byte elemType = getTypeIDForTypeName(readJSONString(false).get());
-    int size = (int)readJSONInteger();
+    int size = (int) readJSONInteger();
     TSet set = new TSet(elemType, size);
 
     checkReadBytesAvailable(set);
@@ -980,28 +951,37 @@
     return ByteBuffer.wrap(readJSONBase64());
   }
 
-  /**
-   *
-   * Return the minimum number of bytes a type will consume on the wire
-   */
+  /** Return the minimum number of bytes a type will consume on the wire */
   public int getMinSerializedSize(byte type) throws TTransportException {
-    switch (type)
-    {
-      case 0: return 0; // Stop
-      case 1: return 0; // Void
-      case 2: return 1; // Bool
-      case 3: return 1; // Byte
-      case 4: return 1; // Double
-      case 6: return 1; // I16
-      case 8: return 1; // I32
-      case 10: return 1;// I64
-      case 11: return 2;  // string length
-      case 12: return 2;  // empty struct
-      case 13: return 2;  // element count Map
-      case 14: return 2;  // element count Set
-      case 15: return 2;  // element count List
-      default: throw new TTransportException(TTransportException.UNKNOWN, "unrecognized type code");
+    switch (type) {
+      case 0:
+        return 0; // Stop
+      case 1:
+        return 0; // Void
+      case 2:
+        return 1; // Bool
+      case 3:
+        return 1; // Byte
+      case 4:
+        return 1; // Double
+      case 6:
+        return 1; // I16
+      case 8:
+        return 1; // I32
+      case 10:
+        return 1; // I64
+      case 11:
+        return 2; // string length
+      case 12:
+        return 2; // empty struct
+      case 13:
+        return 2; // element count Map
+      case 14:
+        return 2; // element count Set
+      case 15:
+        return 2; // element count List
+      default:
+        throw new TTransportException(TTransportException.UNKNOWN, "unrecognized type code");
     }
   }
-
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/protocol/TList.java b/lib/java/src/main/java/org/apache/thrift/protocol/TList.java
index 0d36e83..2536891 100644
--- a/lib/java/src/main/java/org/apache/thrift/protocol/TList.java
+++ b/lib/java/src/main/java/org/apache/thrift/protocol/TList.java
@@ -19,10 +19,7 @@
 
 package org.apache.thrift.protocol;
 
-/**
- * Helper class that encapsulates list metadata.
- *
- */
+/** Helper class that encapsulates list metadata. */
 public final class TList {
   public TList() {
     this(TType.STOP, 0);
@@ -34,5 +31,5 @@
   }
 
   public final byte elemType;
-  public final int  size;
+  public final int size;
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/protocol/TMap.java b/lib/java/src/main/java/org/apache/thrift/protocol/TMap.java
index 20881f7..72dace2 100644
--- a/lib/java/src/main/java/org/apache/thrift/protocol/TMap.java
+++ b/lib/java/src/main/java/org/apache/thrift/protocol/TMap.java
@@ -19,10 +19,7 @@
 
 package org.apache.thrift.protocol;
 
-/**
- * Helper class that encapsulates map metadata.
- *
- */
+/** Helper class that encapsulates map metadata. */
 public final class TMap {
   public TMap() {
     this(TType.STOP, TType.STOP, 0);
@@ -34,7 +31,7 @@
     size = s;
   }
 
-  public final byte  keyType;
-  public final byte  valueType;
-  public final int   size;
+  public final byte keyType;
+  public final byte valueType;
+  public final int size;
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/protocol/TMessage.java b/lib/java/src/main/java/org/apache/thrift/protocol/TMessage.java
index f13b8ca..a5468d7 100644
--- a/lib/java/src/main/java/org/apache/thrift/protocol/TMessage.java
+++ b/lib/java/src/main/java/org/apache/thrift/protocol/TMessage.java
@@ -19,10 +19,7 @@
 
 package org.apache.thrift.protocol;
 
-/**
- * Helper class that encapsulates struct metadata.
- *
- */
+/** Helper class that encapsulates struct metadata. */
 public final class TMessage {
   public TMessage() {
     this("", TType.STOP, 0);
@@ -55,22 +52,15 @@
 
   @Override
   public boolean equals(Object obj) {
-    if (this == obj)
-      return true;
-    if (obj == null)
-      return false;
-    if (getClass() != obj.getClass())
-      return false;
+    if (this == obj) return true;
+    if (obj == null) return false;
+    if (getClass() != obj.getClass()) return false;
     TMessage other = (TMessage) obj;
     if (name == null) {
-      if (other.name != null)
-        return false;
-    } else if (!name.equals(other.name))
-      return false;
-    if (seqid != other.seqid)
-      return false;
-    if (type != other.type)
-      return false;
+      if (other.name != null) return false;
+    } else if (!name.equals(other.name)) return false;
+    if (seqid != other.seqid) return false;
+    if (type != other.type) return false;
     return true;
   }
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/protocol/TMessageType.java b/lib/java/src/main/java/org/apache/thrift/protocol/TMessageType.java
index aa3f931..a768cb6 100644
--- a/lib/java/src/main/java/org/apache/thrift/protocol/TMessageType.java
+++ b/lib/java/src/main/java/org/apache/thrift/protocol/TMessageType.java
@@ -19,12 +19,9 @@
 
 package org.apache.thrift.protocol;
 
-/**
- * Message type constants in the Thrift protocol.
- *
- */
+/** Message type constants in the Thrift protocol. */
 public final class TMessageType {
-  public static final byte CALL  = 1;
+  public static final byte CALL = 1;
   public static final byte REPLY = 2;
   public static final byte EXCEPTION = 3;
   public static final byte ONEWAY = 4;
diff --git a/lib/java/src/main/java/org/apache/thrift/protocol/TMultiplexedProtocol.java b/lib/java/src/main/java/org/apache/thrift/protocol/TMultiplexedProtocol.java
index 0ea566b..0934330 100644
--- a/lib/java/src/main/java/org/apache/thrift/protocol/TMultiplexedProtocol.java
+++ b/lib/java/src/main/java/org/apache/thrift/protocol/TMultiplexedProtocol.java
@@ -22,72 +22,67 @@
 import org.apache.thrift.TException;
 
 /**
- * <code>TMultiplexedProtocol</code> is a protocol-independent concrete decorator
- * that allows a Thrift client to communicate with a multiplexing Thrift server,
- * by prepending the service name to the function name during function calls.
+ * <code>TMultiplexedProtocol</code> is a protocol-independent concrete decorator that allows a
+ * Thrift client to communicate with a multiplexing Thrift server, by prepending the service name to
+ * the function name during function calls.
  *
- * <p>NOTE: THIS IS NOT USED BY SERVERS.  On the server, use {@link org.apache.thrift.TMultiplexedProcessor TMultiplexedProcessor} to handle requests
- * from a multiplexing client.
+ * <p>NOTE: THIS IS NOT USED BY SERVERS. On the server, use {@link
+ * org.apache.thrift.TMultiplexedProcessor TMultiplexedProcessor} to handle requests from a
+ * multiplexing client.
  *
  * <p>This example uses a single socket transport to invoke two services:
  *
- * <pre>
- * {@code
- *     TSocket transport = new TSocket("localhost", 9090);
- *     transport.open();
+ * <pre>{@code
+ * TSocket transport = new TSocket("localhost", 9090);
+ * transport.open();
  *
- *     TBinaryProtocol protocol = new TBinaryProtocol(transport);
+ * TBinaryProtocol protocol = new TBinaryProtocol(transport);
  *
- *     TMultiplexedProtocol mp = new TMultiplexedProtocol(protocol, "Calculator");
- *     Calculator.Client service = new Calculator.Client(mp);
+ * TMultiplexedProtocol mp = new TMultiplexedProtocol(protocol, "Calculator");
+ * Calculator.Client service = new Calculator.Client(mp);
  *
- *     TMultiplexedProtocol mp2 = new TMultiplexedProtocol(protocol, "WeatherReport");
- *     WeatherReport.Client service2 = new WeatherReport.Client(mp2);
+ * TMultiplexedProtocol mp2 = new TMultiplexedProtocol(protocol, "WeatherReport");
+ * WeatherReport.Client service2 = new WeatherReport.Client(mp2);
  *
- *     System.out.println(service.add(2,2));
- *     System.out.println(service2.getTemperature());
- * }
- * </pre>
+ * System.out.println(service.add(2,2));
+ * System.out.println(service2.getTemperature());
+ * }</pre>
  *
  * @see org.apache.thrift.protocol.TProtocolDecorator
  */
 public class TMultiplexedProtocol extends TProtocolDecorator {
 
-    /** Used to delimit the service name from the function name */
-    public static final String SEPARATOR = ":";
+  /** Used to delimit the service name from the function name */
+  public static final String SEPARATOR = ":";
 
-    private final String SERVICE_NAME;
+  private final String SERVICE_NAME;
 
-    /**
-     * Wrap the specified protocol, allowing it to be used to communicate with a
-     * multiplexing server.  The <code>serviceName</code> is required as it is
-     * prepended to the message header so that the multiplexing server can broker
-     * the function call to the proper service.
-     *
-     * @param protocol Your communication protocol of choice, e.g. <code>TBinaryProtocol</code>.
-     * @param serviceName The service name of the service communicating via this protocol.
-     */
-    public TMultiplexedProtocol(TProtocol protocol, String serviceName) {
-        super(protocol);
-        SERVICE_NAME = serviceName;
+  /**
+   * Wrap the specified protocol, allowing it to be used to communicate with a multiplexing server.
+   * The <code>serviceName</code> is required as it is prepended to the message header so that the
+   * multiplexing server can broker the function call to the proper service.
+   *
+   * @param protocol Your communication protocol of choice, e.g. <code>TBinaryProtocol</code>.
+   * @param serviceName The service name of the service communicating via this protocol.
+   */
+  public TMultiplexedProtocol(TProtocol protocol, String serviceName) {
+    super(protocol);
+    SERVICE_NAME = serviceName;
+  }
+
+  /**
+   * Prepends the service name to the function name, separated by TMultiplexedProtocol.SEPARATOR.
+   *
+   * @param tMessage The original message.
+   * @throws TException Passed through from wrapped <code>TProtocol</code> instance.
+   */
+  @Override
+  public void writeMessageBegin(TMessage tMessage) throws TException {
+    if (tMessage.type == TMessageType.CALL || tMessage.type == TMessageType.ONEWAY) {
+      super.writeMessageBegin(
+          new TMessage(SERVICE_NAME + SEPARATOR + tMessage.name, tMessage.type, tMessage.seqid));
+    } else {
+      super.writeMessageBegin(tMessage);
     }
-
-    /**
-     * Prepends the service name to the function name, separated by TMultiplexedProtocol.SEPARATOR.
-     *
-     * @param tMessage The original message.
-     * @throws TException Passed through from wrapped <code>TProtocol</code> instance.
-     */
-    @Override
-    public void writeMessageBegin(TMessage tMessage) throws TException {
-        if (tMessage.type == TMessageType.CALL || tMessage.type == TMessageType.ONEWAY) {
-            super.writeMessageBegin(new TMessage(
-                    SERVICE_NAME + SEPARATOR + tMessage.name,
-                    tMessage.type,
-                    tMessage.seqid
-            ));
-        } else {
-            super.writeMessageBegin(tMessage);
-        }
-    }
+  }
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/protocol/TProtocol.java b/lib/java/src/main/java/org/apache/thrift/protocol/TProtocol.java
index 3589b64..a55d9f7 100644
--- a/lib/java/src/main/java/org/apache/thrift/protocol/TProtocol.java
+++ b/lib/java/src/main/java/org/apache/thrift/protocol/TProtocol.java
@@ -20,40 +20,28 @@
 package org.apache.thrift.protocol;
 
 import java.nio.ByteBuffer;
-
 import org.apache.thrift.TException;
 import org.apache.thrift.partial.TFieldData;
 import org.apache.thrift.scheme.IScheme;
 import org.apache.thrift.scheme.StandardScheme;
 import org.apache.thrift.transport.TTransport;
 
-/**
- * Protocol interface definition.
- *
- */
+/** Protocol interface definition. */
 public abstract class TProtocol {
 
-  /**
-   * Prevent direct instantiation
-   */
+  /** Prevent direct instantiation */
   @SuppressWarnings("unused")
   private TProtocol() {}
 
-  /**
-   * Transport
-   */
+  /** Transport */
   protected TTransport trans_;
 
-  /**
-   * Constructor
-   */
+  /** Constructor */
   protected TProtocol(TTransport trans) {
     trans_ = trans;
   }
 
-  /**
-   * Transport accessor
-   */
+  /** Transport accessor */
   public TTransport getTransport() {
     return trans_;
   }
@@ -73,16 +61,15 @@
 
   /**
    * Return
-   * @param type  Returns the minimum amount of bytes needed to store the smallest possible instance of TType.
+   *
+   * @param type Returns the minimum amount of bytes needed to store the smallest possible instance
+   *     of TType.
    * @return
    * @throws TException
    */
   public abstract int getMinSerializedSize(byte type) throws TException;
 
-  /**
-   * Writing methods.
-   */
-
+  /** Writing methods. */
   public abstract void writeMessageBegin(TMessage message) throws TException;
 
   public abstract void writeMessageEnd() throws TException;
@@ -125,10 +112,7 @@
 
   public abstract void writeBinary(ByteBuffer buf) throws TException;
 
-  /**
-   * Reading methods.
-   */
-
+  /** Reading methods. */
   public abstract TMessage readMessageBegin() throws TException;
 
   public abstract void readMessageEnd() throws TException;
@@ -170,14 +154,12 @@
   public abstract ByteBuffer readBinary() throws TException;
 
   /**
-   * Reset any internal state back to a blank slate. This method only needs to
-   * be implemented for stateful protocols.
+   * Reset any internal state back to a blank slate. This method only needs to be implemented for
+   * stateful protocols.
    */
   public void reset() {}
 
-  /**
-   * Scheme accessor
-   */
+  /** Scheme accessor */
   public Class<? extends IScheme> getScheme() {
     return StandardScheme.class;
   }
@@ -277,10 +259,9 @@
 
   /**
    * The default implementation of all skip() methods calls the corresponding read() method.
-   * Protocols that derive from this class are strongly encouraged to provide
-   * a more efficient alternative.
+   * Protocols that derive from this class are strongly encouraged to provide a more efficient
+   * alternative.
    */
-
   protected void skipBool() throws TException {
     this.readBool();
   }
diff --git a/lib/java/src/main/java/org/apache/thrift/protocol/TProtocolDecorator.java b/lib/java/src/main/java/org/apache/thrift/protocol/TProtocolDecorator.java
index 9d10962..3b3205a 100644
--- a/lib/java/src/main/java/org/apache/thrift/protocol/TProtocolDecorator.java
+++ b/lib/java/src/main/java/org/apache/thrift/protocol/TProtocolDecorator.java
@@ -19,205 +19,204 @@
 
 package org.apache.thrift.protocol;
 
+import java.nio.ByteBuffer;
 import org.apache.thrift.TException;
 
-import java.nio.ByteBuffer;
-
 /**
- * <code>TProtocolDecorator</code> forwards all requests to an enclosed
- * <code>TProtocol</code> instance, providing a way to author concise
- * concrete decorator subclasses.  While it has no abstract methods, it
- * is marked abstract as a reminder that by itself, it does not modify
- * the behaviour of the enclosed <code>TProtocol</code>.
+ * <code>TProtocolDecorator</code> forwards all requests to an enclosed <code>TProtocol</code>
+ * instance, providing a way to author concise concrete decorator subclasses. While it has no
+ * abstract methods, it is marked abstract as a reminder that by itself, it does not modify the
+ * behaviour of the enclosed <code>TProtocol</code>.
  *
- * <p>See p.175 of Design Patterns (by Gamma et al.)</p>
+ * <p>See p.175 of Design Patterns (by Gamma et al.)
  *
  * @see org.apache.thrift.protocol.TMultiplexedProtocol
  */
 public abstract class TProtocolDecorator extends TProtocol {
 
-    private final TProtocol concreteProtocol;
+  private final TProtocol concreteProtocol;
 
-    /**
-     * Encloses the specified protocol.
-     * @param protocol All operations will be forward to this protocol.  Must be non-null.
-     */
-    public TProtocolDecorator(TProtocol protocol) {
-        super(protocol.getTransport());
-        concreteProtocol = protocol;
-    }
+  /**
+   * Encloses the specified protocol.
+   *
+   * @param protocol All operations will be forward to this protocol. Must be non-null.
+   */
+  public TProtocolDecorator(TProtocol protocol) {
+    super(protocol.getTransport());
+    concreteProtocol = protocol;
+  }
 
-    public void writeMessageBegin(TMessage tMessage) throws TException {
-        concreteProtocol.writeMessageBegin(tMessage);
-    }
+  public void writeMessageBegin(TMessage tMessage) throws TException {
+    concreteProtocol.writeMessageBegin(tMessage);
+  }
 
-    public void writeMessageEnd() throws TException {
-        concreteProtocol.writeMessageEnd();
-    }
+  public void writeMessageEnd() throws TException {
+    concreteProtocol.writeMessageEnd();
+  }
 
-    public void writeStructBegin(TStruct tStruct) throws TException {
-        concreteProtocol.writeStructBegin(tStruct);
-    }
+  public void writeStructBegin(TStruct tStruct) throws TException {
+    concreteProtocol.writeStructBegin(tStruct);
+  }
 
-    public void writeStructEnd() throws TException {
-        concreteProtocol.writeStructEnd();
-    }
+  public void writeStructEnd() throws TException {
+    concreteProtocol.writeStructEnd();
+  }
 
-    public void writeFieldBegin(TField tField) throws TException {
-        concreteProtocol.writeFieldBegin(tField);
-    }
+  public void writeFieldBegin(TField tField) throws TException {
+    concreteProtocol.writeFieldBegin(tField);
+  }
 
-    public void writeFieldEnd() throws TException {
-        concreteProtocol.writeFieldEnd();
-    }
+  public void writeFieldEnd() throws TException {
+    concreteProtocol.writeFieldEnd();
+  }
 
-    public void writeFieldStop() throws TException {
-        concreteProtocol.writeFieldStop();
-    }
+  public void writeFieldStop() throws TException {
+    concreteProtocol.writeFieldStop();
+  }
 
-    public void writeMapBegin(TMap tMap) throws TException {
-        concreteProtocol.writeMapBegin(tMap);
-    }
+  public void writeMapBegin(TMap tMap) throws TException {
+    concreteProtocol.writeMapBegin(tMap);
+  }
 
-    public void writeMapEnd() throws TException {
-        concreteProtocol.writeMapEnd();
-    }
+  public void writeMapEnd() throws TException {
+    concreteProtocol.writeMapEnd();
+  }
 
-    public void writeListBegin(TList tList) throws TException {
-        concreteProtocol.writeListBegin(tList);
-    }
+  public void writeListBegin(TList tList) throws TException {
+    concreteProtocol.writeListBegin(tList);
+  }
 
-    public void writeListEnd() throws TException {
-        concreteProtocol.writeListEnd();
-    }
+  public void writeListEnd() throws TException {
+    concreteProtocol.writeListEnd();
+  }
 
-    public void writeSetBegin(TSet tSet) throws TException {
-        concreteProtocol.writeSetBegin(tSet);
-    }
+  public void writeSetBegin(TSet tSet) throws TException {
+    concreteProtocol.writeSetBegin(tSet);
+  }
 
-    public void writeSetEnd() throws TException {
-        concreteProtocol.writeSetEnd();
-    }
+  public void writeSetEnd() throws TException {
+    concreteProtocol.writeSetEnd();
+  }
 
-    public void writeBool(boolean b) throws TException {
-        concreteProtocol.writeBool(b);
-    }
+  public void writeBool(boolean b) throws TException {
+    concreteProtocol.writeBool(b);
+  }
 
-    public void writeByte(byte b) throws TException {
-        concreteProtocol.writeByte(b);
-    }
+  public void writeByte(byte b) throws TException {
+    concreteProtocol.writeByte(b);
+  }
 
-    public void writeI16(short i) throws TException {
-        concreteProtocol.writeI16(i);
-    }
+  public void writeI16(short i) throws TException {
+    concreteProtocol.writeI16(i);
+  }
 
-    public void writeI32(int i) throws TException {
-        concreteProtocol.writeI32(i);
-    }
+  public void writeI32(int i) throws TException {
+    concreteProtocol.writeI32(i);
+  }
 
-    public void writeI64(long l) throws TException {
-        concreteProtocol.writeI64(l);
-    }
+  public void writeI64(long l) throws TException {
+    concreteProtocol.writeI64(l);
+  }
 
-    public void writeDouble(double v) throws TException {
-        concreteProtocol.writeDouble(v);
-    }
+  public void writeDouble(double v) throws TException {
+    concreteProtocol.writeDouble(v);
+  }
 
-    public void writeString(String s) throws TException {
-        concreteProtocol.writeString(s);
-    }
+  public void writeString(String s) throws TException {
+    concreteProtocol.writeString(s);
+  }
 
-    public void writeBinary(ByteBuffer buf) throws TException {
-        concreteProtocol.writeBinary(buf);
-    }
+  public void writeBinary(ByteBuffer buf) throws TException {
+    concreteProtocol.writeBinary(buf);
+  }
 
-    public TMessage readMessageBegin() throws TException {
-        return concreteProtocol.readMessageBegin();
-    }
+  public TMessage readMessageBegin() throws TException {
+    return concreteProtocol.readMessageBegin();
+  }
 
-    public void readMessageEnd() throws TException {
-        concreteProtocol.readMessageEnd();
-    }
+  public void readMessageEnd() throws TException {
+    concreteProtocol.readMessageEnd();
+  }
 
-    public TStruct readStructBegin() throws TException {
-        return concreteProtocol.readStructBegin();
-    }
+  public TStruct readStructBegin() throws TException {
+    return concreteProtocol.readStructBegin();
+  }
 
-    public void readStructEnd() throws TException {
-        concreteProtocol.readStructEnd();
-    }
+  public void readStructEnd() throws TException {
+    concreteProtocol.readStructEnd();
+  }
 
-    public TField readFieldBegin() throws TException {
-        return concreteProtocol.readFieldBegin();
-    }
+  public TField readFieldBegin() throws TException {
+    return concreteProtocol.readFieldBegin();
+  }
 
-    public void readFieldEnd() throws TException {
-        concreteProtocol.readFieldEnd();
-    }
+  public void readFieldEnd() throws TException {
+    concreteProtocol.readFieldEnd();
+  }
 
-    public TMap readMapBegin() throws TException {
-        return concreteProtocol.readMapBegin();
-    }
+  public TMap readMapBegin() throws TException {
+    return concreteProtocol.readMapBegin();
+  }
 
-    public void readMapEnd() throws TException {
-        concreteProtocol.readMapEnd();
-    }
+  public void readMapEnd() throws TException {
+    concreteProtocol.readMapEnd();
+  }
 
-    public TList readListBegin() throws TException {
-        return concreteProtocol.readListBegin();
-    }
+  public TList readListBegin() throws TException {
+    return concreteProtocol.readListBegin();
+  }
 
-    public void readListEnd() throws TException {
-        concreteProtocol.readListEnd();
-    }
+  public void readListEnd() throws TException {
+    concreteProtocol.readListEnd();
+  }
 
-    public TSet readSetBegin() throws TException {
-        return concreteProtocol.readSetBegin();
-    }
+  public TSet readSetBegin() throws TException {
+    return concreteProtocol.readSetBegin();
+  }
 
-    public void readSetEnd() throws TException {
-        concreteProtocol.readSetEnd();
-    }
+  public void readSetEnd() throws TException {
+    concreteProtocol.readSetEnd();
+  }
 
-    public boolean readBool() throws TException {
-        return concreteProtocol.readBool();
-    }
+  public boolean readBool() throws TException {
+    return concreteProtocol.readBool();
+  }
 
-    public byte readByte() throws TException {
-        return concreteProtocol.readByte();
-    }
+  public byte readByte() throws TException {
+    return concreteProtocol.readByte();
+  }
 
-    public short readI16() throws TException {
-        return concreteProtocol.readI16();
-    }
+  public short readI16() throws TException {
+    return concreteProtocol.readI16();
+  }
 
-    public int readI32() throws TException {
-        return concreteProtocol.readI32();
-    }
+  public int readI32() throws TException {
+    return concreteProtocol.readI32();
+  }
 
-    public long readI64() throws TException {
-        return concreteProtocol.readI64();
-    }
+  public long readI64() throws TException {
+    return concreteProtocol.readI64();
+  }
 
-    public double readDouble() throws TException {
-        return concreteProtocol.readDouble();
-    }
+  public double readDouble() throws TException {
+    return concreteProtocol.readDouble();
+  }
 
-    public String readString() throws TException {
-        return concreteProtocol.readString();
-    }
+  public String readString() throws TException {
+    return concreteProtocol.readString();
+  }
 
-    public ByteBuffer readBinary() throws TException {
-        return concreteProtocol.readBinary();
-    }
+  public ByteBuffer readBinary() throws TException {
+    return concreteProtocol.readBinary();
+  }
 
-    /**
-     *
-     * @param type  Returns the minimum amount of bytes needed to store the smallest possible instance of TType.
-     * @return
-     * @throws TException
-     */
-    public int getMinSerializedSize(byte type) throws TException {
-        return concreteProtocol.getMinSerializedSize(type);
-    }
+  /**
+   * @param type Returns the minimum amount of bytes needed to store the smallest possible instance
+   *     of TType.
+   * @return
+   * @throws TException
+   */
+  public int getMinSerializedSize(byte type) throws TException {
+    return concreteProtocol.getMinSerializedSize(type);
+  }
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/protocol/TProtocolException.java b/lib/java/src/main/java/org/apache/thrift/protocol/TProtocolException.java
index 870f1b9..3d645c4 100644
--- a/lib/java/src/main/java/org/apache/thrift/protocol/TProtocolException.java
+++ b/lib/java/src/main/java/org/apache/thrift/protocol/TProtocolException.java
@@ -21,13 +21,9 @@
 
 import org.apache.thrift.TException;
 
-/**
- * Protocol exceptions.
- *
- */
+/** Protocol exceptions. */
 public class TProtocolException extends TException {
 
-
   private static final long serialVersionUID = 1L;
   public static final int UNKNOWN = 0;
   public static final int INVALID_DATA = 1;
@@ -78,5 +74,4 @@
   public int getType() {
     return type_;
   }
-
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/protocol/TProtocolFactory.java b/lib/java/src/main/java/org/apache/thrift/protocol/TProtocolFactory.java
index b72e87b..b997253 100644
--- a/lib/java/src/main/java/org/apache/thrift/protocol/TProtocolFactory.java
+++ b/lib/java/src/main/java/org/apache/thrift/protocol/TProtocolFactory.java
@@ -20,12 +20,9 @@
 package org.apache.thrift.protocol;
 
 import java.io.Serializable;
-
 import org.apache.thrift.transport.TTransport;
 
-/**
- * Factory interface for constructing protocol instances.
- */
+/** Factory interface for constructing protocol instances. */
 public interface TProtocolFactory extends Serializable {
   public TProtocol getProtocol(TTransport trans);
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/protocol/TProtocolUtil.java b/lib/java/src/main/java/org/apache/thrift/protocol/TProtocolUtil.java
index cdaa30b..86cfb45 100644
--- a/lib/java/src/main/java/org/apache/thrift/protocol/TProtocolUtil.java
+++ b/lib/java/src/main/java/org/apache/thrift/protocol/TProtocolUtil.java
@@ -21,29 +21,20 @@
 
 import org.apache.thrift.TException;
 
-/**
- * Utility class with static methods for interacting with protocol data
- * streams.
- *
- */
+/** Utility class with static methods for interacting with protocol data streams. */
 public class TProtocolUtil {
 
-  /**
-   * The maximum recursive depth the skip() function will traverse before
-   * throwing a TException.
-   */
+  /** The maximum recursive depth the skip() function will traverse before throwing a TException. */
   private static int maxSkipDepth = Integer.MAX_VALUE;
 
   /**
-   * Specifies the maximum recursive depth that the skip function will
-   * traverse before throwing a TException.  This is a global setting, so
-   * any call to skip in this JVM will enforce this value.
+   * Specifies the maximum recursive depth that the skip function will traverse before throwing a
+   * TException. This is a global setting, so any call to skip in this JVM will enforce this value.
    *
-   * @param depth  the maximum recursive depth.  A value of 2 would allow
-   *    the skip function to skip a structure or collection with basic children,
-   *    but it would not permit skipping a struct that had a field containing
-   *    a child struct.  A value of 1 would only allow skipping of simple
-   *    types and empty structs/collections.
+   * @param depth the maximum recursive depth. A value of 2 would allow the skip function to skip a
+   *     structure or collection with basic children, but it would not permit skipping a struct that
+   *     had a field containing a child struct. A value of 1 would only allow skipping of simple
+   *     types and empty structs/collections.
    */
   public static void setMaxSkipDepth(int depth) {
     maxSkipDepth = depth;
@@ -52,24 +43,22 @@
   /**
    * Skips over the next data element from the provided input TProtocol object.
    *
-   * @param prot  the protocol object to read from
-   * @param type  the next value will be interpreted as this TType value.
+   * @param prot the protocol object to read from
+   * @param type the next value will be interpreted as this TType value.
    */
-  public static void skip(TProtocol prot, byte type)
-    throws TException {
+  public static void skip(TProtocol prot, byte type) throws TException {
     skip(prot, type, maxSkipDepth);
   }
 
   /**
    * Skips over the next data element from the provided input TProtocol object.
    *
-   * @param prot  the protocol object to read from
-   * @param type  the next value will be interpreted as this TType value.
-   * @param maxDepth  this function will only skip complex objects to this
-   *   recursive depth, to prevent Java stack overflow.
+   * @param prot the protocol object to read from
+   * @param type the next value will be interpreted as this TType value.
+   * @param maxDepth this function will only skip complex objects to this recursive depth, to
+   *     prevent Java stack overflow.
    */
-  public static void skip(TProtocol prot, byte type, int maxDepth)
-  throws TException {
+  public static void skip(TProtocol prot, byte type, int maxDepth) throws TException {
     if (maxDepth <= 0) {
       throw new TException("Maximum skip depth exceeded");
     }
@@ -141,19 +130,16 @@
         break;
 
       default:
-        throw new TProtocolException(TProtocolException.INVALID_DATA,
-                                   "Unrecognized type " + type);
+        throw new TProtocolException(TProtocolException.INVALID_DATA, "Unrecognized type " + type);
     }
   }
 
   /**
    * Attempt to determine the protocol used to serialize some data.
    *
-   * The guess is based on known specificities of supported protocols.
-   * In some cases, no guess can be done, in that case we return the
-   * fallback TProtocolFactory.
-   * To be certain to correctly detect the protocol, the first encoded
-   * field should have a field id &lt; 256
+   * <p>The guess is based on known specificities of supported protocols. In some cases, no guess
+   * can be done, in that case we return the fallback TProtocolFactory. To be certain to correctly
+   * detect the protocol, the first encoded field should have a field id &lt; 256
    *
    * @param data The serialized data to guess the protocol for.
    * @param fallback The TProtocol to return if no guess can be made.
diff --git a/lib/java/src/main/java/org/apache/thrift/protocol/TSet.java b/lib/java/src/main/java/org/apache/thrift/protocol/TSet.java
index 38be9a9..1d1651e 100644
--- a/lib/java/src/main/java/org/apache/thrift/protocol/TSet.java
+++ b/lib/java/src/main/java/org/apache/thrift/protocol/TSet.java
@@ -19,10 +19,7 @@
 
 package org.apache.thrift.protocol;
 
-/**
- * Helper class that encapsulates set metadata.
- *
- */
+/** Helper class that encapsulates set metadata. */
 public final class TSet {
   public TSet() {
     this(TType.STOP, 0);
@@ -38,5 +35,5 @@
   }
 
   public final byte elemType;
-  public final int  size;
+  public final int size;
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/protocol/TSimpleJSONProtocol.java b/lib/java/src/main/java/org/apache/thrift/protocol/TSimpleJSONProtocol.java
index 6a3ee55..506572b 100644
--- a/lib/java/src/main/java/org/apache/thrift/protocol/TSimpleJSONProtocol.java
+++ b/lib/java/src/main/java/org/apache/thrift/protocol/TSimpleJSONProtocol.java
@@ -22,7 +22,6 @@
 import java.nio.ByteBuffer;
 import java.nio.charset.StandardCharsets;
 import java.util.Stack;
-
 import org.apache.thrift.TException;
 import org.apache.thrift.transport.TTransport;
 import org.apache.thrift.transport.TTransportException;
@@ -30,16 +29,12 @@
 /**
  * JSON protocol implementation for thrift.
  *
- * This protocol is write-only and produces a simple output format
- * suitable for parsing by scripting languages.  It should not be
- * confused with the full-featured TJSONProtocol.
- *
+ * <p>This protocol is write-only and produces a simple output format suitable for parsing by
+ * scripting languages. It should not be confused with the full-featured TJSONProtocol.
  */
 public class TSimpleJSONProtocol extends TProtocol {
 
-  /**
-   * Factory
-   */
+  /** Factory */
   public static class Factory implements TProtocolFactory {
     public TProtocol getProtocol(TTransport trans) {
       return new TSimpleJSONProtocol(trans);
@@ -67,10 +62,10 @@
   protected class Context {
     protected void write() throws TException {}
 
-    /**
-     * Returns whether the current value is a key in a map
-     */
-    protected boolean isMapKey() { return  false; }
+    /** Returns whether the current value is a key in a map */
+    protected boolean isMapKey() {
+      return false;
+    }
   }
 
   protected class ListContext extends Context {
@@ -118,52 +113,39 @@
 
   protected final Context BASE_CONTEXT = new Context();
 
-  /**
-   * Stack of nested contexts that we may be in.
-   */
+  /** Stack of nested contexts that we may be in. */
   protected Stack<Context> writeContextStack_ = new Stack<Context>();
 
-  /**
-   * Current context that we are in
-   */
+  /** Current context that we are in */
   protected Context writeContext_ = BASE_CONTEXT;
 
-  /**
-   * Push a new write context onto the stack.
-   */
+  /** Push a new write context onto the stack. */
   protected void pushWriteContext(Context c) {
     writeContextStack_.push(writeContext_);
     writeContext_ = c;
   }
 
-  /**
-   * Pop the last write context off the stack
-   */
+  /** Pop the last write context off the stack */
   protected void popWriteContext() {
     writeContext_ = writeContextStack_.pop();
   }
 
-  /**
-   * Reset the write context stack to its initial state.
-   */
+  /** Reset the write context stack to its initial state. */
   protected void resetWriteContext() {
     while (!writeContextStack_.isEmpty()) {
       popWriteContext();
     }
   }
 
-  /**
-   * Used to make sure that we are not encountering a map whose keys are containers
-   */
+  /** Used to make sure that we are not encountering a map whose keys are containers */
   protected void assertContextIsNotMapKey(String invalidKeyType) throws CollectionMapKeyException {
     if (writeContext_.isMapKey()) {
-      throw new CollectionMapKeyException("Cannot serialize a map with keys that are of type " + invalidKeyType);
+      throw new CollectionMapKeyException(
+          "Cannot serialize a map with keys that are of type " + invalidKeyType);
     }
   }
 
-  /**
-   * Constructor
-   */
+  /** Constructor */
   public TSimpleJSONProtocol(TTransport trans) {
     super(trans);
   }
@@ -256,7 +238,7 @@
 
   @Override
   public void writeBool(boolean b) throws TException {
-    writeByte(b ? (byte)1 : (byte)0);
+    writeByte(b ? (byte) 1 : (byte) 0);
   }
 
   @Override
@@ -271,7 +253,7 @@
 
   @Override
   public void writeI32(int i32) throws TException {
-    if(writeContext_.isMapKey()) {
+    if (writeContext_.isMapKey()) {
       writeString(Integer.toString(i32));
     } else {
       writeContext_.write();
@@ -286,7 +268,7 @@
 
   @Override
   public void writeI64(long i64) throws TException {
-    if(writeContext_.isMapKey()) {
+    if (writeContext_.isMapKey()) {
       writeString(Long.toString(i64));
     } else {
       writeContext_.write();
@@ -296,7 +278,7 @@
 
   @Override
   public void writeDouble(double dub) throws TException {
-    if(writeContext_.isMapKey()) {
+    if (writeContext_.isMapKey()) {
       writeString(Double.toString(dub));
     } else {
       writeContext_.write();
@@ -313,45 +295,45 @@
     for (int i = 0; i < length; ++i) {
       char c = str.charAt(i);
       switch (c) {
-      case '"':
-      case '\\':
-        escape.append('\\');
-        escape.append(c);
-        break;
-      case '\b':
-        escape.append('\\');
-        escape.append('b');
-        break;
-      case '\f':
-        escape.append('\\');
-        escape.append('f');
-        break;
-      case '\n':
-        escape.append('\\');
-        escape.append('n');
-        break;
-      case '\r':
-        escape.append('\\');
-        escape.append('r');
-        break;
-      case '\t':
-        escape.append('\\');
-        escape.append('t');
-        break;
-      default:
-        // Control characters! According to JSON RFC u0020 (space)
-        if (c < ' ') {
-          String hex = Integer.toHexString(c);
+        case '"':
+        case '\\':
           escape.append('\\');
-          escape.append('u');
-          for (int j = 4; j > hex.length(); --j) {
-            escape.append('0');
-          }
-          escape.append(hex);
-        } else {
           escape.append(c);
-        }
-        break;
+          break;
+        case '\b':
+          escape.append('\\');
+          escape.append('b');
+          break;
+        case '\f':
+          escape.append('\\');
+          escape.append('f');
+          break;
+        case '\n':
+          escape.append('\\');
+          escape.append('n');
+          break;
+        case '\r':
+          escape.append('\\');
+          escape.append('r');
+          break;
+        case '\t':
+          escape.append('\\');
+          escape.append('t');
+          break;
+        default:
+          // Control characters! According to JSON RFC u0020 (space)
+          if (c < ' ') {
+            String hex = Integer.toHexString(c);
+            escape.append('\\');
+            escape.append('u');
+            for (int j = 4; j > hex.length(); --j) {
+              escape.append('0');
+            }
+            escape.append(hex);
+          } else {
+            escape.append(c);
+          }
+          break;
       }
     }
     escape.append(QUOTE);
@@ -361,19 +343,20 @@
   @Override
   public void writeBinary(ByteBuffer bin) throws TException {
     // TODO(mcslee): Fix this
-    writeString(new String(bin.array(), bin.position() + bin.arrayOffset(),
-        bin.limit() - bin.position() - bin.arrayOffset(),
-        StandardCharsets.UTF_8));
+    writeString(
+        new String(
+            bin.array(),
+            bin.position() + bin.arrayOffset(),
+            bin.limit() - bin.position() - bin.arrayOffset(),
+            StandardCharsets.UTF_8));
   }
 
   /**
    * Reading methods.
    *
-   * simplejson is not meant to be read back into thrift
-   * - see http://wiki.apache.org/thrift/ThriftUsageJava
-   * - use JSON instead
+   * <p>simplejson is not meant to be read back into thrift - see
+   * http://wiki.apache.org/thrift/ThriftUsageJava - use JSON instead
    */
-
   @Override
   public TMessage readMessageBegin() throws TException {
     throw new TException("Not implemented");
@@ -381,7 +364,8 @@
 
   @Override
   public void readMessageEnd() throws TException {
-    throw new TException("Not implemented");}
+    throw new TException("Not implemented");
+  }
 
   @Override
   public TStruct readStructBegin() throws TException {
@@ -390,7 +374,8 @@
 
   @Override
   public void readStructEnd() throws TException {
-    throw new TException("Not implemented");}
+    throw new TException("Not implemented");
+  }
 
   @Override
   public TField readFieldBegin() throws TException {
@@ -399,7 +384,8 @@
 
   @Override
   public void readFieldEnd() throws TException {
-    throw new TException("Not implemented");}
+    throw new TException("Not implemented");
+  }
 
   @Override
   public TMap readMapBegin() throws TException {
@@ -408,7 +394,8 @@
 
   @Override
   public void readMapEnd() throws TException {
-    throw new TException("Not implemented");}
+    throw new TException("Not implemented");
+  }
 
   @Override
   public TList readListBegin() throws TException {
@@ -417,7 +404,8 @@
 
   @Override
   public void readListEnd() throws TException {
-    throw new TException("Not implemented");}
+    throw new TException("Not implemented");
+  }
 
   @Override
   public TSet readSetBegin() throws TException {
@@ -426,7 +414,8 @@
 
   @Override
   public void readSetEnd() throws TException {
-    throw new TException("Not implemented");}
+    throw new TException("Not implemented");
+  }
 
   @Override
   public boolean readBool() throws TException {
@@ -478,27 +467,37 @@
     }
   }
 
-  /**
-   *
-   * Return the minimum number of bytes a type will consume on the wire
-   */
+  /** Return the minimum number of bytes a type will consume on the wire */
   public int getMinSerializedSize(byte type) throws TException {
-    switch (type)
-    {
-      case 0: return 0; // Stop
-      case 1: return 0; // Void
-      case 2: return 1; // Bool
-      case 3: return 1; // Byte
-      case 4: return 1; // Double
-      case 6: return 1; // I16
-      case 8: return 1; // I32
-      case 10: return 1;// I64
-      case 11: return 2;  // string length
-      case 12: return 2;  // empty struct
-      case 13: return 2;  // element count Map
-      case 14: return 2;  // element count Set
-      case 15: return 2;  // element count List
-      default: throw new TTransportException(TTransportException.UNKNOWN, "unrecognized type code");
+    switch (type) {
+      case 0:
+        return 0; // Stop
+      case 1:
+        return 0; // Void
+      case 2:
+        return 1; // Bool
+      case 3:
+        return 1; // Byte
+      case 4:
+        return 1; // Double
+      case 6:
+        return 1; // I16
+      case 8:
+        return 1; // I32
+      case 10:
+        return 1; // I64
+      case 11:
+        return 2; // string length
+      case 12:
+        return 2; // empty struct
+      case 13:
+        return 2; // element count Map
+      case 14:
+        return 2; // element count Set
+      case 15:
+        return 2; // element count List
+      default:
+        throw new TTransportException(TTransportException.UNKNOWN, "unrecognized type code");
     }
   }
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/protocol/TStruct.java b/lib/java/src/main/java/org/apache/thrift/protocol/TStruct.java
index a0f7901..559c614 100644
--- a/lib/java/src/main/java/org/apache/thrift/protocol/TStruct.java
+++ b/lib/java/src/main/java/org/apache/thrift/protocol/TStruct.java
@@ -19,10 +19,7 @@
 
 package org.apache.thrift.protocol;
 
-/**
- * Helper class that encapsulates struct metadata.
- *
- */
+/** Helper class that encapsulates struct metadata. */
 public final class TStruct {
   public TStruct() {
     this("");
diff --git a/lib/java/src/main/java/org/apache/thrift/protocol/TTupleProtocol.java b/lib/java/src/main/java/org/apache/thrift/protocol/TTupleProtocol.java
index 67d00ed..de47d6f 100644
--- a/lib/java/src/main/java/org/apache/thrift/protocol/TTupleProtocol.java
+++ b/lib/java/src/main/java/org/apache/thrift/protocol/TTupleProtocol.java
@@ -19,7 +19,6 @@
 package org.apache.thrift.protocol;
 
 import java.util.BitSet;
-
 import org.apache.thrift.TException;
 import org.apache.thrift.scheme.IScheme;
 import org.apache.thrift.scheme.TupleScheme;
@@ -51,7 +50,7 @@
   }
 
   public BitSet readBitSet(int i) throws TException {
-    int length = (int) Math.ceil(i/8.0);
+    int length = (int) Math.ceil(i / 8.0);
     byte[] bytes = new byte[length];
     for (int j = 0; j < length; j++) {
       bytes[j] = readByte();
@@ -60,10 +59,7 @@
     return bs;
   }
 
-  /**
-   * Returns a bitset containing the values in bytes. The byte-ordering must be
-   * big-endian.
-   */
+  /** Returns a bitset containing the values in bytes. The byte-ordering must be big-endian. */
   public static BitSet fromByteArray(byte[] bytes) {
     BitSet bits = new BitSet();
     for (int i = 0; i < bytes.length * 8; i++) {
@@ -75,18 +71,17 @@
   }
 
   /**
-   * Returns a byte array of at least length 1. The most significant bit in the
-   * result is guaranteed not to be a 1 (since BitSet does not support sign
-   * extension). The byte-ordering of the result is big-endian which means the
-   * most significant bit is in element 0. The bit at index 0 of the bit set is
-   * assumed to be the least significant bit.
+   * Returns a byte array of at least length 1. The most significant bit in the result is guaranteed
+   * not to be a 1 (since BitSet does not support sign extension). The byte-ordering of the result
+   * is big-endian which means the most significant bit is in element 0. The bit at index 0 of the
+   * bit set is assumed to be the least significant bit.
    *
    * @param bits
    * @param vectorWidth
    * @return a byte array of at least length 1
    */
   public static byte[] toByteArray(BitSet bits, int vectorWidth) {
-    byte[] bytes = new byte[(int) Math.ceil(vectorWidth/8.0)];
+    byte[] bytes = new byte[(int) Math.ceil(vectorWidth / 8.0)];
     for (int i = 0; i < bits.length(); i++) {
       if (bits.get(i)) {
         bytes[bytes.length - i / 8 - 1] |= 1 << (i % 8);
@@ -116,6 +111,8 @@
   }
 
   public void readMapEnd() throws TException {}
+
   public void readListEnd() throws TException {}
+
   public void readSetEnd() throws TException {}
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/protocol/TType.java b/lib/java/src/main/java/org/apache/thrift/protocol/TType.java
index c3c1a0a..4b70bb2 100644
--- a/lib/java/src/main/java/org/apache/thrift/protocol/TType.java
+++ b/lib/java/src/main/java/org/apache/thrift/protocol/TType.java
@@ -19,22 +19,20 @@
 
 package org.apache.thrift.protocol;
 
-/**
- * Type constants in the Thrift protocol.
- */
+/** Type constants in the Thrift protocol. */
 public final class TType {
-  public static final byte STOP   = 0;
-  public static final byte VOID   = 1;
-  public static final byte BOOL   = 2;
-  public static final byte BYTE   = 3;
+  public static final byte STOP = 0;
+  public static final byte VOID = 1;
+  public static final byte BOOL = 2;
+  public static final byte BYTE = 3;
   public static final byte DOUBLE = 4;
-  public static final byte I16    = 6;
-  public static final byte I32    = 8;
-  public static final byte I64    = 10;
+  public static final byte I16 = 6;
+  public static final byte I32 = 8;
+  public static final byte I64 = 10;
   public static final byte STRING = 11;
   public static final byte STRUCT = 12;
-  public static final byte MAP    = 13;
-  public static final byte SET    = 14;
-  public static final byte LIST   = 15;
-  public static final byte ENUM   = 16;
+  public static final byte MAP = 13;
+  public static final byte SET = 14;
+  public static final byte LIST = 15;
+  public static final byte ENUM = 16;
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/scheme/IScheme.java b/lib/java/src/main/java/org/apache/thrift/scheme/IScheme.java
index aa35507..c4a85b9 100644
--- a/lib/java/src/main/java/org/apache/thrift/scheme/IScheme.java
+++ b/lib/java/src/main/java/org/apache/thrift/scheme/IScheme.java
@@ -22,8 +22,9 @@
 
 public interface IScheme<T extends TBase> {
 
-  public void read(org.apache.thrift.protocol.TProtocol iproto, T struct) throws org.apache.thrift.TException;
+  public void read(org.apache.thrift.protocol.TProtocol iproto, T struct)
+      throws org.apache.thrift.TException;
 
-  public void write(org.apache.thrift.protocol.TProtocol oproto, T struct) throws org.apache.thrift.TException;
-
+  public void write(org.apache.thrift.protocol.TProtocol oproto, T struct)
+      throws org.apache.thrift.TException;
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/scheme/SchemeFactory.java b/lib/java/src/main/java/org/apache/thrift/scheme/SchemeFactory.java
index 006a668..e9d7640 100644
--- a/lib/java/src/main/java/org/apache/thrift/scheme/SchemeFactory.java
+++ b/lib/java/src/main/java/org/apache/thrift/scheme/SchemeFactory.java
@@ -21,5 +21,4 @@
 public interface SchemeFactory {
 
   public <S extends IScheme> S getScheme();
-
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/scheme/StandardScheme.java b/lib/java/src/main/java/org/apache/thrift/scheme/StandardScheme.java
index ffab04d..2d2683b 100644
--- a/lib/java/src/main/java/org/apache/thrift/scheme/StandardScheme.java
+++ b/lib/java/src/main/java/org/apache/thrift/scheme/StandardScheme.java
@@ -20,6 +20,4 @@
 
 import org.apache.thrift.TBase;
 
-public abstract class StandardScheme<T extends TBase> implements IScheme<T> {
-
-}
+public abstract class StandardScheme<T extends TBase> implements IScheme<T> {}
diff --git a/lib/java/src/main/java/org/apache/thrift/scheme/TupleScheme.java b/lib/java/src/main/java/org/apache/thrift/scheme/TupleScheme.java
index 365242b..0efa4cf 100644
--- a/lib/java/src/main/java/org/apache/thrift/scheme/TupleScheme.java
+++ b/lib/java/src/main/java/org/apache/thrift/scheme/TupleScheme.java
@@ -20,6 +20,4 @@
 
 import org.apache.thrift.TBase;
 
-public abstract class TupleScheme<T extends TBase> implements IScheme<T> {
-
-}
+public abstract class TupleScheme<T extends TBase> implements IScheme<T> {}
diff --git a/lib/java/src/main/java/org/apache/thrift/server/AbstractNonblockingServer.java b/lib/java/src/main/java/org/apache/thrift/server/AbstractNonblockingServer.java
index beef954..44341d9 100644
--- a/lib/java/src/main/java/org/apache/thrift/server/AbstractNonblockingServer.java
+++ b/lib/java/src/main/java/org/apache/thrift/server/AbstractNonblockingServer.java
@@ -19,20 +19,6 @@
 
 package org.apache.thrift.server;
 
-import org.apache.thrift.TAsyncProcessor;
-import org.apache.thrift.TByteArrayOutputStream;
-import org.apache.thrift.TException;
-import org.apache.thrift.protocol.TProtocol;
-import org.apache.thrift.transport.layered.TFramedTransport;
-import org.apache.thrift.transport.TIOStreamTransport;
-import org.apache.thrift.transport.TMemoryInputTransport;
-import org.apache.thrift.transport.TNonblockingServerTransport;
-import org.apache.thrift.transport.TNonblockingTransport;
-import org.apache.thrift.transport.TTransport;
-import org.apache.thrift.transport.TTransportException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.nio.channels.SelectionKey;
@@ -41,15 +27,27 @@
 import java.util.HashSet;
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicLong;
+import org.apache.thrift.TAsyncProcessor;
+import org.apache.thrift.TByteArrayOutputStream;
+import org.apache.thrift.TException;
+import org.apache.thrift.protocol.TProtocol;
+import org.apache.thrift.transport.TIOStreamTransport;
+import org.apache.thrift.transport.TMemoryInputTransport;
+import org.apache.thrift.transport.TNonblockingServerTransport;
+import org.apache.thrift.transport.TNonblockingTransport;
+import org.apache.thrift.transport.TTransport;
+import org.apache.thrift.transport.TTransportException;
+import org.apache.thrift.transport.layered.TFramedTransport;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
-/**
- * Provides common methods and classes used by nonblocking TServer
- * implementations.
- */
+/** Provides common methods and classes used by nonblocking TServer implementations. */
 public abstract class AbstractNonblockingServer extends TServer {
   protected final Logger LOGGER = LoggerFactory.getLogger(getClass().getName());
 
-  public static abstract class AbstractNonblockingServerArgs<T extends AbstractNonblockingServerArgs<T>> extends AbstractServerArgs<T> {
+  public abstract static class AbstractNonblockingServerArgs<
+          T extends AbstractNonblockingServerArgs<T>>
+      extends AbstractServerArgs<T> {
     public long maxReadBufferBytes = 256 * 1024 * 1024;
 
     public AbstractNonblockingServerArgs(TNonblockingServerTransport transport) {
@@ -59,15 +57,13 @@
   }
 
   /**
-   * The maximum amount of memory we will allocate to client IO buffers at a
-   * time. Without this limit, the server will gladly allocate client buffers
-   * right into an out of memory exception, rather than waiting.
+   * The maximum amount of memory we will allocate to client IO buffers at a time. Without this
+   * limit, the server will gladly allocate client buffers right into an out of memory exception,
+   * rather than waiting.
    */
   final long MAX_READ_BUFFER_BYTES;
 
-  /**
-   * How many bytes are currently allocated to read buffers.
-   */
+  /** How many bytes are currently allocated to read buffers. */
   final AtomicLong readBufferBytesAllocated = new AtomicLong(0);
 
   public AbstractNonblockingServer(AbstractNonblockingServerArgs args) {
@@ -75,9 +71,7 @@
     MAX_READ_BUFFER_BYTES = args.maxReadBufferBytes;
   }
 
-  /**
-   * Begin accepting connections and processing invocations.
-   */
+  /** Begin accepting connections and processing invocations. */
   public void serve() {
     // start any IO threads
     if (!startThreads()) {
@@ -107,17 +101,13 @@
    */
   protected abstract boolean startThreads();
 
-  /**
-   * A method that will block until when threads handling the serving have been
-   * shut down.
-   */
+  /** A method that will block until when threads handling the serving have been shut down. */
   protected abstract void waitForShutdown();
 
   /**
    * Have the server transport start accepting connections.
    *
-   * @return true if we started listening successfully, false if something went
-   *         wrong.
+   * @return true if we started listening successfully, false if something went wrong.
    */
   protected boolean startListening() {
     try {
@@ -129,27 +119,23 @@
     }
   }
 
-  /**
-   * Stop listening for connections.
-   */
+  /** Stop listening for connections. */
   protected void stopListening() {
     serverTransport_.close();
   }
 
   /**
-   * Perform an invocation. This method could behave several different ways -
-   * invoke immediately inline, queue for separate execution, etc.
+   * Perform an invocation. This method could behave several different ways - invoke immediately
+   * inline, queue for separate execution, etc.
    *
-   * @return true if invocation was successfully requested, which is not a
-   *         guarantee that invocation has completed. False if the request
-   *         failed.
+   * @return true if invocation was successfully requested, which is not a guarantee that invocation
+   *     has completed. False if the request failed.
    */
   protected abstract boolean requestInvoke(FrameBuffer frameBuffer);
 
   /**
-   * An abstract thread that handles selecting on a set of transports and
-   * {@link FrameBuffer FrameBuffers} associated with selected keys
-   * corresponding to requests.
+   * An abstract thread that handles selecting on a set of transports and {@link FrameBuffer
+   * FrameBuffers} associated with selected keys corresponding to requests.
    */
   protected abstract class AbstractSelectThread extends Thread {
     protected Selector selector;
@@ -161,17 +147,15 @@
       this.selector = SelectorProvider.provider().openSelector();
     }
 
-    /**
-     * If the selector is blocked, wake it up.
-     */
+    /** If the selector is blocked, wake it up. */
     public void wakeupSelector() {
       selector.wakeup();
     }
 
     /**
-     * Add FrameBuffer to the list of select interest changes and wake up the
-     * selector if it's blocked. When the select() call exits, it'll give the
-     * FrameBuffer a chance to change its interests.
+     * Add FrameBuffer to the list of select interest changes and wake up the selector if it's
+     * blocked. When the select() call exits, it'll give the FrameBuffer a chance to change its
+     * interests.
      */
     public void requestSelectInterestChange(FrameBuffer frameBuffer) {
       synchronized (selectInterestChanges) {
@@ -182,8 +166,8 @@
     }
 
     /**
-     * Check to see if there are any FrameBuffers that have switched their
-     * interest type from read to write or vice versa.
+     * Check to see if there are any FrameBuffers that have switched their interest type from read
+     * to write or vice versa.
      */
     protected void processInterestChanges() {
       synchronized (selectInterestChanges) {
@@ -195,8 +179,8 @@
     }
 
     /**
-     * Do the work required to read from a readable client. If the frame is
-     * fully read, then invoke the method call.
+     * Do the work required to read from a readable client. If the frame is fully read, then invoke
+     * the method call.
      */
     protected void handleRead(SelectionKey key) {
       FrameBuffer buffer = (FrameBuffer) key.attachment();
@@ -213,9 +197,7 @@
       }
     }
 
-    /**
-     * Let a writable client get written, if there's data to be written.
-     */
+    /** Let a writable client get written, if there's data to be written. */
     protected void handleWrite(SelectionKey key) {
       FrameBuffer buffer = (FrameBuffer) key.attachment();
       if (!buffer.write()) {
@@ -223,9 +205,7 @@
       }
     }
 
-    /**
-     * Do connection-close cleanup on a given SelectionKey.
-     */
+    /** Do connection-close cleanup on a given SelectionKey. */
     protected void cleanupSelectionKey(SelectionKey key) {
       // remove the records from the two maps
       FrameBuffer buffer = (FrameBuffer) key.attachment();
@@ -238,9 +218,7 @@
     }
   } // SelectThread
 
-  /**
-   * Possible states for the FrameBuffer state machine.
-   */
+  /** Possible states for the FrameBuffer state machine. */
   private enum FrameBufferState {
     // in the midst of reading the frame size off the wire
     READING_FRAME_SIZE,
@@ -260,13 +238,12 @@
   }
 
   /**
-   * Class that implements a sort of state machine around the interaction with a
-   * client and an invoker. It manages reading the frame size and frame data,
-   * getting it handed off as wrapped transports, and then the writing of
-   * response data back to the client. In the process it manages flipping the
-   * read and write bits on the selection key for its client.
+   * Class that implements a sort of state machine around the interaction with a client and an
+   * invoker. It manages reading the frame size and frame data, getting it handed off as wrapped
+   * transports, and then the writing of response data back to the client. In the process it manages
+   * flipping the read and write bits on the selection key for its client.
    */
-   public class FrameBuffer {
+  public class FrameBuffer {
     private final Logger LOGGER = LoggerFactory.getLogger(getClass().getName());
 
     // the actual transport hooked up to the client.
@@ -303,9 +280,11 @@
     // context associated with this connection
     protected final ServerContext context_;
 
-    public FrameBuffer(final TNonblockingTransport trans,
+    public FrameBuffer(
+        final TNonblockingTransport trans,
         final SelectionKey selectionKey,
-        final AbstractSelectThread selectThread) throws TTransportException {
+        final AbstractSelectThread selectThread)
+        throws TTransportException {
       trans_ = trans;
       selectionKey_ = selectionKey;
       selectThread_ = selectThread;
@@ -321,16 +300,15 @@
       if (eventHandler_ != null) {
         context_ = eventHandler_.createContext(inProt_, outProt_);
       } else {
-        context_  = null;
+        context_ = null;
       }
     }
 
     /**
-     * Give this FrameBuffer a chance to read. The selector loop should have
-     * received a read event for this FrameBuffer.
+     * Give this FrameBuffer a chance to read. The selector loop should have received a read event
+     * for this FrameBuffer.
      *
-     * @return true if the connection should live on, false if it should be
-     *         closed
+     * @return true if the connection should live on, false if it should be closed
      */
     public boolean read() {
       if (state_ == FrameBufferState.READING_FRAME_SIZE) {
@@ -345,17 +323,22 @@
           // pull out the frame size as an integer.
           int frameSize = buffer_.getInt(0);
           if (frameSize <= 0) {
-            LOGGER.error("Read an invalid frame size of " + frameSize
-                + ". Are you using TFramedTransport on the client side?");
+            LOGGER.error(
+                "Read an invalid frame size of "
+                    + frameSize
+                    + ". Are you using TFramedTransport on the client side?");
             return false;
           }
 
           // if this frame will always be too large for this server, log the
           // error and close the connection.
           if (frameSize > trans_.getMaxFrameSize()) {
-            LOGGER.error("Read a frame size of " + frameSize
-                + ", which is bigger than the maximum allowable frame size "
-                + trans_.getMaxFrameSize() + " for ALL connections.");
+            LOGGER.error(
+                "Read a frame size of "
+                    + frameSize
+                    + ", which is bigger than the maximum allowable frame size "
+                    + trans_.getMaxFrameSize()
+                    + " for ALL connections.");
             return false;
           }
 
@@ -406,9 +389,7 @@
       return false;
     }
 
-    /**
-     * Give this FrameBuffer a chance to write its output to the final client.
-     */
+    /** Give this FrameBuffer a chance to write its output to the final client. */
     public boolean write() {
       if (state_ == FrameBufferState.WRITING) {
         try {
@@ -431,40 +412,33 @@
       return false;
     }
 
-    /**
-     * Give this FrameBuffer a chance to set its interest to write, once data
-     * has come in.
-     */
+    /** Give this FrameBuffer a chance to set its interest to write, once data has come in. */
     public void changeSelectInterests() {
       switch (state_) {
-      case AWAITING_REGISTER_WRITE:
-        // set the OP_WRITE interest
-        selectionKey_.interestOps(SelectionKey.OP_WRITE);
-        state_ = FrameBufferState.WRITING;
-        break;
-      case AWAITING_REGISTER_READ:
-        prepareRead();
-        break;
-      case AWAITING_CLOSE:
-        close();
-        selectionKey_.cancel();
-        break;
-      default:
-        LOGGER.error(
-            "changeSelectInterest was called, but state is invalid ({})",
-            state_);
+        case AWAITING_REGISTER_WRITE:
+          // set the OP_WRITE interest
+          selectionKey_.interestOps(SelectionKey.OP_WRITE);
+          state_ = FrameBufferState.WRITING;
+          break;
+        case AWAITING_REGISTER_READ:
+          prepareRead();
+          break;
+        case AWAITING_CLOSE:
+          close();
+          selectionKey_.cancel();
+          break;
+        default:
+          LOGGER.error("changeSelectInterest was called, but state is invalid ({})", state_);
       }
     }
 
-    /**
-     * Shut the connection down.
-     */
+    /** Shut the connection down. */
     public void close() {
       // if we're being closed due to an error, we might have allocated a
       // buffer that we need to subtract for our memory accounting.
-      if (state_ == FrameBufferState.READING_FRAME ||
-          state_ == FrameBufferState.READ_FRAME_COMPLETE ||
-          state_ == FrameBufferState.AWAITING_CLOSE) {
+      if (state_ == FrameBufferState.READING_FRAME
+          || state_ == FrameBufferState.READ_FRAME_COMPLETE
+          || state_ == FrameBufferState.AWAITING_CLOSE) {
         readBufferBytesAllocated.addAndGet(-buffer_.array().length);
       }
       trans_.close();
@@ -473,19 +447,16 @@
       }
     }
 
-    /**
-     * Check if this FrameBuffer has a full frame read.
-     */
+    /** Check if this FrameBuffer has a full frame read. */
     public boolean isFrameFullyRead() {
       return state_ == FrameBufferState.READ_FRAME_COMPLETE;
     }
 
     /**
-     * After the processor has processed the invocation, whatever thread is
-     * managing invocations should call this method on this FrameBuffer so we
-     * know it's time to start trying to write again. Also, if it turns out that
-     * there actually isn't any data in the response buffer, we'll skip trying
-     * to write and instead go back to reading.
+     * After the processor has processed the invocation, whatever thread is managing invocations
+     * should call this method on this FrameBuffer so we know it's time to start trying to write
+     * again. Also, if it turns out that there actually isn't any data in the response buffer, we'll
+     * skip trying to write and instead go back to reading.
      */
     public void responseReady() {
       // the read buffer is definitely no longer in use, so we will decrement
@@ -511,9 +482,7 @@
       requestSelectInterestChange();
     }
 
-    /**
-     * Actually invoke the method signified by this FrameBuffer.
-     */
+    /** Actually invoke the method signified by this FrameBuffer. */
     public void invoke() {
       frameTrans_.reset(buffer_.array());
       response_.reset();
@@ -538,22 +507,18 @@
     /**
      * Perform a read into buffer.
      *
-     * @return true if the read succeeded, false if there was an error or the
-     *         connection closed.
+     * @return true if the read succeeded, false if there was an error or the connection closed.
      */
     private boolean internalRead() {
       try {
-          return trans_.read(buffer_) >= 0;
+        return trans_.read(buffer_) >= 0;
       } catch (TTransportException e) {
         LOGGER.warn("Got an Exception in internalRead", e);
         return false;
       }
     }
 
-    /**
-     * We're done writing, so reset our interest ops and change state
-     * accordingly.
-     */
+    /** We're done writing, so reset our interest ops and change state accordingly. */
     private void prepareRead() {
       // we can set our interest directly without using the queue because
       // we're in the select thread.
@@ -564,11 +529,10 @@
     }
 
     /**
-     * When this FrameBuffer needs to change its select interests and execution
-     * might not be in its select thread, then this method will make sure the
-     * interest change gets done when the select thread wakes back up. When the
-     * current thread is this FrameBuffer's select thread, then it just does the
-     * interest change immediately.
+     * When this FrameBuffer needs to change its select interests and execution might not be in its
+     * select thread, then this method will make sure the interest change gets done when the select
+     * thread wakes back up. When the current thread is this FrameBuffer's select thread, then it
+     * just does the interest change immediately.
      */
     protected void requestSelectInterestChange() {
       if (Thread.currentThread() == this.selectThread_) {
@@ -580,19 +544,20 @@
   } // FrameBuffer
 
   public class AsyncFrameBuffer extends FrameBuffer {
-    public AsyncFrameBuffer(TNonblockingTransport trans, SelectionKey selectionKey, AbstractSelectThread selectThread) throws TTransportException {
+    public AsyncFrameBuffer(
+        TNonblockingTransport trans, SelectionKey selectionKey, AbstractSelectThread selectThread)
+        throws TTransportException {
       super(trans, selectionKey, selectThread);
     }
 
     public TProtocol getInputProtocol() {
-      return  inProt_;
+      return inProt_;
     }
 
     public TProtocol getOutputProtocol() {
       return outProt_;
     }
 
-
     public void invoke() {
       frameTrans_.reset(buffer_.array());
       response_.reset();
@@ -601,7 +566,7 @@
         if (eventHandler_ != null) {
           eventHandler_.processContext(context_, inTrans_, outTrans_);
         }
-        ((TAsyncProcessor)processorFactory_.getProcessor(inTrans_)).process(this);
+        ((TAsyncProcessor) processorFactory_.getProcessor(inTrans_)).process(this);
         return;
       } catch (TException te) {
         LOGGER.warn("Exception while invoking!", te);
diff --git a/lib/java/src/main/java/org/apache/thrift/server/Invocation.java b/lib/java/src/main/java/org/apache/thrift/server/Invocation.java
index e8210f4..64f8969 100644
--- a/lib/java/src/main/java/org/apache/thrift/server/Invocation.java
+++ b/lib/java/src/main/java/org/apache/thrift/server/Invocation.java
@@ -3,9 +3,9 @@
 import org.apache.thrift.server.AbstractNonblockingServer.FrameBuffer;
 
 /**
- * An Invocation represents a method call that is prepared to execute, given
- * an idle worker thread. It contains the input and output protocols the
- * thread's processor should use to perform the usual Thrift invocation.
+ * An Invocation represents a method call that is prepared to execute, given an idle worker thread.
+ * It contains the input and output protocols the thread's processor should use to perform the usual
+ * Thrift invocation.
  */
 class Invocation implements Runnable {
   private final FrameBuffer frameBuffer;
@@ -17,4 +17,4 @@
   public void run() {
     frameBuffer.invoke();
   }
-}
\ No newline at end of file
+}
diff --git a/lib/java/src/main/java/org/apache/thrift/server/ServerContext.java b/lib/java/src/main/java/org/apache/thrift/server/ServerContext.java
index b7c587f..adf2a43 100644
--- a/lib/java/src/main/java/org/apache/thrift/server/ServerContext.java
+++ b/lib/java/src/main/java/org/apache/thrift/server/ServerContext.java
@@ -17,33 +17,29 @@
  * under the License.
  */
 
-/**
- * Interface for storing server's connection context.
- */
+/** Interface for storing server's connection context. */
 package org.apache.thrift.server;
 
 public interface ServerContext {
 
   /**
-   * Returns an object that implements the given interface to allow access to
-   * application specific contexts.
+   * Returns an object that implements the given interface to allow access to application specific
+   * contexts.
    *
    * @param iface A Class defining an interface that the result must implement
    * @return an object that implements the interface
-   * @throws RuntimeException If the context cannot be unwrapped to the provided
-   *           class
+   * @throws RuntimeException If the context cannot be unwrapped to the provided class
    */
   <T> T unwrap(Class<T> iface);
 
   /**
-   * Returns true if this server context is a wrapper for the provided
-   * application specific context interface argument or returns false otherwise.
+   * Returns true if this server context is a wrapper for the provided application specific context
+   * interface argument or returns false otherwise.
    *
    * @param iface a Class defining the underlying context
-   * @return true if this implements the interface can be unwrapped to the
-   *         provided class
-   * @throws RuntimeException if an error occurs while determining whether the
-   *           provided class can be unwrapped from this context.
+   * @return true if this implements the interface can be unwrapped to the provided class
+   * @throws RuntimeException if an error occurs while determining whether the provided class can be
+   *     unwrapped from this context.
    */
   boolean isWrapperFor(Class<?> iface);
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/server/TExtensibleServlet.java b/lib/java/src/main/java/org/apache/thrift/server/TExtensibleServlet.java
index 75082c0..5773e9c 100644
--- a/lib/java/src/main/java/org/apache/thrift/server/TExtensibleServlet.java
+++ b/lib/java/src/main/java/org/apache/thrift/server/TExtensibleServlet.java
@@ -25,14 +25,12 @@
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Map;
-
 import javax.servlet.ServletConfig;
 import javax.servlet.ServletContext;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-
 import org.apache.thrift.TException;
 import org.apache.thrift.TProcessor;
 import org.apache.thrift.protocol.TProtocol;
@@ -41,12 +39,11 @@
 import org.apache.thrift.transport.TTransport;
 
 /**
- * Servlet implementation class ThriftServer, that allows {@link TProcessor} and
- * {@link TProtocolFactory} to be supplied after the {@link #init()} method has
- * finished. <br>
- * Subclasses must implement the abstract methods that return the TProcessor and
- * two TProtocolFactory. Those methods are guaranteed to be called exactly once,
- * and that {@link ServletContext} is available.
+ * Servlet implementation class ThriftServer, that allows {@link TProcessor} and {@link
+ * TProtocolFactory} to be supplied after the {@link #init()} method has finished. <br>
+ * Subclasses must implement the abstract methods that return the TProcessor and two
+ * TProtocolFactory. Those methods are guaranteed to be called exactly once, and that {@link
+ * ServletContext} is available.
  */
 public abstract class TExtensibleServlet extends HttpServlet {
   private static final long serialVersionUID = 1L;
@@ -60,32 +57,32 @@
   private Collection<Map.Entry<String, String>> customHeaders;
 
   /**
-   * Returns the appropriate {@link TProcessor}. This will be called <b>once</b> just
-   * after the {@link #init()} method
-   * 
+   * Returns the appropriate {@link TProcessor}. This will be called <b>once</b> just after the
+   * {@link #init()} method
+   *
    * @return the appropriate {@link TProcessor}
    */
   protected abstract TProcessor getProcessor();
 
   /**
-   * Returns the appropriate in {@link TProtocolFactory}. This will be called
-   * <b>once</b> just after the {@link #init()} method
-   * 
+   * Returns the appropriate in {@link TProtocolFactory}. This will be called <b>once</b> just after
+   * the {@link #init()} method
+   *
    * @return the appropriate in {@link TProtocolFactory}
    */
   protected abstract TProtocolFactory getInProtocolFactory();
 
   /**
-   * Returns the appropriate out {@link TProtocolFactory}. This will be called
-   * <b>once</b> just after the {@link #init()} method
-   * 
+   * Returns the appropriate out {@link TProtocolFactory}. This will be called <b>once</b> just
+   * after the {@link #init()} method
+   *
    * @return the appropriate out {@link TProtocolFactory}
    */
   protected abstract TProtocolFactory getOutProtocolFactory();
 
   @Override
   public final void init(ServletConfig config) throws ServletException {
-    super.init(config); //no-args init() happens here
+    super.init(config); // no-args init() happens here
     this.processor = getProcessor();
     this.inFactory = getInProtocolFactory();
     this.outFactory = getOutProtocolFactory();
@@ -102,10 +99,7 @@
     }
   }
 
-  /**
-   * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
-   *      response)
-   */
+  /** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */
   @Override
   protected void doPost(HttpServletRequest request, HttpServletResponse response)
       throws ServletException, IOException {
@@ -116,9 +110,9 @@
       response.setContentType("application/x-thrift");
 
       if (null != this.customHeaders) {
-	for (Map.Entry<String, String> header : this.customHeaders) {
-	  response.addHeader(header.getKey(), header.getValue());
-	}
+        for (Map.Entry<String, String> header : this.customHeaders) {
+          response.addHeader(header.getKey(), header.getValue());
+        }
       }
 
       InputStream in = request.getInputStream();
@@ -138,10 +132,7 @@
     }
   }
 
-  /**
-   * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
-   *      response)
-   */
+  /** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */
   @Override
   protected void doGet(HttpServletRequest req, HttpServletResponse resp)
       throws ServletException, IOException {
@@ -149,19 +140,20 @@
   }
 
   public void addCustomHeader(final String key, final String value) {
-    this.customHeaders.add(new Map.Entry<String, String>() {
-      public String getKey() {
-	return key;
-      }
+    this.customHeaders.add(
+        new Map.Entry<String, String>() {
+          public String getKey() {
+            return key;
+          }
 
-      public String getValue() {
-	return value;
-      }
+          public String getValue() {
+            return value;
+          }
 
-      public String setValue(String value) {
-	return null;
-      }
-    });
+          public String setValue(String value) {
+            return null;
+          }
+        });
   }
 
   public void setCustomHeaders(Collection<Map.Entry<String, String>> headers) {
diff --git a/lib/java/src/main/java/org/apache/thrift/server/THsHaServer.java b/lib/java/src/main/java/org/apache/thrift/server/THsHaServer.java
index 4c5d7b5..6e59638 100644
--- a/lib/java/src/main/java/org/apache/thrift/server/THsHaServer.java
+++ b/lib/java/src/main/java/org/apache/thrift/server/THsHaServer.java
@@ -17,7 +17,6 @@
  * under the License.
  */
 
-
 package org.apache.thrift.server;
 
 import java.util.concurrent.ExecutorService;
@@ -25,12 +24,11 @@
 import java.util.concurrent.RejectedExecutionException;
 import java.util.concurrent.ThreadPoolExecutor;
 import java.util.concurrent.TimeUnit;
-
 import org.apache.thrift.transport.TNonblockingServerTransport;
 
 /**
- * An extension of the TNonblockingServer to a Half-Sync/Half-Async server.
- * Like TNonblockingServer, it relies on the use of TFramedTransport.
+ * An extension of the TNonblockingServer to a Half-Sync/Half-Async server. Like TNonblockingServer,
+ * it relies on the use of TFramedTransport.
  */
 public class THsHaServer extends TNonblockingServer {
 
@@ -45,11 +43,10 @@
       super(transport);
     }
 
-
     /**
      * Sets the min and max threads.
      *
-     * @deprecated use {@link #minWorkerThreads(int)} and {@link #maxWorkerThreads(int)}  instead.
+     * @deprecated use {@link #minWorkerThreads(int)} and {@link #maxWorkerThreads(int)} instead.
      */
     @Deprecated
     public Args workerThreads(int n) {
@@ -113,16 +110,13 @@
     }
   }
 
-
   // This wraps all the functionality of queueing and thread pool management
   // for the passing of Invocations from the Selector to workers.
   private final ExecutorService invoker;
 
   private final Args args;
 
-  /**
-   * Create the server with the specified Args configuration
-   */
+  /** Create the server with the specified Args configuration */
   public THsHaServer(Args args) {
     super(args);
 
@@ -130,18 +124,14 @@
     this.args = args;
   }
 
-  /**
-   * {@inheritDoc}
-   */
+  /** {@inheritDoc} */
   @Override
   protected void waitForShutdown() {
     joinSelector();
     gracefullyShutdownInvokerPool();
   }
 
-  /**
-   * Helper to create an invoker pool
-   */
+  /** Helper to create an invoker pool */
   protected static ExecutorService createInvokerPool(Args options) {
     int minWorkerThreads = options.minWorkerThreads;
     int maxWorkerThreads = options.maxWorkerThreads;
@@ -149,8 +139,9 @@
     TimeUnit stopTimeoutUnit = options.stopTimeoutUnit;
 
     LinkedBlockingQueue<Runnable> queue = new LinkedBlockingQueue<Runnable>();
-    ExecutorService invoker = new ThreadPoolExecutor(minWorkerThreads,
-      maxWorkerThreads, stopTimeoutVal, stopTimeoutUnit, queue);
+    ExecutorService invoker =
+        new ThreadPoolExecutor(
+            minWorkerThreads, maxWorkerThreads, stopTimeoutVal, stopTimeoutUnit, queue);
 
     return invoker;
   }
@@ -182,9 +173,8 @@
   }
 
   /**
-   * We override the standard invoke method here to queue the invocation for
-   * invoker service instead of immediately invoking. The thread pool takes care
-   * of the rest.
+   * We override the standard invoke method here to queue the invocation for invoker service instead
+   * of immediately invoking. The thread pool takes care of the rest.
    */
   @Override
   protected boolean requestInvoke(FrameBuffer frameBuffer) {
@@ -198,7 +188,7 @@
     }
   }
 
-  protected Runnable getRunnable(FrameBuffer frameBuffer){
+  protected Runnable getRunnable(FrameBuffer frameBuffer) {
     return new Invocation(frameBuffer);
   }
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/server/TNonblockingServer.java b/lib/java/src/main/java/org/apache/thrift/server/TNonblockingServer.java
index eac05a8..fa75569 100644
--- a/lib/java/src/main/java/org/apache/thrift/server/TNonblockingServer.java
+++ b/lib/java/src/main/java/org/apache/thrift/server/TNonblockingServer.java
@@ -17,27 +17,25 @@
  * under the License.
  */
 
-
 package org.apache.thrift.server;
 
-import org.apache.thrift.transport.TNonblockingServerTransport;
-import org.apache.thrift.transport.TNonblockingTransport;
-import org.apache.thrift.transport.TTransportException;
-
 import java.io.IOException;
 import java.nio.channels.SelectionKey;
 import java.util.Iterator;
+import org.apache.thrift.transport.TNonblockingServerTransport;
+import org.apache.thrift.transport.TNonblockingTransport;
+import org.apache.thrift.transport.TTransportException;
 
 /**
- * A nonblocking TServer implementation. This allows for fairness amongst all
- * connected clients in terms of invocations.
+ * A nonblocking TServer implementation. This allows for fairness amongst all connected clients in
+ * terms of invocations.
  *
- * This server is inherently single-threaded. If you want a limited thread pool
- * coupled with invocation-fairness, see THsHaServer.
+ * <p>This server is inherently single-threaded. If you want a limited thread pool coupled with
+ * invocation-fairness, see THsHaServer.
  *
- * To use this server, you MUST use a TFramedTransport at the outermost
- * transport, otherwise this server will be unable to determine when a whole
- * method call has been read off the wire. Clients must also use TFramedTransport.
+ * <p>To use this server, you MUST use a TFramedTransport at the outermost transport, otherwise this
+ * server will be unable to determine when a whole method call has been read off the wire. Clients
+ * must also use TFramedTransport.
  */
 public class TNonblockingServer extends AbstractNonblockingServer {
 
@@ -53,18 +51,16 @@
     super(args);
   }
 
-
   /**
    * Start the selector thread to deal with accepts and client messages.
    *
-   * @return true if everything went ok, false if we couldn't start for some
-   * reason.
+   * @return true if everything went ok, false if we couldn't start for some reason.
    */
   @Override
   protected boolean startThreads() {
     // start the selector
     try {
-      selectAcceptThread_ = new SelectAcceptThread((TNonblockingServerTransport)serverTransport_);
+      selectAcceptThread_ = new SelectAcceptThread((TNonblockingServerTransport) serverTransport_);
       selectAcceptThread_.start();
       return true;
     } catch (IOException e) {
@@ -78,9 +74,7 @@
     joinSelector();
   }
 
-  /**
-   * Block until the selector thread exits.
-   */
+  /** Block until the selector thread exits. */
   protected void joinSelector() {
     // wait until the selector thread exits
     try {
@@ -91,9 +85,7 @@
     }
   }
 
-  /**
-   * Stop serving and shut everything down.
-   */
+  /** Stop serving and shut everything down. */
   @Override
   public void stop() {
     stopped_ = true;
@@ -103,8 +95,8 @@
   }
 
   /**
-   * Perform an invocation. This method could behave several different ways
-   * - invoke immediately inline, queue for separate execution, etc.
+   * Perform an invocation. This method could behave several different ways - invoke immediately
+   * inline, queue for separate execution, etc.
    */
   @Override
   protected boolean requestInvoke(FrameBuffer frameBuffer) {
@@ -112,26 +104,22 @@
     return true;
   }
 
-
   public boolean isStopped() {
     return selectAcceptThread_.isStopped();
   }
 
   /**
-   * The thread that will be doing all the selecting, managing new connections
-   * and those that still need to be read.
+   * The thread that will be doing all the selecting, managing new connections and those that still
+   * need to be read.
    */
   protected class SelectAcceptThread extends AbstractSelectThread {
 
     // The server transport on which new client transports will be accepted
     private final TNonblockingServerTransport serverTransport;
 
-    /**
-     * Set up the thread that will handle the non-blocking accepts, reads, and
-     * writes.
-     */
+    /** Set up the thread that will handle the non-blocking accepts, reads, and writes. */
     public SelectAcceptThread(final TNonblockingServerTransport serverTransport)
-    throws IOException {
+        throws IOException {
       this.serverTransport = serverTransport;
       serverTransport.registerSelector(selector);
     }
@@ -141,8 +129,8 @@
     }
 
     /**
-     * The work loop. Handles both selecting (all IO operations) and managing
-     * the selection preferences of all existing connections.
+     * The work loop. Handles both selecting (all IO operations) and managing the selection
+     * preferences of all existing connections.
      */
     public void run() {
       try {
@@ -170,12 +158,10 @@
     }
 
     /**
-     * Select and process IO events appropriately:
-     * If there are connections to be accepted, accept them.
-     * If there are existing connections with data waiting to be read, read it,
-     * buffering until a whole frame has been read.
-     * If there are any pending responses, buffer them until their target client
-     * is available, and then send the data.
+     * Select and process IO events appropriately: If there are connections to be accepted, accept
+     * them. If there are existing connections with data waiting to be read, read it, buffering
+     * until a whole frame has been read. If there are any pending responses, buffer them until
+     * their target client is available, and then send the data.
      */
     private void select() {
       try {
@@ -213,17 +199,17 @@
       }
     }
 
-    protected FrameBuffer createFrameBuffer(final TNonblockingTransport trans,
+    protected FrameBuffer createFrameBuffer(
+        final TNonblockingTransport trans,
         final SelectionKey selectionKey,
-        final AbstractSelectThread selectThread) throws TTransportException {
-        return processorFactory_.isAsyncProcessor() ?
-                  new AsyncFrameBuffer(trans, selectionKey, selectThread) :
-                  new FrameBuffer(trans, selectionKey, selectThread);
+        final AbstractSelectThread selectThread)
+        throws TTransportException {
+      return processorFactory_.isAsyncProcessor()
+          ? new AsyncFrameBuffer(trans, selectionKey, selectThread)
+          : new FrameBuffer(trans, selectionKey, selectThread);
     }
 
-    /**
-     * Accept a new connection.
-     */
+    /** Accept a new connection. */
     private void handleAccept() throws IOException {
       SelectionKey clientKey = null;
       TNonblockingTransport client = null;
@@ -233,9 +219,9 @@
         clientKey = client.registerSelector(selector, SelectionKey.OP_READ);
 
         // add this key to the map
-          FrameBuffer frameBuffer = createFrameBuffer(client, clientKey, SelectAcceptThread.this);
+        FrameBuffer frameBuffer = createFrameBuffer(client, clientKey, SelectAcceptThread.this);
 
-          clientKey.attach(frameBuffer);
+        clientKey.attach(frameBuffer);
       } catch (TTransportException tte) {
         // something went wrong accepting.
         LOGGER.warn("Exception trying to accept!", tte);
diff --git a/lib/java/src/main/java/org/apache/thrift/server/TSaslNonblockingServer.java b/lib/java/src/main/java/org/apache/thrift/server/TSaslNonblockingServer.java
index 89dbb78..6f22d8b 100644
--- a/lib/java/src/main/java/org/apache/thrift/server/TSaslNonblockingServer.java
+++ b/lib/java/src/main/java/org/apache/thrift/server/TSaslNonblockingServer.java
@@ -32,9 +32,7 @@
 import java.util.concurrent.Executors;
 import java.util.concurrent.LinkedBlockingQueue;
 import java.util.concurrent.TimeUnit;
-
 import javax.security.auth.callback.CallbackHandler;
-
 import org.apache.thrift.TProcessor;
 import org.apache.thrift.transport.TNonblockingServerSocket;
 import org.apache.thrift.transport.TNonblockingServerTransport;
@@ -48,9 +46,7 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-/**
- * TServer with sasl support, using asynchronous execution and nonblocking io.
- */
+/** TServer with sasl support, using asynchronous execution and nonblocking io. */
 public class TSaslNonblockingServer extends TServer {
   private static final Logger LOGGER = LoggerFactory.getLogger(TSaslNonblockingServer.class);
 
@@ -85,9 +81,7 @@
     setServing(true);
   }
 
-  /**
-   * Trigger a graceful shutdown, but it does not block to wait for the shutdown to finish.
-   */
+  /** Trigger a graceful shutdown, but it does not block to wait for the shutdown to finish. */
   @Override
   public void stop() {
     if (!stopped_) {
@@ -202,8 +196,10 @@
   }
 
   private class NetworkThread extends Thread {
-    private final BlockingQueue<TNonblockingTransport> incomingConnections = new LinkedBlockingQueue<>();
-    private final BlockingQueue<NonblockingSaslHandler> stateTransitions = new LinkedBlockingQueue<>();
+    private final BlockingQueue<TNonblockingTransport> incomingConnections =
+        new LinkedBlockingQueue<>();
+    private final BlockingQueue<NonblockingSaslHandler> stateTransitions =
+        new LinkedBlockingQueue<>();
     private final Selector ioSelector;
 
     NetworkThread(String name) throws IOException {
@@ -285,9 +281,15 @@
         try {
           SelectionKey selectionKey = connection.registerSelector(ioSelector, SelectionKey.OP_READ);
           if (selectionKey.isValid()) {
-            NonblockingSaslHandler saslHandler = new NonblockingSaslHandler(selectionKey, connection,
-                saslServerFactory, saslProcessorFactory, inputProtocolFactory_, outputProtocolFactory_,
-                eventHandler_);
+            NonblockingSaslHandler saslHandler =
+                new NonblockingSaslHandler(
+                    selectionKey,
+                    connection,
+                    saslServerFactory,
+                    saslProcessorFactory,
+                    inputProtocolFactory_,
+                    outputProtocolFactory_,
+                    eventHandler_);
             selectionKey.attach(saslHandler);
           }
         } catch (IOException e) {
@@ -407,7 +409,7 @@
      * @return true if the incoming connection is accepted by network thread pool.
      */
     boolean acceptNewConnection(TNonblockingTransport connection) {
-      return networkThreads.get((accepted ++) % networkThreads.size()).accept(connection);
+      return networkThreads.get((accepted++) % networkThreads.size()).accept(connection);
     }
 
     public void start() {
@@ -441,12 +443,14 @@
     }
 
     public Args saslThreads(int authenticationThreads) {
-      this.saslThreads = authenticationThreads <= 0 ? DEFAULT_AUTHENTICATION_THREADS : authenticationThreads;
+      this.saslThreads =
+          authenticationThreads <= 0 ? DEFAULT_AUTHENTICATION_THREADS : authenticationThreads;
       return this;
     }
 
     public Args processingThreads(int processingThreads) {
-      this.processingThreads = processingThreads <= 0 ? DEFAULT_PROCESSING_THREADS : processingThreads;
+      this.processingThreads =
+          processingThreads <= 0 ? DEFAULT_PROCESSING_THREADS : processingThreads;
       return this;
     }
 
@@ -463,8 +467,12 @@
       return this;
     }
 
-    public Args addSaslMechanism(String mechanism, String protocol, String serverName,
-                                 Map<String, String> props, CallbackHandler cbh) {
+    public Args addSaslMechanism(
+        String mechanism,
+        String protocol,
+        String serverName,
+        Map<String, String> props,
+        CallbackHandler cbh) {
       saslServerFactory.addSaslMechanism(mechanism, protocol, serverName, props, cbh);
       return this;
     }
diff --git a/lib/java/src/main/java/org/apache/thrift/server/TServer.java b/lib/java/src/main/java/org/apache/thrift/server/TServer.java
index bac06b2..1a4f198 100644
--- a/lib/java/src/main/java/org/apache/thrift/server/TServer.java
+++ b/lib/java/src/main/java/org/apache/thrift/server/TServer.java
@@ -26,10 +26,7 @@
 import org.apache.thrift.transport.TServerTransport;
 import org.apache.thrift.transport.TTransportFactory;
 
-/**
- * Generic interface for a Thrift server.
- *
- */
+/** Generic interface for a Thrift server. */
 public abstract class TServer {
 
   public static class Args extends AbstractServerArgs<Args> {
@@ -38,7 +35,7 @@
     }
   }
 
-  public static abstract class AbstractServerArgs<T extends AbstractServerArgs<T>> {
+  public abstract static class AbstractServerArgs<T extends AbstractServerArgs<T>> {
     final TServerTransport serverTransport;
     TProcessorFactory processorFactory;
     TTransportFactory inputTransportFactory = new TTransportFactory();
@@ -93,34 +90,22 @@
     }
   }
 
-  /**
-   * Core processor
-   */
+  /** Core processor */
   protected TProcessorFactory processorFactory_;
 
-  /**
-   * Server transport
-   */
+  /** Server transport */
   protected TServerTransport serverTransport_;
 
-  /**
-   * Input Transport Factory
-   */
+  /** Input Transport Factory */
   protected TTransportFactory inputTransportFactory_;
 
-  /**
-   * Output Transport Factory
-   */
+  /** Output Transport Factory */
   protected TTransportFactory outputTransportFactory_;
 
-  /**
-   * Input Protocol Factory
-   */
+  /** Input Protocol Factory */
   protected TProtocolFactory inputProtocolFactory_;
 
-  /**
-   * Output Protocol Factory
-   */
+  /** Output Protocol Factory */
   protected TProtocolFactory outputProtocolFactory_;
 
   private volatile boolean isServing;
@@ -140,14 +125,12 @@
     outputProtocolFactory_ = args.outputProtocolFactory;
   }
 
-  /**
-   * The run method fires up the server and gets things going.
-   */
+  /** The run method fires up the server and gets things going. */
   public abstract void serve();
 
   /**
-   * Stop the server. This is optional on a per-implementation basis. Not
-   * all servers are required to be cleanly stoppable.
+   * Stop the server. This is optional on a per-implementation basis. Not all servers are required
+   * to be cleanly stoppable.
    */
   public void stop() {}
 
diff --git a/lib/java/src/main/java/org/apache/thrift/server/TServerEventHandler.java b/lib/java/src/main/java/org/apache/thrift/server/TServerEventHandler.java
index 3bd7959..4ff043a 100644
--- a/lib/java/src/main/java/org/apache/thrift/server/TServerEventHandler.java
+++ b/lib/java/src/main/java/org/apache/thrift/server/TServerEventHandler.java
@@ -23,41 +23,27 @@
 import org.apache.thrift.transport.TTransport;
 
 /**
- * Interface that can handle events from the server core. To
- * use this you should subclass it and implement the methods that you care
- * about. Your subclass can also store local data that you may care about,
- * such as additional "arguments" to these methods (stored in the object
- * instance's state).
+ * Interface that can handle events from the server core. To use this you should subclass it and
+ * implement the methods that you care about. Your subclass can also store local data that you may
+ * care about, such as additional "arguments" to these methods (stored in the object instance's
+ * state).
  *
- * TODO: It seems this is a custom code entry point created for some resource management purpose in hive.
- * But when looking into hive code, we see that the argments of TProtocol and TTransport are never used.
- * We probably should remove these arguments from all the methods.
+ * <p>TODO: It seems this is a custom code entry point created for some resource management purpose
+ * in hive. But when looking into hive code, we see that the argments of TProtocol and TTransport
+ * are never used. We probably should remove these arguments from all the methods.
  */
 public interface TServerEventHandler {
 
-  /**
-   * Called before the server begins.
-   */
+  /** Called before the server begins. */
   void preServe();
 
-  /**
-   * Called when a new client has connected and is about to being processing.
-   */
-  ServerContext createContext(TProtocol input,
-                              TProtocol output);
+  /** Called when a new client has connected and is about to being processing. */
+  ServerContext createContext(TProtocol input, TProtocol output);
 
-  /**
-   * Called when a client has finished request-handling to delete server
-   * context.
-   */
-  void deleteContext(ServerContext serverContext,
-                             TProtocol input,
-                             TProtocol output);
+  /** Called when a client has finished request-handling to delete server context. */
+  void deleteContext(ServerContext serverContext, TProtocol input, TProtocol output);
 
-  /**
-   * Called when a client is about to call the processor.
-   */
-  void processContext(ServerContext serverContext,
-                              TTransport inputTransport, TTransport outputTransport);
-
+  /** Called when a client is about to call the processor. */
+  void processContext(
+      ServerContext serverContext, TTransport inputTransport, TTransport outputTransport);
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/server/TServlet.java b/lib/java/src/main/java/org/apache/thrift/server/TServlet.java
index c1ab9df..0f233fa 100644
--- a/lib/java/src/main/java/org/apache/thrift/server/TServlet.java
+++ b/lib/java/src/main/java/org/apache/thrift/server/TServlet.java
@@ -6,12 +6,10 @@
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Map;
-
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-
 import org.apache.thrift.TException;
 import org.apache.thrift.TProcessor;
 import org.apache.thrift.protocol.TProtocol;
@@ -19,9 +17,7 @@
 import org.apache.thrift.transport.TIOStreamTransport;
 import org.apache.thrift.transport.TTransport;
 
-/**
- * Servlet implementation class ThriftServer
- */
+/** Servlet implementation class ThriftServer */
 public class TServlet extends HttpServlet {
 
   private final TProcessor processor;
@@ -32,10 +28,10 @@
 
   private final Collection<Map.Entry<String, String>> customHeaders;
 
-  /**
-   * @see HttpServlet#HttpServlet()
-   */
-  public TServlet(TProcessor processor, TProtocolFactory inProtocolFactory,
+  /** @see HttpServlet#HttpServlet() */
+  public TServlet(
+      TProcessor processor,
+      TProtocolFactory inProtocolFactory,
       TProtocolFactory outProtocolFactory) {
     super();
     this.processor = processor;
@@ -44,17 +40,12 @@
     this.customHeaders = new ArrayList<Map.Entry<String, String>>();
   }
 
-  /**
-   * @see HttpServlet#HttpServlet()
-   */
+  /** @see HttpServlet#HttpServlet() */
   public TServlet(TProcessor processor, TProtocolFactory protocolFactory) {
     this(processor, protocolFactory, protocolFactory);
   }
 
-  /**
-   * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
-   *      response)
-   */
+  /** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */
   @Override
   protected void doPost(HttpServletRequest request, HttpServletResponse response)
       throws ServletException, IOException {
@@ -87,29 +78,27 @@
     }
   }
 
-  /**
-   * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
-   *      response)
-   */
+  /** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */
   protected void doGet(HttpServletRequest request, HttpServletResponse response)
       throws ServletException, IOException {
     doPost(request, response);
   }
 
   public void addCustomHeader(final String key, final String value) {
-    this.customHeaders.add(new Map.Entry<String, String>() {
-      public String getKey() {
-        return key;
-      }
+    this.customHeaders.add(
+        new Map.Entry<String, String>() {
+          public String getKey() {
+            return key;
+          }
 
-      public String getValue() {
-        return value;
-      }
+          public String getValue() {
+            return value;
+          }
 
-      public String setValue(String value) {
-        return null;
-      }
-    });
+          public String setValue(String value) {
+            return null;
+          }
+        });
   }
 
   public void setCustomHeaders(Collection<Map.Entry<String, String>> headers) {
diff --git a/lib/java/src/main/java/org/apache/thrift/server/TSimpleServer.java b/lib/java/src/main/java/org/apache/thrift/server/TSimpleServer.java
index 70cc3d7..3530d6d 100644
--- a/lib/java/src/main/java/org/apache/thrift/server/TSimpleServer.java
+++ b/lib/java/src/main/java/org/apache/thrift/server/TSimpleServer.java
@@ -27,10 +27,7 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-/**
- * Simple singlethreaded server for testing.
- *
- */
+/** Simple singlethreaded server for testing. */
 public class TSimpleServer extends TServer {
 
   private static final Logger LOGGER = LoggerFactory.getLogger(TSimpleServer.class.getName());
@@ -104,7 +101,6 @@
       if (outputTransport != null) {
         outputTransport.close();
       }
-
     }
     setServing(false);
   }
diff --git a/lib/java/src/main/java/org/apache/thrift/server/TThreadPoolServer.java b/lib/java/src/main/java/org/apache/thrift/server/TThreadPoolServer.java
index e190415..cc58438 100644
--- a/lib/java/src/main/java/org/apache/thrift/server/TThreadPoolServer.java
+++ b/lib/java/src/main/java/org/apache/thrift/server/TThreadPoolServer.java
@@ -27,7 +27,6 @@
 import java.util.concurrent.ThreadPoolExecutor;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicLong;
-
 import org.apache.thrift.TException;
 import org.apache.thrift.TProcessor;
 import org.apache.thrift.protocol.TProtocol;
@@ -38,8 +37,8 @@
 import org.slf4j.LoggerFactory;
 
 /**
- * Server which uses Java's built in ThreadPool management to spawn off
- * a worker pool that deals with client connections in blocking way.
+ * Server which uses Java's built in ThreadPool management to spawn off a worker pool that deals
+ * with client connections in blocking way.
  */
 public class TThreadPoolServer extends TServer {
   private static final Logger LOGGER = LoggerFactory.getLogger(TThreadPoolServer.class);
@@ -94,19 +93,26 @@
     stopTimeoutUnit = args.stopTimeoutUnit;
     stopTimeoutVal = args.stopTimeoutVal;
 
-    executorService_ = args.executorService != null ?
-        args.executorService : createDefaultExecutorService(args);
+    executorService_ =
+        args.executorService != null ? args.executorService : createDefaultExecutorService(args);
   }
 
   private static ExecutorService createDefaultExecutorService(Args args) {
-    return new ThreadPoolExecutor(args.minWorkerThreads, args.maxWorkerThreads, 60L, TimeUnit.SECONDS,
-        new SynchronousQueue<>(), new ThreadFactory() {
+    return new ThreadPoolExecutor(
+        args.minWorkerThreads,
+        args.maxWorkerThreads,
+        60L,
+        TimeUnit.SECONDS,
+        new SynchronousQueue<>(),
+        new ThreadFactory() {
           final AtomicLong count = new AtomicLong();
+
           @Override
           public Thread newThread(Runnable r) {
             Thread thread = new Thread(r);
             thread.setDaemon(true);
-            thread.setName(String.format("TThreadPoolServer WorkerProcess-%d", count.getAndIncrement()));
+            thread.setName(
+                String.format("TThreadPoolServer WorkerProcess-%d", count.getAndIncrement()));
             return thread;
           }
         });
@@ -157,7 +163,8 @@
           executorService_.execute(new WorkerProcess(client));
         } catch (RejectedExecutionException ree) {
           if (!stopped_) {
-            LOGGER.warn("ThreadPool is saturated with incoming requests. Closing latest connection.");
+            LOGGER.warn(
+                "ThreadPool is saturated with incoming requests. Closing latest connection.");
           }
           client.close();
         }
@@ -195,9 +202,7 @@
 
   private class WorkerProcess implements Runnable {
 
-    /**
-     * Client that this services.
-     */
+    /** Client that this services. */
     private TTransport client_;
 
     /**
@@ -209,9 +214,7 @@
       client_ = client;
     }
 
-    /**
-     * Loops on processing a client forever
-     */
+    /** Loops on processing a client forever */
     public void run() {
       TProcessor processor = null;
       TTransport inputTransport = null;
@@ -257,7 +260,10 @@
         // Ignore err-logging all transport-level/type exceptions
         if (!isIgnorableException(x)) {
           // Log the exception at error level and continue
-          LOGGER.error((x instanceof TException ? "Thrift " : "") + "Error occurred during processing of message.", x);
+          LOGGER.error(
+              (x instanceof TException ? "Thrift " : "")
+                  + "Error occurred during processing of message.",
+              x);
         }
       } finally {
         if (eventHandler.isPresent()) {
@@ -285,7 +291,7 @@
       }
 
       if (tTransportException != null) {
-        switch(tTransportException.getType()) {
+        switch (tTransportException.getType()) {
           case TTransportException.END_OF_FILE:
           case TTransportException.TIMED_OUT:
             return true;
diff --git a/lib/java/src/main/java/org/apache/thrift/server/TThreadedSelectorServer.java b/lib/java/src/main/java/org/apache/thrift/server/TThreadedSelectorServer.java
index 095aacb..0a4d857 100644
--- a/lib/java/src/main/java/org/apache/thrift/server/TThreadedSelectorServer.java
+++ b/lib/java/src/main/java/org/apache/thrift/server/TThreadedSelectorServer.java
@@ -19,12 +19,6 @@
 
 package org.apache.thrift.server;
 
-import org.apache.thrift.transport.TNonblockingServerTransport;
-import org.apache.thrift.transport.TNonblockingTransport;
-import org.apache.thrift.transport.TTransportException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import java.io.IOException;
 import java.nio.channels.ClosedChannelException;
 import java.nio.channels.SelectableChannel;
@@ -44,58 +38,61 @@
 import java.util.concurrent.LinkedBlockingQueue;
 import java.util.concurrent.RejectedExecutionException;
 import java.util.concurrent.TimeUnit;
+import org.apache.thrift.transport.TNonblockingServerTransport;
+import org.apache.thrift.transport.TNonblockingTransport;
+import org.apache.thrift.transport.TTransportException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
- * A Half-Sync/Half-Async server with a separate pool of threads to handle
- * non-blocking I/O. Accepts are handled on a single thread, and a configurable
- * number of nonblocking selector threads manage reading and writing of client
- * connections. A synchronous worker thread pool handles processing of requests.
+ * A Half-Sync/Half-Async server with a separate pool of threads to handle non-blocking I/O. Accepts
+ * are handled on a single thread, and a configurable number of nonblocking selector threads manage
+ * reading and writing of client connections. A synchronous worker thread pool handles processing of
+ * requests.
  *
- * Performs better than TNonblockingServer/THsHaServer in multi-core
- * environments when the the bottleneck is CPU on the single selector thread
- * handling I/O. In addition, because the accept handling is decoupled from
- * reads/writes and invocation, the server has better ability to handle back-
- * pressure from new connections (e.g. stop accepting when busy).
+ * <p>Performs better than TNonblockingServer/THsHaServer in multi-core environments when the the
+ * bottleneck is CPU on the single selector thread handling I/O. In addition, because the accept
+ * handling is decoupled from reads/writes and invocation, the server has better ability to handle
+ * back- pressure from new connections (e.g. stop accepting when busy).
  *
- * Like TNonblockingServer, it relies on the use of TFramedTransport.
+ * <p>Like TNonblockingServer, it relies on the use of TFramedTransport.
  */
 public class TThreadedSelectorServer extends AbstractNonblockingServer {
-  private static final Logger LOGGER = LoggerFactory.getLogger(TThreadedSelectorServer.class.getName());
+  private static final Logger LOGGER =
+      LoggerFactory.getLogger(TThreadedSelectorServer.class.getName());
 
   public static class Args extends AbstractNonblockingServerArgs<Args> {
 
     /** The number of threads for selecting on already-accepted connections */
     public int selectorThreads = 2;
     /**
-     * The size of the executor service (if none is specified) that will handle
-     * invocations. This may be set to 0, in which case invocations will be
-     * handled directly on the selector threads (as is in TNonblockingServer)
+     * The size of the executor service (if none is specified) that will handle invocations. This
+     * may be set to 0, in which case invocations will be handled directly on the selector threads
+     * (as is in TNonblockingServer)
      */
     private int workerThreads = 5;
     /** Time to wait for server to stop gracefully */
     private int stopTimeoutVal = 60;
+
     private TimeUnit stopTimeoutUnit = TimeUnit.SECONDS;
     /** The ExecutorService for handling dispatched requests */
     private ExecutorService executorService = null;
     /**
-     * The size of the blocking queue per selector thread for passing accepted
-     * connections to the selector thread
+     * The size of the blocking queue per selector thread for passing accepted connections to the
+     * selector thread
      */
     private int acceptQueueSizePerThread = 4;
 
-    /**
-     * Determines the strategy for handling new accepted connections.
-     */
+    /** Determines the strategy for handling new accepted connections. */
     public static enum AcceptPolicy {
       /**
-       * Require accepted connection registration to be handled by the executor.
-       * If the worker pool is saturated, further accepts will be closed
-       * immediately. Slightly increases latency due to an extra scheduling.
+       * Require accepted connection registration to be handled by the executor. If the worker pool
+       * is saturated, further accepts will be closed immediately. Slightly increases latency due to
+       * an extra scheduling.
        */
       FAIR_ACCEPT,
       /**
-       * Handle the accepts as fast as possible, disregarding the status of the
-       * executor service.
+       * Handle the accepts as fast as possible, disregarding the status of the executor service.
        */
       FAST_ACCEPT
     }
@@ -195,9 +192,7 @@
 
   private final Args args;
 
-  /**
-   * Create the server with the specified Args configuration
-   */
+  /** Create the server with the specified Args configuration */
   public TThreadedSelectorServer(Args args) {
     super(args);
     args.validate();
@@ -208,8 +203,7 @@
   /**
    * Start the accept and selector threads running to deal with clients.
    *
-   * @return true if everything went ok, false if we couldn't start for some
-   *         reason.
+   * @return true if everything went ok, false if we couldn't start for some reason.
    */
   @Override
   protected boolean startThreads() {
@@ -217,8 +211,10 @@
       for (int i = 0; i < args.selectorThreads; ++i) {
         selectorThreads.add(new SelectorThread(args.acceptQueueSizePerThread));
       }
-      acceptThread = new AcceptThread((TNonblockingServerTransport) serverTransport_,
-        createSelectorThreadLoadBalancer(selectorThreads));
+      acceptThread =
+          new AcceptThread(
+              (TNonblockingServerTransport) serverTransport_,
+              createSelectorThreadLoadBalancer(selectorThreads));
       for (SelectorThread thread : selectorThreads) {
         thread.start();
       }
@@ -230,9 +226,7 @@
     }
   }
 
-  /**
-   * Joins the accept and selector threads and shuts down the executor service.
-   */
+  /** Joins the accept and selector threads and shuts down the executor service. */
   @Override
   protected void waitForShutdown() {
     try {
@@ -252,9 +246,7 @@
     }
   }
 
-  /**
-   * Stop serving and shut everything down.
-   */
+  /** Stop serving and shut everything down. */
   @Override
   public void stop() {
     stopped_ = true;
@@ -267,8 +259,7 @@
     }
     if (selectorThreads != null) {
       for (SelectorThread thread : selectorThreads) {
-        if (thread != null)
-          thread.wakeupSelector();
+        if (thread != null) thread.wakeupSelector();
       }
     }
   }
@@ -296,9 +287,9 @@
   }
 
   /**
-   * We override the standard invoke method here to queue the invocation for
-   * invoker service instead of immediately invoking. If there is no thread
-   * pool, handle the invocation inline on this thread
+   * We override the standard invoke method here to queue the invocation for invoker service instead
+   * of immediately invoking. If there is no thread pool, handle the invocation inline on this
+   * thread
    */
   @Override
   protected boolean requestInvoke(FrameBuffer frameBuffer) {
@@ -322,9 +313,7 @@
     return new Invocation(frameBuffer);
   }
 
-  /**
-   * Helper to create the invoker if one is not specified
-   */
+  /** Helper to create the invoker if one is not specified */
   protected static ExecutorService createDefaultExecutor(Args options) {
     return (options.workerThreads > 0) ? Executors.newFixedThreadPool(options.workerThreads) : null;
   }
@@ -338,8 +327,8 @@
   }
 
   /**
-   * The thread that selects on the server transport (listen socket) and accepts
-   * new connections to hand off to the IO selector threads
+   * The thread that selects on the server transport (listen socket) and accepts new connections to
+   * hand off to the IO selector threads
    */
   protected class AcceptThread extends Thread {
 
@@ -354,8 +343,9 @@
      *
      * @throws IOException
      */
-    public AcceptThread(TNonblockingServerTransport serverTransport,
-        SelectorThreadLoadBalancer threadChooser) throws IOException {
+    public AcceptThread(
+        TNonblockingServerTransport serverTransport, SelectorThreadLoadBalancer threadChooser)
+        throws IOException {
       this.serverTransport = serverTransport;
       this.threadChooser = threadChooser;
       this.acceptSelector = SelectorProvider.provider().openSelector();
@@ -363,9 +353,9 @@
     }
 
     /**
-     * The work loop. Selects on the server transport and accepts. If there was
-     * a server transport that had blocking accepts, and returned on blocking
-     * client transports, that should be used instead
+     * The work loop. Selects on the server transport and accepts. If there was a server transport
+     * that had blocking accepts, and returned on blocking client transports, that should be used
+     * instead
      */
     public void run() {
       try {
@@ -389,16 +379,14 @@
       }
     }
 
-    /**
-     * If the selector is blocked, wake it up.
-     */
+    /** If the selector is blocked, wake it up. */
     public void wakeupSelector() {
       acceptSelector.wakeup();
     }
 
     /**
-     * Select and process IO events appropriately: If there are connections to
-     * be accepted, accept them.
+     * Select and process IO events appropriately: If there are connections to be accepted, accept
+     * them.
      */
     private void select() {
       try {
@@ -427,9 +415,7 @@
       }
     }
 
-    /**
-     * Accept a new connection.
-     */
+    /** Accept a new connection. */
     private void handleAccept() {
       final TNonblockingTransport client = doAccept();
       if (client != null) {
@@ -441,11 +427,12 @@
         } else {
           // FAIR_ACCEPT
           try {
-            invoker.submit(new Runnable() {
-              public void run() {
-                doAddAccept(targetThread, client);
-              }
-            });
+            invoker.submit(
+                new Runnable() {
+                  public void run() {
+                    doAddAccept(targetThread, client);
+                  }
+                });
           } catch (RejectedExecutionException rx) {
             LOGGER.warn("ExecutorService rejected accept registration!", rx);
             // close immediately
@@ -472,10 +459,7 @@
     }
   } // AcceptThread
 
-  /**
-   * The SelectorThread(s) will be doing all the selecting on accepted active
-   * connections.
-   */
+  /** The SelectorThread(s) will be doing all the selecting on accepted active connections. */
   protected class SelectorThread extends AbstractSelectThread {
 
     // Accepted connections added by the accept thread.
@@ -487,8 +471,7 @@
     /**
      * Set up the SelectorThread with an unbounded queue for incoming accepts.
      *
-     * @throws IOException
-     *           if a selector cannot be created
+     * @throws IOException if a selector cannot be created
      */
     public SelectorThread() throws IOException {
       this(new LinkedBlockingQueue<TNonblockingTransport>());
@@ -497,8 +480,7 @@
     /**
      * Set up the SelectorThread with an bounded queue for incoming accepts.
      *
-     * @throws IOException
-     *           if a selector cannot be created
+     * @throws IOException if a selector cannot be created
      */
     public SelectorThread(int maxPendingAccepts) throws IOException {
       this(createDefaultAcceptQueue(maxPendingAccepts));
@@ -507,22 +489,19 @@
     /**
      * Set up the SelectorThread with a specified queue for connections.
      *
-     * @param acceptedQueue
-     *          The BlockingQueue implementation for holding incoming accepted
-     *          connections.
-     * @throws IOException
-     *           if a selector cannot be created.
+     * @param acceptedQueue The BlockingQueue implementation for holding incoming accepted
+     *     connections.
+     * @throws IOException if a selector cannot be created.
      */
     public SelectorThread(BlockingQueue<TNonblockingTransport> acceptedQueue) throws IOException {
       this.acceptedQueue = acceptedQueue;
     }
 
     /**
-     * Hands off an accepted connection to be handled by this thread. This
-     * method will block if the queue for new connections is at capacity.
+     * Hands off an accepted connection to be handled by this thread. This method will block if the
+     * queue for new connections is at capacity.
      *
-     * @param accepted
-     *          The connection that has been accepted.
+     * @param accepted The connection that has been accepted.
      * @return true if the connection has been successfully added.
      */
     public boolean addAcceptedConnection(TNonblockingTransport accepted) {
@@ -537,8 +516,8 @@
     }
 
     /**
-     * The work loop. Handles selecting (read/write IO), dispatching, and
-     * managing the selection preferences of all existing connections.
+     * The work loop. Handles selecting (read/write IO), dispatching, and managing the selection
+     * preferences of all existing connections.
      */
     public void run() {
       try {
@@ -564,10 +543,10 @@
     }
 
     /**
-     * Select and process IO events appropriately: If there are existing
-     * connections with data waiting to be read, read it, buffering until a
-     * whole frame has been read. If there are any pending responses, buffer
-     * them until their target client is available, and then send the data.
+     * Select and process IO events appropriately: If there are existing connections with data
+     * waiting to be read, read it, buffering until a whole frame has been read. If there are any
+     * pending responses, buffer them until their target client is available, and then send the
+     * data.
      */
     private void select() {
       try {
@@ -602,8 +581,7 @@
     }
 
     /**
-     * Do select and judge epoll bug happen.
-     * See : https://issues.apache.org/jira/browse/THRIFT-4251
+     * Do select and judge epoll bug happen. See : https://issues.apache.org/jira/browse/THRIFT-4251
      */
     private void doSelect() throws IOException {
       long beforeSelect = System.currentTimeMillis();
@@ -620,12 +598,12 @@
       if (selectedTime >= MONITOR_PERIOD) {
         jvmBug = 0;
       } else if (jvmBug > SELECTOR_AUTO_REBUILD_THRESHOLD) {
-        LOGGER.warn("In {} ms happen {} times jvm bug; rebuilding selector.", MONITOR_PERIOD, jvmBug);
+        LOGGER.warn(
+            "In {} ms happen {} times jvm bug; rebuilding selector.", MONITOR_PERIOD, jvmBug);
         rebuildSelector();
         selector.selectNow();
         jvmBug = 0;
       }
-
     }
 
     /**
@@ -646,8 +624,7 @@
       }
 
       for (SelectionKey key : oldSelector.selectedKeys()) {
-        if (!key.isValid() && key.readyOps() == 0)
-          continue;
+        if (!key.isValid() && key.readyOps() == 0) continue;
         SelectableChannel channel = key.channel();
         Object attachment = key.attachment();
 
@@ -660,7 +637,6 @@
         } catch (ClosedChannelException e) {
           LOGGER.error("Register new selector key error.", e);
         }
-
       }
 
       selector = newSelector;
@@ -683,12 +659,14 @@
       }
     }
 
-    protected FrameBuffer createFrameBuffer(final TNonblockingTransport trans,
+    protected FrameBuffer createFrameBuffer(
+        final TNonblockingTransport trans,
         final SelectionKey selectionKey,
-        final AbstractSelectThread selectThread) throws TTransportException {
-        return processorFactory_.isAsyncProcessor() ?
-                  new AsyncFrameBuffer(trans, selectionKey, selectThread) :
-                  new FrameBuffer(trans, selectionKey, selectThread);
+        final AbstractSelectThread selectThread)
+        throws TTransportException {
+      return processorFactory_.isAsyncProcessor()
+          ? new AsyncFrameBuffer(trans, selectionKey, selectThread)
+          : new FrameBuffer(trans, selectionKey, selectThread);
     }
 
     private void registerAccepted(TNonblockingTransport accepted) {
@@ -710,17 +688,15 @@
   } // SelectorThread
 
   /**
-   * Creates a SelectorThreadLoadBalancer to be used by the accept thread for
-   * assigning newly accepted connections across the threads.
+   * Creates a SelectorThreadLoadBalancer to be used by the accept thread for assigning newly
+   * accepted connections across the threads.
    */
-  protected SelectorThreadLoadBalancer createSelectorThreadLoadBalancer(Collection<? extends SelectorThread> threads) {
+  protected SelectorThreadLoadBalancer createSelectorThreadLoadBalancer(
+      Collection<? extends SelectorThread> threads) {
     return new SelectorThreadLoadBalancer(threads);
   }
 
-  /**
-   * A round robin load balancer for choosing selector threads for new
-   * connections.
-   */
+  /** A round robin load balancer for choosing selector threads for new connections. */
   protected static class SelectorThreadLoadBalancer {
     private final Collection<? extends SelectorThread> threads;
     private Iterator<? extends SelectorThread> nextThreadIterator;
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/AutoExpandingBuffer.java b/lib/java/src/main/java/org/apache/thrift/transport/AutoExpandingBuffer.java
index b355d11..b1c815f 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/AutoExpandingBuffer.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/AutoExpandingBuffer.java
@@ -21,11 +21,10 @@
 import java.util.Arrays;
 
 /**
- * Helper class that wraps a byte[] so that it can expand and be reused. Users
- * should call resizeIfNecessary to make sure the buffer has suitable capacity,
- * and then use the array as needed. Note that the internal array will grow at a
- * rate slightly faster than the requested capacity with the (untested)
- * objective of avoiding expensive buffer allocations and copies.
+ * Helper class that wraps a byte[] so that it can expand and be reused. Users should call
+ * resizeIfNecessary to make sure the buffer has suitable capacity, and then use the array as
+ * needed. Note that the internal array will grow at a rate slightly faster than the requested
+ * capacity with the (untested) objective of avoiding expensive buffer allocations and copies.
  */
 public class AutoExpandingBuffer {
   private byte[] array;
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/AutoExpandingBufferReadTransport.java b/lib/java/src/main/java/org/apache/thrift/transport/AutoExpandingBufferReadTransport.java
index 6fd4075..d59c657 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/AutoExpandingBufferReadTransport.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/AutoExpandingBufferReadTransport.java
@@ -20,9 +20,7 @@
 
 import org.apache.thrift.TConfiguration;
 
-/**
- * TTransport for reading from an AutoExpandingBuffer.
- */
+/** TTransport for reading from an AutoExpandingBuffer. */
 public class AutoExpandingBufferReadTransport extends TEndpointTransport {
 
   private final AutoExpandingBuffer buf;
@@ -30,7 +28,8 @@
   private int pos = 0;
   private int limit = 0;
 
-  public AutoExpandingBufferReadTransport(TConfiguration config, int initialCapacity) throws TTransportException {
+  public AutoExpandingBufferReadTransport(TConfiguration config, int initialCapacity)
+      throws TTransportException {
     super(config);
     this.buf = new AutoExpandingBuffer(initialCapacity);
   }
@@ -46,7 +45,9 @@
   public void close() {}
 
   @Override
-  public boolean isOpen() { return true; }
+  public boolean isOpen() {
+    return true;
+  }
 
   @Override
   public void open() throws TTransportException {}
@@ -54,7 +55,7 @@
   @Override
   public final int read(byte[] target, int off, int len) throws TTransportException {
     int amtToRead = Math.min(len, getBytesRemainingInBuffer());
-    if(amtToRead > 0){
+    if (amtToRead > 0) {
       System.arraycopy(buf.array(), pos, target, off, amtToRead);
       consumeBuffer(amtToRead);
     }
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/AutoExpandingBufferWriteTransport.java b/lib/java/src/main/java/org/apache/thrift/transport/AutoExpandingBufferWriteTransport.java
index 84b28b4..741d629 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/AutoExpandingBufferWriteTransport.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/AutoExpandingBufferWriteTransport.java
@@ -20,9 +20,7 @@
 
 import org.apache.thrift.TConfiguration;
 
-/**
- * TTransport for writing to an AutoExpandingBuffer.
- */
+/** TTransport for writing to an AutoExpandingBuffer. */
 public final class AutoExpandingBufferWriteTransport extends TEndpointTransport {
 
   private final AutoExpandingBuffer buf;
@@ -31,17 +29,18 @@
 
   /**
    * Constructor.
+   *
    * @param config the configuration to use. Currently used for defining the maximum message size.
    * @param initialCapacity the initial capacity of the buffer
-   * @param frontReserve space, if any, to reserve at the beginning such
-   *                     that the first write is after this reserve.
-   *                     This allows framed transport to reserve space
-   *                     for the frame buffer length.
+   * @param frontReserve space, if any, to reserve at the beginning such that the first write is
+   *     after this reserve. This allows framed transport to reserve space for the frame buffer
+   *     length.
    * @throws IllegalArgumentException if initialCapacity is less than one
    * @throws IllegalArgumentException if frontReserve is less than zero
    * @throws IllegalArgumentException if frontReserve is greater than initialCapacity
    */
-  public AutoExpandingBufferWriteTransport(TConfiguration config, int initialCapacity, int frontReserve) throws TTransportException {
+  public AutoExpandingBufferWriteTransport(
+      TConfiguration config, int initialCapacity, int frontReserve) throws TTransportException {
     super(config);
     if (initialCapacity < 1) {
       throw new IllegalArgumentException("initialCapacity");
@@ -58,7 +57,9 @@
   public void close() {}
 
   @Override
-  public boolean isOpen() {return true;}
+  public boolean isOpen() {
+    return true;
+  }
 
   @Override
   public void open() throws TTransportException {}
@@ -79,9 +80,7 @@
     return buf;
   }
 
-  /**
-   * @return length of the buffer, including any front reserve
-   */
+  /** @return length of the buffer, including any front reserve */
   public int getLength() {
     return pos;
   }
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/TByteBuffer.java b/lib/java/src/main/java/org/apache/thrift/transport/TByteBuffer.java
index 72d10c5..fa296e7 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/TByteBuffer.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/TByteBuffer.java
@@ -1,14 +1,11 @@
 package org.apache.thrift.transport;
 
-import org.apache.thrift.TConfiguration;
-
 import java.nio.BufferOverflowException;
 import java.nio.BufferUnderflowException;
 import java.nio.ByteBuffer;
+import org.apache.thrift.TConfiguration;
 
-/**
- * ByteBuffer-backed implementation of TTransport.
- */
+/** ByteBuffer-backed implementation of TTransport. */
 public final class TByteBuffer extends TEndpointTransport {
   private final ByteBuffer byteBuffer;
 
@@ -30,12 +27,10 @@
   }
 
   @Override
-  public void open() {
-  }
+  public void open() {}
 
   @Override
-  public void close() {
-  }
+  public void close() {}
 
   @Override
   public int read(byte[] buf, int off, int len) throws TTransportException {
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/TEOFException.java b/lib/java/src/main/java/org/apache/thrift/transport/TEOFException.java
index b5ae6ef..52a5cf7 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/TEOFException.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/TEOFException.java
@@ -19,9 +19,7 @@
 
 package org.apache.thrift.transport;
 
-/**
- * End of file, especially, the underlying socket is closed.
- */
+/** End of file, especially, the underlying socket is closed. */
 public class TEOFException extends TTransportException {
 
   public TEOFException(String message) {
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/TEndpointTransport.java b/lib/java/src/main/java/org/apache/thrift/transport/TEndpointTransport.java
index f33b8b7..72bf953 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/TEndpointTransport.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/TEndpointTransport.java
@@ -18,88 +18,93 @@
  */
 package org.apache.thrift.transport;
 
+import java.util.Objects;
 import org.apache.thrift.TConfiguration;
 
-import java.util.Objects;
+public abstract class TEndpointTransport extends TTransport {
 
-public abstract class TEndpointTransport extends TTransport{
+  protected long getMaxMessageSize() {
+    return getConfiguration().getMaxMessageSize();
+  }
 
-    protected long getMaxMessageSize() { return getConfiguration().getMaxMessageSize(); }
+  public int getMaxFrameSize() {
+    return getConfiguration().getMaxFrameSize();
+  }
 
-    public int getMaxFrameSize() { return getConfiguration().getMaxFrameSize(); }
+  public void setMaxFrameSize(int maxFrameSize) {
+    getConfiguration().setMaxFrameSize(maxFrameSize);
+  }
 
-    public void setMaxFrameSize(int maxFrameSize) { getConfiguration().setMaxFrameSize(maxFrameSize); }
+  protected long knownMessageSize;
+  protected long remainingMessageSize;
 
-    protected long knownMessageSize;
-    protected long remainingMessageSize;
+  private TConfiguration _configuration;
 
-    private TConfiguration _configuration;
+  public TConfiguration getConfiguration() {
+    return _configuration;
+  }
 
-    public TConfiguration getConfiguration() {
-        return _configuration;
+  public TEndpointTransport(TConfiguration config) throws TTransportException {
+    _configuration = Objects.isNull(config) ? new TConfiguration() : config;
+
+    resetConsumedMessageSize(-1);
+  }
+
+  /**
+   * Resets RemainingMessageSize to the configured maximum
+   *
+   * @param newSize
+   */
+  protected void resetConsumedMessageSize(long newSize) throws TTransportException {
+    // full reset
+    if (newSize < 0) {
+      knownMessageSize = getMaxMessageSize();
+      remainingMessageSize = getMaxMessageSize();
+      return;
     }
 
-    public TEndpointTransport(TConfiguration config) throws TTransportException {
-        _configuration = Objects.isNull(config) ? new TConfiguration() : config;
+    // update only: message size can shrink, but not grow
+    if (newSize > knownMessageSize)
+      throw new TTransportException(TTransportException.END_OF_FILE, "MaxMessageSize reached");
 
-        resetConsumedMessageSize(-1);
+    knownMessageSize = newSize;
+    remainingMessageSize = newSize;
+  }
+
+  /**
+   * Updates RemainingMessageSize to reflect then known real message size (e.g. framed transport).
+   * Will throw if we already consumed too many bytes or if the new size is larger than allowed.
+   *
+   * @param size
+   */
+  public void updateKnownMessageSize(long size) throws TTransportException {
+    long consumed = knownMessageSize - remainingMessageSize;
+    resetConsumedMessageSize(size == 0 ? -1 : size);
+    countConsumedMessageBytes(consumed);
+  }
+
+  /**
+   * Throws if there are not enough bytes in the input stream to satisfy a read of numBytes bytes of
+   * data
+   *
+   * @param numBytes
+   */
+  public void checkReadBytesAvailable(long numBytes) throws TTransportException {
+    if (remainingMessageSize < numBytes)
+      throw new TTransportException(TTransportException.END_OF_FILE, "MaxMessageSize reached");
+  }
+
+  /**
+   * Consumes numBytes from the RemainingMessageSize.
+   *
+   * @param numBytes
+   */
+  protected void countConsumedMessageBytes(long numBytes) throws TTransportException {
+    if (remainingMessageSize >= numBytes) {
+      remainingMessageSize -= numBytes;
+    } else {
+      remainingMessageSize = 0;
+      throw new TTransportException(TTransportException.END_OF_FILE, "MaxMessageSize reached");
     }
-
-    /**
-     * Resets RemainingMessageSize to the configured maximum
-     * @param newSize
-     */
-    protected void resetConsumedMessageSize(long newSize) throws TTransportException {
-        // full reset
-        if (newSize < 0)
-        {
-            knownMessageSize = getMaxMessageSize();
-            remainingMessageSize = getMaxMessageSize();
-            return;
-        }
-
-        // update only: message size can shrink, but not grow
-        if (newSize > knownMessageSize)
-            throw new TTransportException(TTransportException.END_OF_FILE, "MaxMessageSize reached");
-
-        knownMessageSize = newSize;
-        remainingMessageSize = newSize;
-    }
-
-    /**
-     * Updates RemainingMessageSize to reflect then known real message size (e.g. framed transport).
-     * Will throw if we already consumed too many bytes or if the new size is larger than allowed.
-     * @param size
-     */
-    public void updateKnownMessageSize(long size) throws TTransportException {
-        long consumed = knownMessageSize - remainingMessageSize;
-        resetConsumedMessageSize(size == 0 ? -1 : size);
-        countConsumedMessageBytes(consumed);
-    }
-
-    /**
-     * Throws if there are not enough bytes in the input stream to satisfy a read of numBytes bytes of data
-     * @param numBytes
-     */
-    public void checkReadBytesAvailable(long numBytes) throws TTransportException {
-        if (remainingMessageSize < numBytes)
-            throw new TTransportException(TTransportException.END_OF_FILE, "MaxMessageSize reached");
-    }
-
-    /**
-     * Consumes numBytes from the RemainingMessageSize.
-     * @param numBytes
-     */
-    protected void countConsumedMessageBytes(long numBytes) throws TTransportException {
-        if (remainingMessageSize >= numBytes)
-        {
-            remainingMessageSize -= numBytes;
-        }
-        else
-        {
-            remainingMessageSize = 0;
-            throw new TTransportException(TTransportException.END_OF_FILE, "MaxMessageSize reached");
-        }
-    }
-
+  }
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/TFileProcessor.java b/lib/java/src/main/java/org/apache/thrift/transport/TFileProcessor.java
index e36a5f3..e447aca 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/TFileProcessor.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/TFileProcessor.java
@@ -19,14 +19,14 @@
 
 package org.apache.thrift.transport;
 
-import org.apache.thrift.TProcessor;
 import org.apache.thrift.TException;
+import org.apache.thrift.TProcessor;
 import org.apache.thrift.protocol.TProtocol;
 import org.apache.thrift.protocol.TProtocolFactory;
 
 /**
- * FileProcessor: helps in processing files generated by TFileTransport.
- * Port of original cpp implementation
+ * FileProcessor: helps in processing files generated by TFileTransport. Port of original cpp
+ * implementation
  */
 public class TFileProcessor {
 
@@ -36,20 +36,23 @@
   private TFileTransport inputTransport_;
   private TTransport outputTransport_;
 
-  public TFileProcessor(TProcessor processor, TProtocolFactory protocolFactory,
-                        TFileTransport inputTransport,
-                        TTransport outputTransport) {
+  public TFileProcessor(
+      TProcessor processor,
+      TProtocolFactory protocolFactory,
+      TFileTransport inputTransport,
+      TTransport outputTransport) {
     processor_ = processor;
     inputProtocolFactory_ = outputProtocolFactory_ = protocolFactory;
     inputTransport_ = inputTransport;
     outputTransport_ = outputTransport;
   }
 
-  public TFileProcessor(TProcessor processor,
-                        TProtocolFactory inputProtocolFactory,
-                        TProtocolFactory outputProtocolFactory,
-                        TFileTransport inputTransport,
-                        TTransport outputTransport) {
+  public TFileProcessor(
+      TProcessor processor,
+      TProtocolFactory inputProtocolFactory,
+      TProtocolFactory outputProtocolFactory,
+      TFileTransport inputTransport,
+      TTransport outputTransport) {
     processor_ = processor;
     inputProtocolFactory_ = inputProtocolFactory;
     outputProtocolFactory_ = outputProtocolFactory;
@@ -71,8 +74,7 @@
     } catch (TTransportException e) {
       // if we are processing the last chunk - we could have just hit EOF
       // on EOF - trap the error and stop processing.
-      if(e.getType() != TTransportException.END_OF_FILE)
-        throw e;
+      if (e.getType() != TTransportException.END_OF_FILE) throw e;
       else {
         return;
       }
@@ -81,20 +83,18 @@
 
   /**
    * Process from start to last chunk both inclusive where chunks begin from 0
-
+   *
    * @param startChunkNum first chunk to be processed
    * @param endChunkNum last chunk to be processed
    * @throws TException if endChunkNum is less than startChunkNum.
    */
   public void processChunk(int startChunkNum, int endChunkNum) throws TException {
     int numChunks = inputTransport_.getNumChunks();
-    if(endChunkNum < 0)
-      endChunkNum += numChunks;
+    if (endChunkNum < 0) endChunkNum += numChunks;
 
-    if(startChunkNum < 0)
-      startChunkNum += numChunks;
+    if (startChunkNum < 0) startChunkNum += numChunks;
 
-    if(endChunkNum < startChunkNum)
+    if (endChunkNum < startChunkNum)
       throw new TException("endChunkNum " + endChunkNum + " is less than " + startChunkNum);
 
     inputTransport_.seekToChunk(startChunkNum);
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/TFileTransport.java b/lib/java/src/main/java/org/apache/thrift/transport/TFileTransport.java
index 61b68d2..713d521 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/TFileTransport.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/TFileTransport.java
@@ -21,22 +21,21 @@
 
 import java.io.BufferedInputStream;
 import java.io.BufferedOutputStream;
+import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
-import java.io.IOException;
 import java.util.Random;
-
 import org.apache.thrift.TConfiguration;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * FileTransport implementation of the TTransport interface.
- * Currently this is a straightforward port of the cpp implementation
+ * FileTransport implementation of the TTransport interface. Currently this is a straightforward
+ * port of the cpp implementation
  *
- * It may make better sense to provide a basic stream access on top of the framed file format
- * The FileTransport can then be a user of this framed file format with some additional logic
- * for chunking.
+ * <p>It may make better sense to provide a basic stream access on top of the framed file format The
+ * FileTransport can then be a user of this framed file format with some additional logic for
+ * chunking.
  */
 public class TFileTransport extends TTransport {
 
@@ -46,15 +45,16 @@
     public void trunc() {
       pos = count = 0;
     }
+
     public TruncableBufferedInputStream(InputStream in) {
       super(in);
     }
+
     public TruncableBufferedInputStream(InputStream in, int size) {
       super(in, size);
     }
   }
 
-
   public static class Event {
     private byte[] buf_;
     private int nread_;
@@ -70,64 +70,81 @@
       nread_ = navailable_ = 0;
     }
 
-    public byte[] getBuf() { return buf_;}
-    public int getSize() { return buf_.length; }
+    public byte[] getBuf() {
+      return buf_;
+    }
 
+    public int getSize() {
+      return buf_.length;
+    }
 
-    public void setAvailable(int sz) { nread_ = 0; navailable_=sz;}
-    public int getRemaining() { return (navailable_ - nread_); }
+    public void setAvailable(int sz) {
+      nread_ = 0;
+      navailable_ = sz;
+    }
+
+    public int getRemaining() {
+      return (navailable_ - nread_);
+    }
 
     public int emit(byte[] buf, int offset, int ndesired) {
-      if((ndesired == 0) || (ndesired > getRemaining()))
-        ndesired = getRemaining();
+      if ((ndesired == 0) || (ndesired > getRemaining())) ndesired = getRemaining();
 
-      if(ndesired <= 0)
-        return (ndesired);
+      if (ndesired <= 0) return (ndesired);
 
       System.arraycopy(buf_, nread_, buf, offset, ndesired);
       nread_ += ndesired;
 
-      return(ndesired);
+      return (ndesired);
     }
   }
 
-    public static class ChunkState {
-    /**
-     * Chunk Size. Must be same across all implementations
-     */
+  public static class ChunkState {
+    /** Chunk Size. Must be same across all implementations */
     public static final int DEFAULT_CHUNK_SIZE = 16 * 1024 * 1024;
 
     private int chunk_size_ = DEFAULT_CHUNK_SIZE;
     private long offset_ = 0;
 
     public ChunkState() {}
-    public ChunkState(int chunk_size) { chunk_size_ = chunk_size; }
 
-    public void skip(int size) {offset_ += size; }
-    public void seek(long offset) {offset_ = offset;}
+    public ChunkState(int chunk_size) {
+      chunk_size_ = chunk_size;
+    }
 
-    public int getChunkSize() { return chunk_size_;}
-    public int getChunkNum() { return ((int)(offset_/chunk_size_));}
-    public int getRemaining() { return (chunk_size_ - ((int)(offset_ % chunk_size_)));}
-    public long getOffset() { return (offset_);}
+    public void skip(int size) {
+      offset_ += size;
+    }
+
+    public void seek(long offset) {
+      offset_ = offset;
+    }
+
+    public int getChunkSize() {
+      return chunk_size_;
+    }
+
+    public int getChunkNum() {
+      return ((int) (offset_ / chunk_size_));
+    }
+
+    public int getRemaining() {
+      return (chunk_size_ - ((int) (offset_ % chunk_size_)));
+    }
+
+    public long getOffset() {
+      return (offset_);
+    }
   }
 
   public enum TailPolicy {
-
     NOWAIT(0, 0),
-      WAIT_FOREVER(500, -1);
+    WAIT_FOREVER(500, -1);
 
-    /**
-     * Time in milliseconds to sleep before next read
-     * If 0, no sleep
-     */
+    /** Time in milliseconds to sleep before next read If 0, no sleep */
     public final int timeout_;
 
-    /**
-     * Number of retries before giving up
-     * if 0, no retries
-     * if -1, retry forever
-     */
+    /** Number of retries before giving up if 0, no retries if -1, retry forever */
     public final int retries_;
 
     /**
@@ -136,48 +153,31 @@
      * @param timeout sleep time for this particular policy
      * @param retries number of retries
      */
-
     TailPolicy(int timeout, int retries) {
       timeout_ = timeout;
       retries_ = retries;
     }
   }
 
-  /**
-   * Current tailing policy
-   */
+  /** Current tailing policy */
   TailPolicy currentPolicy_ = TailPolicy.NOWAIT;
 
-
-  /**
-   * Underlying file being read
-   */
+  /** Underlying file being read */
   protected TSeekableFile inputFile_ = null;
 
-  /**
-   * Underlying outputStream
-   */
+  /** Underlying outputStream */
   protected OutputStream outputStream_ = null;
 
-
-  /**
-   * Event currently read in
-   */
+  /** Event currently read in */
   Event currentEvent_ = null;
 
-  /**
-   * InputStream currently being used for reading
-   */
+  /** InputStream currently being used for reading */
   InputStream inputStream_ = null;
 
-  /**
-   * current Chunk state
-   */
+  /** current Chunk state */
   ChunkState cs = null;
 
-  /**
-   * is read only?
-   */
+  /** is read only? */
   private boolean readOnly_ = false;
 
   /**
@@ -201,7 +201,6 @@
     return (old);
   }
 
-
   /**
    * Initialize read input stream
    *
@@ -210,8 +209,8 @@
   private InputStream createInputStream() throws TTransportException {
     InputStream is;
     try {
-      if(inputStream_ != null) {
-        ((TruncableBufferedInputStream)inputStream_).trunc();
+      if (inputStream_ != null) {
+        ((TruncableBufferedInputStream) inputStream_).trunc();
         is = inputStream_;
       } else {
         is = new TruncableBufferedInputStream(inputFile_.getInputStream());
@@ -219,7 +218,7 @@
     } catch (IOException iox) {
       throw new TTransportException(iox.getMessage(), iox);
     }
-    return(is);
+    return (is);
   }
 
   /**
@@ -229,18 +228,17 @@
    * @param buf Buffer to read into
    * @param off Offset in buffer to read into
    * @param len Number of bytes to read
-   * @param tp  policy to use if we hit EOF
-   *
+   * @param tp policy to use if we hit EOF
    * @return number of bytes read
    */
-  private int tailRead(InputStream is, byte[] buf,
-                       int off, int len, TailPolicy tp) throws TTransportException {
+  private int tailRead(InputStream is, byte[] buf, int off, int len, TailPolicy tp)
+      throws TTransportException {
     int orig_len = len;
     try {
       int retries = 0;
-      while(len > 0) {
+      while (len > 0) {
         int cnt = is.read(buf, off, len);
-        if(cnt > 0) {
+        if (cnt > 0) {
           off += cnt;
           len -= cnt;
           retries = 0;
@@ -249,40 +247,40 @@
           // EOF
           retries++;
 
-          if((tp.retries_ != -1) && tp.retries_ < retries)
-            return (orig_len - len);
+          if ((tp.retries_ != -1) && tp.retries_ < retries) return (orig_len - len);
 
-          if(tp.timeout_ > 0) {
-            try {Thread.sleep(tp.timeout_);} catch(InterruptedException e) {}
+          if (tp.timeout_ > 0) {
+            try {
+              Thread.sleep(tp.timeout_);
+            } catch (InterruptedException e) {
+            }
           }
         } else {
           // either non-zero or -1 is what the contract says!
-          throw new
-            TTransportException("Unexpected return from InputStream.read = "
-                                + cnt);
+          throw new TTransportException("Unexpected return from InputStream.read = " + cnt);
         }
       }
     } catch (IOException iox) {
       throw new TTransportException(iox.getMessage(), iox);
     }
 
-    return(orig_len - len);
+    return (orig_len - len);
   }
 
   /**
    * Event is corrupted. Do recovery
    *
-   * @return true if recovery could be performed and we can read more data
-   *         false is returned only when nothing more can be read
+   * @return true if recovery could be performed and we can read more data false is returned only
+   *     when nothing more can be read
    */
   private boolean performRecovery() throws TTransportException {
     int numChunks = getNumChunks();
     int curChunk = cs.getChunkNum();
 
-    if(curChunk >= (numChunks-1)) {
+    if (curChunk >= (numChunks - 1)) {
       return false;
     }
-    seekToChunk(curChunk+1);
+    seekToChunk(curChunk + 1);
     return true;
   }
 
@@ -301,27 +299,27 @@
     do {
       // corner case. read to end of chunk
       nrequested = cs.getRemaining();
-      if(nrequested < 4) {
+      if (nrequested < 4) {
         nread = tailRead(inputStream_, ebytes, 0, nrequested, currentPolicy_);
-        if(nread != nrequested) {
-          return(false);
+        if (nread != nrequested) {
+          return (false);
         }
       }
 
       // assuming serialized on little endian machine
       nread = tailRead(inputStream_, ebytes, 0, 4, currentPolicy_);
-      if(nread != 4) {
-        return(false);
+      if (nread != 4) {
+        return (false);
       }
 
-      esize=0;
-      for(int i=3; i>=0; i--) {
-        int val = (0x000000ff & (int)ebytes[i]);
-        esize |= (val << (i*8));
+      esize = 0;
+      for (int i = 3; i >= 0; i--) {
+        int val = (0x000000ff & (int) ebytes[i]);
+        esize |= (val << (i * 8));
       }
 
       // check if event is corrupted and do recovery as required
-      if(esize > cs.getRemaining()) {
+      if (esize > cs.getRemaining()) {
         throw new TTransportException("FileTransport error: bad event size");
         /*
                   if(performRecovery()) {
@@ -334,17 +332,16 @@
     } while (esize == 0);
 
     // reset existing event or get a larger one
-    if(currentEvent_.getSize() < esize)
-      currentEvent_ = new Event(new byte [esize]);
+    if (currentEvent_.getSize() < esize) currentEvent_ = new Event(new byte[esize]);
 
     // populate the event
     byte[] buf = currentEvent_.getBuf();
     nread = tailRead(inputStream_, buf, 0, esize, currentPolicy_);
-    if(nread != esize) {
-      return(false);
+    if (nread != esize) {
+      return (false);
     }
     currentEvent_.setAvailable(esize);
-    return(true);
+    return (true);
   }
 
   /**
@@ -356,37 +353,31 @@
     return ((inputStream_ != null) && (readOnly_ || (outputStream_ != null)));
   }
 
-
   /**
-   * Diverging from the cpp model and sticking to the TSocket model
-   * Files are not opened in ctor - but in explicit open call
+   * Diverging from the cpp model and sticking to the TSocket model Files are not opened in ctor -
+   * but in explicit open call
    */
   public void open() throws TTransportException {
-    if (isOpen())
-      throw new TTransportException(TTransportException.ALREADY_OPEN);
+    if (isOpen()) throw new TTransportException(TTransportException.ALREADY_OPEN);
 
     try {
       inputStream_ = createInputStream();
       cs = new ChunkState();
-      currentEvent_ = new Event(new byte [256]);
+      currentEvent_ = new Event(new byte[256]);
 
-      if(!readOnly_)
-        outputStream_ = new BufferedOutputStream(inputFile_.getOutputStream());
+      if (!readOnly_) outputStream_ = new BufferedOutputStream(inputFile_.getOutputStream());
     } catch (IOException iox) {
       throw new TTransportException(TTransportException.NOT_OPEN, iox);
     }
   }
 
-  /**
-   * Closes the transport.
-   */
+  /** Closes the transport. */
   public void close() {
     if (inputFile_ != null) {
       try {
         inputFile_.close();
       } catch (IOException iox) {
-        LOGGER.warn("WARNING: Error closing input file: " +
-                           iox.getMessage());
+        LOGGER.warn("WARNING: Error closing input file: " + iox.getMessage());
       }
       inputFile_ = null;
     }
@@ -394,14 +385,12 @@
       try {
         outputStream_.close();
       } catch (IOException iox) {
-        LOGGER.warn("WARNING: Error closing output stream: " +
-                           iox.getMessage());
+        LOGGER.warn("WARNING: Error closing output stream: " + iox.getMessage());
       }
       outputStream_ = null;
     }
   }
 
-
   /**
    * File Transport ctor
    *
@@ -425,30 +414,26 @@
     readOnly_ = readOnly;
   }
 
-
   /**
-   * Cloned from TTransport.java:readAll(). Only difference is throwing an EOF exception
-   * where one is detected.
+   * Cloned from TTransport.java:readAll(). Only difference is throwing an EOF exception where one
+   * is detected.
    */
-  public int readAll(byte[] buf, int off, int len)
-    throws TTransportException {
+  public int readAll(byte[] buf, int off, int len) throws TTransportException {
     int got = 0;
     int ret = 0;
     while (got < len) {
-      ret = read(buf, off+got, len-got);
+      ret = read(buf, off + got, len - got);
       if (ret < 0) {
         throw new TTransportException("Error in reading from file");
       }
-      if(ret == 0) {
-        throw new TTransportException(TTransportException.END_OF_FILE,
-                                      "End of File reached");
+      if (ret == 0) {
+        throw new TTransportException(TTransportException.END_OF_FILE, "End of File reached");
       }
       got += ret;
     }
     return got;
   }
 
-
   /**
    * Reads up to len bytes into buffer buf, starting at offset off.
    *
@@ -459,13 +444,11 @@
    * @throws TTransportException if there was an error reading data
    */
   public int read(byte[] buf, int off, int len) throws TTransportException {
-    if(!isOpen())
-      throw new TTransportException(TTransportException.NOT_OPEN,
-                                    "Must open before reading");
+    if (!isOpen())
+      throw new TTransportException(TTransportException.NOT_OPEN, "Must open before reading");
 
-    if(currentEvent_.getRemaining() == 0) {
-      if(!readEvent())
-        return(0);
+    if (currentEvent_.getRemaining() == 0) {
+      if (!readEvent()) return (0);
     }
 
     int nread = currentEvent_.emit(buf, off, len);
@@ -473,15 +456,12 @@
   }
 
   public int getNumChunks() throws TTransportException {
-    if(!isOpen())
-      throw new TTransportException(TTransportException.NOT_OPEN,
-                                    "Must open before getNumChunks");
+    if (!isOpen())
+      throw new TTransportException(TTransportException.NOT_OPEN, "Must open before getNumChunks");
     try {
       long len = inputFile_.length();
-      if(len == 0)
-        return 0;
-      else
-        return (((int)(len/cs.getChunkSize())) + 1);
+      if (len == 0) return 0;
+      else return (((int) (len / cs.getChunkSize())) + 1);
 
     } catch (IOException iox) {
       throw new TTransportException(iox.getMessage(), iox);
@@ -489,18 +469,14 @@
   }
 
   public int getCurChunk() throws TTransportException {
-    if(!isOpen())
-      throw new TTransportException(TTransportException.NOT_OPEN,
-                                    "Must open before getCurChunk");
+    if (!isOpen())
+      throw new TTransportException(TTransportException.NOT_OPEN, "Must open before getCurChunk");
     return (cs.getChunkNum());
-
   }
 
-
   public void seekToChunk(int chunk) throws TTransportException {
-    if(!isOpen())
-      throw new TTransportException(TTransportException.NOT_OPEN,
-                                    "Must open before seeking");
+    if (!isOpen())
+      throw new TTransportException(TTransportException.NOT_OPEN, "Must open before seeking");
 
     int numChunks = getNumChunks();
 
@@ -519,45 +495,47 @@
       chunk = 0;
     }
 
-    long eofOffset=0;
+    long eofOffset = 0;
     boolean seekToEnd = (chunk >= numChunks);
-    if(seekToEnd) {
+    if (seekToEnd) {
       chunk = chunk - 1;
-      try { eofOffset = inputFile_.length(); }
-      catch (IOException iox) {throw new TTransportException(iox.getMessage(),
-                                                             iox);}
+      try {
+        eofOffset = inputFile_.length();
+      } catch (IOException iox) {
+        throw new TTransportException(iox.getMessage(), iox);
+      }
     }
 
-    if(chunk*cs.getChunkSize() != cs.getOffset()) {
-      try { inputFile_.seek((long)chunk*cs.getChunkSize()); }
-      catch (IOException iox) {
-        throw new TTransportException("Seek to chunk " +
-                                      chunk + " " +iox.getMessage(), iox);
+    if (chunk * cs.getChunkSize() != cs.getOffset()) {
+      try {
+        inputFile_.seek((long) chunk * cs.getChunkSize());
+      } catch (IOException iox) {
+        throw new TTransportException("Seek to chunk " + chunk + " " + iox.getMessage(), iox);
       }
 
-      cs.seek((long)chunk*cs.getChunkSize());
+      cs.seek((long) chunk * cs.getChunkSize());
       currentEvent_.setAvailable(0);
       inputStream_ = createInputStream();
     }
 
-    if(seekToEnd) {
+    if (seekToEnd) {
       // waiting forever here - otherwise we can hit EOF and end up
       // having consumed partial data from the data stream.
       TailPolicy old = setTailPolicy(TailPolicy.WAIT_FOREVER);
-      while(cs.getOffset() < eofOffset) { readEvent(); }
+      while (cs.getOffset() < eofOffset) {
+        readEvent();
+      }
       currentEvent_.setAvailable(0);
       setTailPolicy(old);
     }
   }
 
   public void seekToEnd() throws TTransportException {
-    if(!isOpen())
-      throw new TTransportException(TTransportException.NOT_OPEN,
-                                    "Must open before seeking");
+    if (!isOpen())
+      throw new TTransportException(TTransportException.NOT_OPEN, "Must open before seeking");
     seekToChunk(getNumChunks());
   }
 
-
   /**
    * Writes up to len bytes from the buffer.
    *
@@ -579,36 +557,30 @@
     throw new TTransportException("Not Supported");
   }
 
-
   @Override
   public TConfiguration getConfiguration() {
     return null;
   }
 
   @Override
-  public void updateKnownMessageSize(long size) throws TTransportException {
-
-  }
+  public void updateKnownMessageSize(long size) throws TTransportException {}
 
   @Override
-  public void checkReadBytesAvailable(long numBytes) throws TTransportException {
+  public void checkReadBytesAvailable(long numBytes) throws TTransportException {}
 
-  }
-
-  /**
-   * test program
-   *
-   */
+  /** test program */
   public static void main(String[] args) throws Exception {
 
     int num_chunks = 10;
 
-    if((args.length < 1) || args[0].equals("--help")
-       || args[0].equals("-h") || args[0].equals("-?")) {
+    if ((args.length < 1)
+        || args[0].equals("--help")
+        || args[0].equals("-h")
+        || args[0].equals("-?")) {
       printUsage();
     }
 
-    if(args.length > 1) {
+    if (args.length > 1) {
       try {
         num_chunks = Integer.parseInt(args[1]);
       } catch (Exception e) {
@@ -619,15 +591,15 @@
 
     TFileTransport t = new TFileTransport(args[0], true);
     t.open();
-    LOGGER.info("NumChunks="+t.getNumChunks());
+    LOGGER.info("NumChunks=" + t.getNumChunks());
 
     Random r = new Random();
-    for(int j=0; j<num_chunks; j++) {
+    for (int j = 0; j < num_chunks; j++) {
       byte[] buf = new byte[4096];
-      int cnum = r.nextInt(t.getNumChunks()-1);
-      LOGGER.info("Reading chunk "+cnum);
+      int cnum = r.nextInt(t.getNumChunks() - 1);
+      LOGGER.info("Reading chunk " + cnum);
       t.seekToChunk(cnum);
-      for(int i=0; i<4096; i++) {
+      for (int i = 0; i < 4096; i++) {
         t.read(buf, 0, 4096);
       }
     }
@@ -638,5 +610,4 @@
     LOGGER.error("       (Opens and reads num_chunks chunks from file randomly)");
     System.exit(1);
   }
-
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/THttpClient.java b/lib/java/src/main/java/org/apache/thrift/transport/THttpClient.java
index 5746822..e514dd5 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/THttpClient.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/THttpClient.java
@@ -28,7 +28,6 @@
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
-
 import org.apache.http.HttpEntity;
 import org.apache.http.HttpHost;
 import org.apache.http.HttpResponse;
@@ -40,32 +39,26 @@
 import org.apache.thrift.TConfiguration;
 
 /**
- * HTTP implementation of the TTransport interface. Used for working with a
- * Thrift web services implementation (using for example TServlet).
+ * HTTP implementation of the TTransport interface. Used for working with a Thrift web services
+ * implementation (using for example TServlet).
  *
- * This class offers two implementations of the HTTP transport.
- * One uses HttpURLConnection instances, the other HttpClient from Apache
- * Http Components.
- * The chosen implementation depends on the constructor used to
- * create the THttpClient instance.
- * Using the THttpClient(String url) constructor or passing null as the
- * HttpClient to THttpClient(String url, HttpClient client) will create an
- * instance which will use HttpURLConnection.
+ * <p>This class offers two implementations of the HTTP transport. One uses HttpURLConnection
+ * instances, the other HttpClient from Apache Http Components. The chosen implementation depends on
+ * the constructor used to create the THttpClient instance. Using the THttpClient(String url)
+ * constructor or passing null as the HttpClient to THttpClient(String url, HttpClient client) will
+ * create an instance which will use HttpURLConnection.
  *
- * When using HttpClient, the following configuration leads to 5-15%
- * better performance than the HttpURLConnection implementation:
+ * <p>When using HttpClient, the following configuration leads to 5-15% better performance than the
+ * HttpURLConnection implementation:
  *
- * http.protocol.version=HttpVersion.HTTP_1_1
- * http.protocol.content-charset=UTF-8
- * http.protocol.expect-continue=false
- * http.connection.stalecheck=false
+ * <p>http.protocol.version=HttpVersion.HTTP_1_1 http.protocol.content-charset=UTF-8
+ * http.protocol.expect-continue=false http.connection.stalecheck=false
  *
- * Also note that under high load, the HttpURLConnection implementation
- * may exhaust the open file descriptor limit.
+ * <p>Also note that under high load, the HttpURLConnection implementation may exhaust the open file
+ * descriptor limit.
  *
  * @see <a href="https://issues.apache.org/jira/browse/THRIFT-970">THRIFT-970</a>
  */
-
 public class THttpClient extends TEndpointTransport {
 
   private final URL url_;
@@ -78,13 +71,14 @@
 
   private int readTimeout_ = 0;
 
-  private Map<String,String> customHeaders_ = null;
+  private Map<String, String> customHeaders_ = null;
 
   private final HttpHost host;
 
   private final HttpClient client;
 
-  private static final Map<String, String> DEFAULT_HEADERS = Collections.unmodifiableMap(getDefaultHeaders());
+  private static final Map<String, String> DEFAULT_HEADERS =
+      Collections.unmodifiableMap(getDefaultHeaders());
 
   public static class Factory extends TTransportFactory {
 
@@ -137,12 +131,17 @@
     }
   }
 
-  public THttpClient(TConfiguration config, String url, HttpClient client) throws TTransportException {
+  public THttpClient(TConfiguration config, String url, HttpClient client)
+      throws TTransportException {
     super(config);
     try {
       url_ = new URL(url);
       this.client = client;
-      this.host = new HttpHost(url_.getHost(), -1 == url_.getPort() ? url_.getDefaultPort() : url_.getPort(), url_.getProtocol());
+      this.host =
+          new HttpHost(
+              url_.getHost(),
+              -1 == url_.getPort() ? url_.getDefaultPort() : url_.getPort(),
+              url_.getProtocol());
     } catch (IOException iox) {
       throw new TTransportException(iox);
     }
@@ -153,7 +152,11 @@
     try {
       url_ = new URL(url);
       this.client = client;
-      this.host = new HttpHost(url_.getHost(), -1 == url_.getPort() ? url_.getDefaultPort() : url_.getPort(), url_.getProtocol());
+      this.host =
+          new HttpHost(
+              url_.getHost(),
+              -1 == url_.getPort() ? url_.getDefaultPort() : url_.getPort(),
+              url_.getProtocol());
     } catch (IOException iox) {
       throw new TTransportException(iox);
     }
@@ -167,7 +170,7 @@
     readTimeout_ = timeout;
   }
 
-  public void setCustomHeaders(Map<String,String> headers) {
+  public void setCustomHeaders(Map<String, String> headers) {
     customHeaders_ = new HashMap<>(headers);
   }
 
@@ -226,7 +229,8 @@
   private RequestConfig getRequestConfig() {
     RequestConfig requestConfig = RequestConfig.DEFAULT;
     if (connectTimeout_ > 0) {
-      requestConfig = RequestConfig.copy(requestConfig).setConnectionRequestTimeout(connectTimeout_).build();
+      requestConfig =
+          RequestConfig.copy(requestConfig).setConnectionRequestTimeout(connectTimeout_).build();
     }
     if (readTimeout_ > 0) {
       requestConfig = RequestConfig.copy(requestConfig).setSocketTimeout(readTimeout_).build();
@@ -243,19 +247,19 @@
   }
 
   /**
-   * copy from org.apache.http.util.EntityUtils#consume. Android has it's own httpcore
-   * that doesn't have a consume.
+   * copy from org.apache.http.util.EntityUtils#consume. Android has it's own httpcore that doesn't
+   * have a consume.
    */
   private static void consume(final HttpEntity entity) throws IOException {
-      if (entity == null) {
-          return;
+    if (entity == null) {
+      return;
+    }
+    if (entity.isStreaming()) {
+      InputStream instream = entity.getContent();
+      if (instream != null) {
+        instream.close();
       }
-      if (entity.isStreaming()) {
-          InputStream instream = entity.getContent();
-          if (instream != null) {
-              instream.close();
-          }
-      }
+    }
   }
 
   private void flushUsingHttpClient() throws TTransportException {
@@ -311,12 +315,10 @@
   }
 
   /**
-   * Read the responses into a byte array so we can release the connection
-   * early. This implies that the whole content will have to be read in
-   * memory, and that momentarily we might use up twice the memory (while the
-   * thrift struct is being read up the chain).
-   * Proceeding differently might lead to exhaustion of connections and thus
-   * to app failure.
+   * Read the responses into a byte array so we can release the connection early. This implies that
+   * the whole content will have to be read in memory, and that momentarily we might use up twice
+   * the memory (while the thrift struct is being read up the chain). Proceeding differently might
+   * lead to exhaustion of connections and thus to app failure.
    *
    * @param is input stream
    * @return read bytes
@@ -348,7 +350,7 @@
 
     try {
       // Create connection object
-      HttpURLConnection connection = (HttpURLConnection)url_.openConnection();
+      HttpURLConnection connection = (HttpURLConnection) url_.openConnection();
 
       // Timeouts, only if explicitly set
       if (connectTimeout_ > 0) {
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/TIOStreamTransport.java b/lib/java/src/main/java/org/apache/thrift/transport/TIOStreamTransport.java
index d5b459c..edfd1f4 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/TIOStreamTransport.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/TIOStreamTransport.java
@@ -19,21 +19,18 @@
 
 package org.apache.thrift.transport;
 
-import org.apache.thrift.TConfiguration;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.net.SocketTimeoutException;
+import org.apache.thrift.TConfiguration;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
- * This is the most commonly used base transport. It takes an InputStream or
- * an OutputStream or both and uses it/them to perform transport operations.
- * This allows for compatibility with all the nice constructs Java already
- * has to provide a variety of types of streams.
- *
+ * This is the most commonly used base transport. It takes an InputStream or an OutputStream or both
+ * and uses it/them to perform transport operations. This allows for compatibility with all the nice
+ * constructs Java already has to provide a variety of types of streams.
  */
 public class TIOStreamTransport extends TEndpointTransport {
 
@@ -46,16 +43,16 @@
   protected OutputStream outputStream_ = null;
 
   /**
-   * Subclasses can invoke the default constructor and then assign the input
-   * streams in the open method.
+   * Subclasses can invoke the default constructor and then assign the input streams in the open
+   * method.
    */
   protected TIOStreamTransport(TConfiguration config) throws TTransportException {
     super(config);
   }
 
   /**
-   * Subclasses can invoke the default constructor and then assign the input
-   * streams in the open method.
+   * Subclasses can invoke the default constructor and then assign the input streams in the open
+   * method.
    */
   protected TIOStreamTransport() throws TTransportException {
     super(new TConfiguration());
@@ -109,7 +106,8 @@
    * @param is Input stream to read from
    * @param os Output stream to read from
    */
-  public TIOStreamTransport(TConfiguration config, InputStream is, OutputStream os) throws TTransportException {
+  public TIOStreamTransport(TConfiguration config, InputStream is, OutputStream os)
+      throws TTransportException {
     super(config);
     inputStream_ = is;
     outputStream_ = os;
@@ -127,22 +125,15 @@
     outputStream_ = os;
   }
 
-  /**
-   *
-   * @return false after close is called.
-   */
+  /** @return false after close is called. */
   public boolean isOpen() {
     return inputStream_ != null || outputStream_ != null;
   }
 
-  /**
-   * The streams must already be open. This method does nothing.
-   */
+  /** The streams must already be open. This method does nothing. */
   public void open() throws TTransportException {}
 
-  /**
-   * Closes both the input and output streams.
-   */
+  /** Closes both the input and output streams. */
   public void close() {
     try {
       if (inputStream_ != null) {
@@ -165,12 +156,11 @@
     }
   }
 
-  /**
-   * Reads from the underlying input stream if not null.
-   */
+  /** Reads from the underlying input stream if not null. */
   public int read(byte[] buf, int off, int len) throws TTransportException {
     if (inputStream_ == null) {
-      throw new TTransportException(TTransportException.NOT_OPEN, "Cannot read from null inputStream");
+      throw new TTransportException(
+          TTransportException.NOT_OPEN, "Cannot read from null inputStream");
     }
     int bytesRead;
     try {
@@ -186,12 +176,11 @@
     return bytesRead;
   }
 
-  /**
-   * Writes to the underlying output stream if not null.
-   */
+  /** Writes to the underlying output stream if not null. */
   public void write(byte[] buf, int off, int len) throws TTransportException {
     if (outputStream_ == null) {
-      throw new TTransportException(TTransportException.NOT_OPEN, "Cannot write to null outputStream");
+      throw new TTransportException(
+          TTransportException.NOT_OPEN, "Cannot write to null outputStream");
     }
     try {
       outputStream_.write(buf, off, len);
@@ -200,9 +189,7 @@
     }
   }
 
-  /**
-   * Flushes the underlying output stream if not null.
-   */
+  /** Flushes the underlying output stream if not null. */
   public void flush() throws TTransportException {
     if (outputStream_ == null) {
       throw new TTransportException(TTransportException.NOT_OPEN, "Cannot flush null outputStream");
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/TMemoryBuffer.java b/lib/java/src/main/java/org/apache/thrift/transport/TMemoryBuffer.java
index d9a3cc9..9ce1b21 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/TMemoryBuffer.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/TMemoryBuffer.java
@@ -19,19 +19,15 @@
 
 package org.apache.thrift.transport;
 
+import java.nio.charset.Charset;
 import org.apache.thrift.TByteArrayOutputStream;
 import org.apache.thrift.TConfiguration;
 
-import java.nio.charset.Charset;
-
-/**
- * Memory buffer-based implementation of the TTransport interface.
- */
+/** Memory buffer-based implementation of the TTransport interface. */
 public class TMemoryBuffer extends TEndpointTransport {
   /**
-   * Create a TMemoryBuffer with an initial buffer size of <i>size</i>. The
-   * internal buffer will grow as necessary to accommodate the size of the data
-   * being written to it.
+   * Create a TMemoryBuffer with an initial buffer size of <i>size</i>. The internal buffer will
+   * grow as necessary to accommodate the size of the data being written to it.
    *
    * @param size the initial size of the buffer
    * @throws TTransportException on error initializing the underlying transport.
@@ -43,9 +39,8 @@
   }
 
   /**
-   * Create a TMemoryBuffer with an initial buffer size of <i>size</i>. The
-   * internal buffer will grow as necessary to accommodate the size of the data
-   * being written to it.
+   * Create a TMemoryBuffer with an initial buffer size of <i>size</i>. The internal buffer will
+   * grow as necessary to accommodate the size of the data being written to it.
    *
    * @param config the configuration to use.
    * @param size the initial size of the buffer
@@ -91,8 +86,8 @@
   }
 
   /**
-   * Output the contents of the memory buffer as a String, using the supplied
-   * encoding
+   * Output the contents of the memory buffer as a String, using the supplied encoding
+   *
    * @param charset the encoding to use
    * @return the contents of the memory buffer as a String
    */
@@ -104,7 +99,7 @@
     StringBuilder buf = new StringBuilder();
     byte[] bytes = arr_.toByteArray();
     for (int i = 0; i < bytes.length; i++) {
-      buf.append(pos_ == i ? "==>" : "" ).append(Integer.toHexString(bytes[i] & 0xff)).append(" ");
+      buf.append(pos_ == i ? "==>" : "").append(Integer.toHexString(bytes[i] & 0xff)).append(" ");
     }
     return buf.toString();
   }
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/TMemoryInputTransport.java b/lib/java/src/main/java/org/apache/thrift/transport/TMemoryInputTransport.java
index 6cb06fc..375e2b7 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/TMemoryInputTransport.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/TMemoryInputTransport.java
@@ -38,7 +38,8 @@
     this(new TConfiguration(), buf);
   }
 
-  public TMemoryInputTransport(TConfiguration _configuration, byte[] buf) throws TTransportException {
+  public TMemoryInputTransport(TConfiguration _configuration, byte[] buf)
+      throws TTransportException {
     this(_configuration, buf, 0, buf.length);
   }
 
@@ -46,7 +47,8 @@
     this(new TConfiguration(), buf, offset, length);
   }
 
-  public TMemoryInputTransport(TConfiguration _configuration, byte[] buf, int offset, int length) throws TTransportException {
+  public TMemoryInputTransport(TConfiguration _configuration, byte[] buf, int offset, int length)
+      throws TTransportException {
     super(_configuration);
     reset(buf, offset, length);
     updateKnownMessageSize(length);
@@ -120,5 +122,4 @@
   public void consumeBuffer(int len) {
     pos_ += len;
   }
-
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/TMemoryTransport.java b/lib/java/src/main/java/org/apache/thrift/transport/TMemoryTransport.java
index 0172ca8..2e38588 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/TMemoryTransport.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/TMemoryTransport.java
@@ -20,13 +20,10 @@
 package org.apache.thrift.transport;
 
 import java.nio.ByteBuffer;
-
 import org.apache.thrift.TByteArrayOutputStream;
 import org.apache.thrift.TConfiguration;
 
-/**
- * In memory transport with separate buffers for input and output.
- */
+/** In memory transport with separate buffers for input and output. */
 public class TMemoryTransport extends TEndpointTransport {
 
   private final ByteBuffer inputBuffer;
@@ -51,9 +48,7 @@
     return true;
   }
 
-  /**
-   * Opening on an in memory transport should have no effect.
-   */
+  /** Opening on an in memory transport should have no effect. */
   @Override
   public void open() {
     // Do nothing.
@@ -69,7 +64,8 @@
     checkReadBytesAvailable(len);
     int remaining = inputBuffer.remaining();
     if (remaining < len) {
-      throw new TTransportException(TTransportException.END_OF_FILE,
+      throw new TTransportException(
+          TTransportException.END_OF_FILE,
           "There's only " + remaining + "bytes, but it asks for " + len);
     }
     inputBuffer.get(buf, off, len);
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/TNonblockingServerSocket.java b/lib/java/src/main/java/org/apache/thrift/transport/TNonblockingServerSocket.java
index 535fd6f..9983797 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/TNonblockingServerSocket.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/TNonblockingServerSocket.java
@@ -17,7 +17,6 @@
  * under the License.
  */
 
-
 package org.apache.thrift.transport;
 
 import java.io.IOException;
@@ -29,72 +28,69 @@
 import java.nio.channels.Selector;
 import java.nio.channels.ServerSocketChannel;
 import java.nio.channels.SocketChannel;
-
 import org.apache.thrift.TConfiguration;
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-/**
- * Wrapper around ServerSocketChannel
- */
+/** Wrapper around ServerSocketChannel */
 public class TNonblockingServerSocket extends TNonblockingServerTransport {
-  private static final Logger LOGGER = LoggerFactory.getLogger(TNonblockingServerSocket.class.getName());
+  private static final Logger LOGGER =
+      LoggerFactory.getLogger(TNonblockingServerSocket.class.getName());
 
-  /**
-   * This channel is where all the nonblocking magic happens.
-   */
+  /** This channel is where all the nonblocking magic happens. */
   private ServerSocketChannel serverSocketChannel = null;
 
-  /**
-   * Underlying ServerSocket object
-   */
+  /** Underlying ServerSocket object */
   private ServerSocket serverSocket_ = null;
 
-  /**
-   * Timeout for client sockets from accept
-   */
+  /** Timeout for client sockets from accept */
   private int clientTimeout_ = 0;
 
-  /**
-   * Limit for client sockets request size
-   */
+  /** Limit for client sockets request size */
   private int maxFrameSize_ = 0;
 
-  public static class NonblockingAbstractServerSocketArgs extends
-      AbstractServerTransportArgs<NonblockingAbstractServerSocketArgs> {}
+  public static class NonblockingAbstractServerSocketArgs
+      extends AbstractServerTransportArgs<NonblockingAbstractServerSocketArgs> {}
 
-  /**
-   * Creates just a port listening server socket
-   */
+  /** Creates just a port listening server socket */
   public TNonblockingServerSocket(int port) throws TTransportException {
     this(port, 0);
   }
 
-  /**
-   * Creates just a port listening server socket
-   */
+  /** Creates just a port listening server socket */
   public TNonblockingServerSocket(int port, int clientTimeout) throws TTransportException {
     this(port, clientTimeout, TConfiguration.DEFAULT_MAX_FRAME_SIZE);
   }
 
-  public TNonblockingServerSocket(int port, int clientTimeout, int maxFrameSize) throws TTransportException {
-    this(new NonblockingAbstractServerSocketArgs().port(port).clientTimeout(clientTimeout).maxFrameSize(maxFrameSize));
+  public TNonblockingServerSocket(int port, int clientTimeout, int maxFrameSize)
+      throws TTransportException {
+    this(
+        new NonblockingAbstractServerSocketArgs()
+            .port(port)
+            .clientTimeout(clientTimeout)
+            .maxFrameSize(maxFrameSize));
   }
 
   public TNonblockingServerSocket(InetSocketAddress bindAddr) throws TTransportException {
     this(bindAddr, 0);
   }
 
-  public TNonblockingServerSocket(InetSocketAddress bindAddr, int clientTimeout) throws TTransportException {
+  public TNonblockingServerSocket(InetSocketAddress bindAddr, int clientTimeout)
+      throws TTransportException {
     this(bindAddr, clientTimeout, TConfiguration.DEFAULT_MAX_FRAME_SIZE);
   }
 
-  public TNonblockingServerSocket(InetSocketAddress bindAddr, int clientTimeout, int maxFrameSize) throws TTransportException {
-    this(new NonblockingAbstractServerSocketArgs().bindAddr(bindAddr).clientTimeout(clientTimeout).maxFrameSize(maxFrameSize));
+  public TNonblockingServerSocket(InetSocketAddress bindAddr, int clientTimeout, int maxFrameSize)
+      throws TTransportException {
+    this(
+        new NonblockingAbstractServerSocketArgs()
+            .bindAddr(bindAddr)
+            .clientTimeout(clientTimeout)
+            .maxFrameSize(maxFrameSize));
   }
 
-  public TNonblockingServerSocket(NonblockingAbstractServerSocketArgs args) throws TTransportException {
+  public TNonblockingServerSocket(NonblockingAbstractServerSocketArgs args)
+      throws TTransportException {
     clientTimeout_ = args.clientTimeout;
     maxFrameSize_ = args.maxFrameSize;
     try {
@@ -109,7 +105,8 @@
       serverSocket_.bind(args.bindAddr, args.backlog);
     } catch (IOException ioe) {
       serverSocket_ = null;
-      throw new TTransportException("Could not create ServerSocket on address " + args.bindAddr.toString() + ".", ioe);
+      throw new TTransportException(
+          "Could not create ServerSocket on address " + args.bindAddr.toString() + ".", ioe);
     }
   }
 
@@ -173,8 +170,7 @@
   }
 
   public int getPort() {
-    if (serverSocket_ == null)
-      return -1;
+    if (serverSocket_ == null) return -1;
     return serverSocket_.getLocalPort();
   }
 
@@ -182,5 +178,4 @@
   ServerSocketChannel getServerSocketChannel() {
     return serverSocketChannel;
   }
-
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/TNonblockingServerTransport.java b/lib/java/src/main/java/org/apache/thrift/transport/TNonblockingServerTransport.java
index 53d0842..8dfdefb 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/TNonblockingServerTransport.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/TNonblockingServerTransport.java
@@ -17,20 +17,16 @@
  * under the License.
  */
 
-
 package org.apache.thrift.transport;
 
 import java.nio.channels.Selector;
 
-/**
- * Server transport that can be operated in a nonblocking fashion.
- */
+/** Server transport that can be operated in a nonblocking fashion. */
 public abstract class TNonblockingServerTransport extends TServerTransport {
 
   public abstract void registerSelector(Selector selector);
 
   /**
-   *
    * @return an incoming connection or null if there is none.
    * @throws TTransportException on error during this operation.
    */
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/TNonblockingSocket.java b/lib/java/src/main/java/org/apache/thrift/transport/TNonblockingSocket.java
index 13c8586..0f4076c 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/TNonblockingSocket.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/TNonblockingSocket.java
@@ -17,7 +17,6 @@
  * under the License.
  */
 
-
 package org.apache.thrift.transport;
 
 import java.io.IOException;
@@ -29,21 +28,16 @@
 import java.nio.channels.SelectionKey;
 import java.nio.channels.Selector;
 import java.nio.channels.SocketChannel;
-
 import org.apache.thrift.TConfiguration;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-/**
- * Transport for use with async client.
- */
+/** Transport for use with async client. */
 public class TNonblockingSocket extends TNonblockingTransport {
 
   private static final Logger LOGGER = LoggerFactory.getLogger(TNonblockingSocket.class.getName());
 
-  /**
-   * Host and port if passed in, used for lazy non-blocking connect.
-   */
+  /** Host and port if passed in, used for lazy non-blocking connect. */
   private final SocketAddress socketAddress_;
 
   private final SocketChannel socketChannel_;
@@ -54,11 +48,13 @@
 
   /**
    * Create a new nonblocking socket transport that will be connected to host:port.
+   *
    * @param host
    * @param port
    * @throws IOException
    */
-  public TNonblockingSocket(String host, int port, int timeout) throws IOException, TTransportException {
+  public TNonblockingSocket(String host, int port, int timeout)
+      throws IOException, TTransportException {
     this(SocketChannel.open(), timeout, new InetSocketAddress(host, port));
   }
 
@@ -74,12 +70,13 @@
   }
 
   private TNonblockingSocket(SocketChannel socketChannel, int timeout, SocketAddress socketAddress)
-          throws IOException, TTransportException {
+      throws IOException, TTransportException {
     this(new TConfiguration(), socketChannel, timeout, socketAddress);
   }
 
-  private TNonblockingSocket(TConfiguration config, SocketChannel socketChannel, int timeout, SocketAddress socketAddress)
-          throws IOException, TTransportException {
+  private TNonblockingSocket(
+      TConfiguration config, SocketChannel socketChannel, int timeout, SocketAddress socketAddress)
+      throws IOException, TTransportException {
     super(config);
     socketChannel_ = socketChannel;
     socketAddress_ = socketAddress;
@@ -96,8 +93,8 @@
   }
 
   /**
-   * Register the new SocketChannel with our Selector, indicating
-   * we'd like to be notified when it's ready for I/O.
+   * Register the new SocketChannel with our Selector, indicating we'd like to be notified when it's
+   * ready for I/O.
    *
    * @param selector
    * @return the selection key for this socket.
@@ -107,7 +104,8 @@
   }
 
   /**
-   * Sets the socket timeout, although this implementation never uses blocking operations so it is unused.
+   * Sets the socket timeout, although this implementation never uses blocking operations so it is
+   * unused.
    *
    * @param timeout Milliseconds timeout
    */
@@ -119,31 +117,23 @@
     }
   }
 
-  /**
-   * Returns a reference to the underlying SocketChannel.
-   */
+  /** Returns a reference to the underlying SocketChannel. */
   public SocketChannel getSocketChannel() {
     return socketChannel_;
   }
 
-  /**
-   * Checks whether the socket is connected.
-   */
+  /** Checks whether the socket is connected. */
   public boolean isOpen() {
     // isConnected() does not return false after close(), but isOpen() does
     return socketChannel_.isOpen() && socketChannel_.isConnected();
   }
 
-  /**
-   * Do not call, the implementation provides its own lazy non-blocking connect.
-   */
+  /** Do not call, the implementation provides its own lazy non-blocking connect. */
   public void open() throws TTransportException {
     throw new RuntimeException("open() is not implemented for TNonblockingSocket");
   }
 
-  /**
-   * Perform a nonblocking read into buffer.
-   */
+  /** Perform a nonblocking read into buffer. */
   public int read(ByteBuffer buffer) throws TTransportException {
     try {
       return socketChannel_.read(buffer);
@@ -152,13 +142,11 @@
     }
   }
 
-  /**
-   * Reads from the underlying input stream if not null.
-   */
+  /** Reads from the underlying input stream if not null. */
   public int read(byte[] buf, int off, int len) throws TTransportException {
     if ((socketChannel_.validOps() & SelectionKey.OP_READ) != SelectionKey.OP_READ) {
-      throw new TTransportException(TTransportException.NOT_OPEN,
-        "Cannot read from write-only socket channel");
+      throw new TTransportException(
+          TTransportException.NOT_OPEN, "Cannot read from write-only socket channel");
     }
     try {
       return socketChannel_.read(ByteBuffer.wrap(buf, off, len));
@@ -167,9 +155,7 @@
     }
   }
 
-  /**
-   * Perform a nonblocking write of the data in buffer;
-   */
+  /** Perform a nonblocking write of the data in buffer; */
   public int write(ByteBuffer buffer) throws TTransportException {
     try {
       return socketChannel_.write(buffer);
@@ -178,27 +164,21 @@
     }
   }
 
-  /**
-   * Writes to the underlying output stream if not null.
-   */
+  /** Writes to the underlying output stream if not null. */
   public void write(byte[] buf, int off, int len) throws TTransportException {
     if ((socketChannel_.validOps() & SelectionKey.OP_WRITE) != SelectionKey.OP_WRITE) {
-      throw new TTransportException(TTransportException.NOT_OPEN,
-        "Cannot write to write-only socket channel");
+      throw new TTransportException(
+          TTransportException.NOT_OPEN, "Cannot write to write-only socket channel");
     }
     write(ByteBuffer.wrap(buf, off, len));
   }
 
-  /**
-   * Noop.
-   */
+  /** Noop. */
   public void flush() throws TTransportException {
     // Not supported by SocketChannel.
   }
 
-  /**
-   * Closes the socket.
-   */
+  /** Closes the socket. */
   public void close() {
     try {
       socketChannel_.close();
@@ -219,7 +199,10 @@
 
   @Override
   public String toString() {
-    return "[remote: " + socketChannel_.socket().getRemoteSocketAddress() +
-        ", local: " + socketChannel_.socket().getLocalAddress() + "]" ;
+    return "[remote: "
+        + socketChannel_.socket().getRemoteSocketAddress()
+        + ", local: "
+        + socketChannel_.socket().getLocalAddress()
+        + "]";
   }
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/TNonblockingTransport.java b/lib/java/src/main/java/org/apache/thrift/transport/TNonblockingTransport.java
index 30ec9d2..ab3028c 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/TNonblockingTransport.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/TNonblockingTransport.java
@@ -19,12 +19,11 @@
 
 package org.apache.thrift.transport;
 
-import org.apache.thrift.TConfiguration;
-
 import java.io.IOException;
 import java.net.SocketAddress;
 import java.nio.channels.SelectionKey;
 import java.nio.channels.Selector;
+import org.apache.thrift.TConfiguration;
 
 public abstract class TNonblockingTransport extends TEndpointTransport {
 
@@ -34,16 +33,18 @@
 
   /**
    * Non-blocking connection initialization.
+   *
    * @see java.nio.channels.SocketChannel#connect(SocketAddress remote)
    */
   public abstract boolean startConnect() throws IOException;
 
   /**
    * Non-blocking connection completion.
+   *
    * @see java.nio.channels.SocketChannel#finishConnect()
    */
   public abstract boolean finishConnect() throws IOException;
 
-  public abstract SelectionKey registerSelector(Selector selector, int interests) throws IOException;
-
+  public abstract SelectionKey registerSelector(Selector selector, int interests)
+      throws IOException;
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/TSSLTransportFactory.java b/lib/java/src/main/java/org/apache/thrift/transport/TSSLTransportFactory.java
index 3389e4d..917f4c9 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/TSSLTransportFactory.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/TSSLTransportFactory.java
@@ -21,14 +21,13 @@
 
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
-import java.io.InputStream;
 import java.io.IOException;
+import java.io.InputStream;
 import java.net.InetAddress;
-import java.net.URL;
 import java.net.MalformedURLException;
+import java.net.URL;
 import java.security.KeyStore;
 import java.util.Arrays;
-
 import javax.net.ssl.KeyManagerFactory;
 import javax.net.ssl.SSLContext;
 import javax.net.ssl.SSLServerSocket;
@@ -36,28 +35,22 @@
 import javax.net.ssl.SSLSocket;
 import javax.net.ssl.SSLSocketFactory;
 import javax.net.ssl.TrustManagerFactory;
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- *  A Factory for providing and setting up Client and Server SSL wrapped
- *  TSocket and TServerSocket
+ * A Factory for providing and setting up Client and Server SSL wrapped TSocket and TServerSocket
  */
 public class TSSLTransportFactory {
 
-  private static final Logger LOGGER =
-      LoggerFactory.getLogger(TSSLTransportFactory.class);
+  private static final Logger LOGGER = LoggerFactory.getLogger(TSSLTransportFactory.class);
 
   /**
-   * Get a SSL wrapped TServerSocket bound to the specified port. In this
-   * configuration the default settings are used. Default settings are retrieved
-   * from System properties that are set.
+   * Get a SSL wrapped TServerSocket bound to the specified port. In this configuration the default
+   * settings are used. Default settings are retrieved from System properties that are set.
    *
-   * Example system properties:
-   * -Djavax.net.ssl.trustStore=&lt;truststore location&gt;
-   * -Djavax.net.ssl.trustStorePassword=password
-   * -Djavax.net.ssl.keyStore=&lt;keystore location&gt;
+   * <p>Example system properties: -Djavax.net.ssl.trustStore=&lt;truststore location&gt;
+   * -Djavax.net.ssl.trustStorePassword=password -Djavax.net.ssl.keyStore=&lt;keystore location&gt;
    * -Djavax.net.ssl.keyStorePassword=password
    *
    * @param port
@@ -76,7 +69,8 @@
    * @return A SSL wrapped TServerSocket
    * @throws TTransportException
    */
-  public static TServerSocket getServerSocket(int port, int clientTimeout) throws TTransportException {
+  public static TServerSocket getServerSocket(int port, int clientTimeout)
+      throws TTransportException {
     return getServerSocket(port, clientTimeout, false, null);
   }
 
@@ -89,15 +83,17 @@
    * @return A SSL wrapped TServerSocket
    * @throws TTransportException
    */
-  public static TServerSocket getServerSocket(int port, int clientTimeout, boolean clientAuth, InetAddress ifAddress) throws TTransportException {
+  public static TServerSocket getServerSocket(
+      int port, int clientTimeout, boolean clientAuth, InetAddress ifAddress)
+      throws TTransportException {
     SSLServerSocketFactory factory = (SSLServerSocketFactory) SSLServerSocketFactory.getDefault();
     return createServer(factory, port, clientTimeout, clientAuth, ifAddress, null);
   }
 
   /**
-   * Get a configured SSL wrapped TServerSocket bound to the specified port and interface.
-   * Here the TSSLTransportParameters are used to set the values for the algorithms, keystore,
-   * truststore and other settings
+   * Get a configured SSL wrapped TServerSocket bound to the specified port and interface. Here the
+   * TSSLTransportParameters are used to set the values for the algorithms, keystore, truststore and
+   * other settings
    *
    * @param port
    * @param clientTimeout
@@ -106,35 +102,47 @@
    * @return A SSL wrapped TServerSocket
    * @throws TTransportException
    */
-  public static TServerSocket getServerSocket(int port, int clientTimeout, InetAddress ifAddress, TSSLTransportParameters params) throws TTransportException {
+  public static TServerSocket getServerSocket(
+      int port, int clientTimeout, InetAddress ifAddress, TSSLTransportParameters params)
+      throws TTransportException {
     if (params == null || !(params.isKeyStoreSet || params.isTrustStoreSet)) {
-      throw new TTransportException("Either one of the KeyStore or TrustStore must be set for SSLTransportParameters");
+      throw new TTransportException(
+          "Either one of the KeyStore or TrustStore must be set for SSLTransportParameters");
     }
 
     SSLContext ctx = createSSLContext(params);
-    return createServer(ctx.getServerSocketFactory(), port, clientTimeout, params.clientAuth, ifAddress, params);
+    return createServer(
+        ctx.getServerSocketFactory(), port, clientTimeout, params.clientAuth, ifAddress, params);
   }
 
-  private static TServerSocket createServer(SSLServerSocketFactory factory, int port, int timeout, boolean clientAuth,
-                                    InetAddress ifAddress, TSSLTransportParameters params) throws TTransportException {
+  private static TServerSocket createServer(
+      SSLServerSocketFactory factory,
+      int port,
+      int timeout,
+      boolean clientAuth,
+      InetAddress ifAddress,
+      TSSLTransportParameters params)
+      throws TTransportException {
     try {
-      SSLServerSocket serverSocket = (SSLServerSocket) factory.createServerSocket(port, 100, ifAddress);
+      SSLServerSocket serverSocket =
+          (SSLServerSocket) factory.createServerSocket(port, 100, ifAddress);
       serverSocket.setSoTimeout(timeout);
       serverSocket.setNeedClientAuth(clientAuth);
       if (params != null && params.cipherSuites != null) {
         serverSocket.setEnabledCipherSuites(params.cipherSuites);
       }
-      return new TServerSocket(new TServerSocket.ServerSocketTransportArgs().
-        serverSocket(serverSocket).clientTimeout(timeout));
+      return new TServerSocket(
+          new TServerSocket.ServerSocketTransportArgs()
+              .serverSocket(serverSocket)
+              .clientTimeout(timeout));
     } catch (Exception e) {
       throw new TTransportException("Could not bind to port " + port, e);
     }
   }
 
   /**
-   * Get a default SSL wrapped TSocket connected to the specified host and port. All
-   * the client methods return a bound connection. So there is no need to call open() on the
-   * TTransport.
+   * Get a default SSL wrapped TSocket connected to the specified host and port. All the client
+   * methods return a bound connection. So there is no need to call open() on the TTransport.
    *
    * @param host
    * @param port
@@ -142,7 +150,8 @@
    * @return A SSL wrapped TSocket
    * @throws TTransportException
    */
-  public static TSocket getClientSocket(String host, int port, int timeout) throws TTransportException {
+  public static TSocket getClientSocket(String host, int port, int timeout)
+      throws TTransportException {
     SSLSocketFactory factory = (SSLSocketFactory) SSLSocketFactory.getDefault();
     return createClient(factory, host, port, timeout);
   }
@@ -160,8 +169,8 @@
   }
 
   /**
-   * Get a custom configured SSL wrapped TSocket. The SSL settings are obtained from the
-   * passed in TSSLTransportParameters.
+   * Get a custom configured SSL wrapped TSocket. The SSL settings are obtained from the passed in
+   * TSSLTransportParameters.
    *
    * @param host
    * @param port
@@ -170,16 +179,21 @@
    * @return A SSL wrapped TSocket
    * @throws TTransportException
    */
-  public static TSocket getClientSocket(String host, int port, int timeout, TSSLTransportParameters params) throws TTransportException {
+  public static TSocket getClientSocket(
+      String host, int port, int timeout, TSSLTransportParameters params)
+      throws TTransportException {
     if (params == null || !(params.isKeyStoreSet || params.isTrustStoreSet)) {
-      throw new TTransportException(TTransportException.NOT_OPEN, "Either one of the KeyStore or TrustStore must be set for SSLTransportParameters");
+      throw new TTransportException(
+          TTransportException.NOT_OPEN,
+          "Either one of the KeyStore or TrustStore must be set for SSLTransportParameters");
     }
 
     SSLContext ctx = createSSLContext(params);
     return createClient(ctx.getSocketFactory(), host, port, timeout);
   }
 
-  private static SSLContext createSSLContext(TSSLTransportParameters params) throws TTransportException {
+  private static SSLContext createSSLContext(TSSLTransportParameters params)
+      throws TTransportException {
     SSLContext ctx;
     InputStream in = null;
     InputStream is = null;
@@ -197,8 +211,7 @@
         } else {
           in = getStoreAsStream(params.trustStore);
         }
-        ts.load(in,
-                (params.trustPass != null ? params.trustPass.toCharArray() : null));
+        ts.load(in, (params.trustPass != null ? params.trustPass.toCharArray() : null));
         tmf.init(ts);
       }
 
@@ -206,9 +219,9 @@
         kmf = KeyManagerFactory.getInstance(params.keyManagerType);
         KeyStore ks = KeyStore.getInstance(params.keyStoreType);
         if (params.keyStoreStream != null) {
-        	is = params.keyStoreStream;
+          is = params.keyStoreStream;
         } else {
-        	is = getStoreAsStream(params.keyStore);
+          is = getStoreAsStream(params.keyStore);
         }
         ks.load(is, params.keyPass.toCharArray());
         kmf.init(ks, params.keyPass.toCharArray());
@@ -216,16 +229,15 @@
 
       if (params.isKeyStoreSet && params.isTrustStoreSet) {
         ctx.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);
-      }
-      else if (params.isKeyStoreSet) {
+      } else if (params.isKeyStoreSet) {
         ctx.init(kmf.getKeyManagers(), null, null);
-      }
-      else {
+      } else {
         ctx.init(null, tmf.getTrustManagers(), null);
       }
 
     } catch (Exception e) {
-      throw new TTransportException(TTransportException.NOT_OPEN, "Error creating the transport", e);
+      throw new TTransportException(
+          TTransportException.NOT_OPEN, "Error creating the transport", e);
     } finally {
       if (in != null) {
         try {
@@ -249,7 +261,7 @@
   private static InputStream getStoreAsStream(String store) throws IOException {
     try {
       return new FileInputStream(store);
-    } catch(FileNotFoundException e) {
+    } catch (FileNotFoundException e) {
     }
 
     InputStream storeStream = null;
@@ -258,7 +270,7 @@
       if (storeStream != null) {
         return storeStream;
       }
-    } catch(MalformedURLException e) {
+    } catch (MalformedURLException e) {
     }
 
     storeStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(store);
@@ -270,7 +282,8 @@
     }
   }
 
-  private static TSocket createClient(SSLSocketFactory factory, String host, int port, int timeout) throws TTransportException {
+  private static TSocket createClient(SSLSocketFactory factory, String host, int port, int timeout)
+      throws TTransportException {
     try {
       SSLSocket socket = (SSLSocket) factory.createSocket(host, port);
       socket.setSoTimeout(timeout);
@@ -278,14 +291,12 @@
     } catch (TTransportException tte) {
       throw tte;
     } catch (Exception e) {
-      throw new TTransportException(TTransportException.NOT_OPEN, "Could not connect to " + host + " on port " + port, e);
+      throw new TTransportException(
+          TTransportException.NOT_OPEN, "Could not connect to " + host + " on port " + port, e);
     }
   }
 
-
-  /**
-   * A Class to hold all the SSL parameters
-   */
+  /** A Class to hold all the SSL parameters */
   public static class TSSLTransportParameters {
     protected String protocol = "TLS";
     protected String keyStore;
@@ -316,8 +327,8 @@
     }
 
     /**
-     * Create parameters specifying the protocol, cipher suites and if client authentication
-     * is required
+     * Create parameters specifying the protocol, cipher suites and if client authentication is
+     * required
      *
      * @param protocol The specific protocol (TLS/SSL) can be specified with versions
      * @param cipherSuites
@@ -327,7 +338,8 @@
       if (protocol != null) {
         this.protocol = protocol;
       }
-      this.cipherSuites = cipherSuites != null ? Arrays.copyOf(cipherSuites, cipherSuites.length) : null;
+      this.cipherSuites =
+          cipherSuites != null ? Arrays.copyOf(cipherSuites, cipherSuites.length) : null;
       this.clientAuth = clientAuth;
     }
 
@@ -339,7 +351,8 @@
      * @param keyManagerType The default is X509
      * @param keyStoreType The default is JKS
      */
-    public void setKeyStore(String keyStore, String keyPass, String keyManagerType, String keyStoreType) {
+    public void setKeyStore(
+        String keyStore, String keyPass, String keyManagerType, String keyStoreType) {
       this.keyStore = keyStore;
       this.keyPass = keyPass;
       if (keyManagerType != null) {
@@ -359,9 +372,10 @@
      * @param keyManagerType The default is X509
      * @param keyStoreType The default is JKS
      */
-    public void setKeyStore(InputStream keyStoreStream, String keyPass, String keyManagerType, String keyStoreType) {
-    	this.keyStoreStream = keyStoreStream;
-    	setKeyStore("", keyPass, keyManagerType, keyStoreType);
+    public void setKeyStore(
+        InputStream keyStoreStream, String keyPass, String keyManagerType, String keyStoreType) {
+      this.keyStoreStream = keyStoreStream;
+      setKeyStore("", keyPass, keyManagerType, keyStoreType);
     }
 
     /**
@@ -392,7 +406,8 @@
      * @param trustManagerType The default is X509
      * @param trustStoreType The default is JKS
      */
-    public void setTrustStore(String trustStore, String trustPass, String trustManagerType, String trustStoreType) {
+    public void setTrustStore(
+        String trustStore, String trustPass, String trustManagerType, String trustStoreType) {
       this.trustStore = trustStore;
       this.trustPass = trustPass;
       if (trustManagerType != null) {
@@ -412,7 +427,11 @@
      * @param trustManagerType The default is X509
      * @param trustStoreType The default is JKS
      */
-    public void setTrustStore(InputStream trustStoreStream, String trustPass, String trustManagerType, String trustStoreType) {
+    public void setTrustStore(
+        InputStream trustStoreStream,
+        String trustPass,
+        String trustManagerType,
+        String trustStoreType) {
       this.trustStoreStream = trustStoreStream;
       setTrustStore("", trustPass, trustManagerType, trustStoreType);
     }
@@ -444,6 +463,6 @@
      */
     public void requireClientAuth(boolean clientAuth) {
       this.clientAuth = clientAuth;
-		}
-	}
+    }
+  }
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/TSaslClientTransport.java b/lib/java/src/main/java/org/apache/thrift/transport/TSaslClientTransport.java
index e5ca418..19cc41e 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/TSaslClientTransport.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/TSaslClientTransport.java
@@ -21,71 +21,69 @@
 
 import java.nio.charset.StandardCharsets;
 import java.util.Map;
-
 import javax.security.auth.callback.CallbackHandler;
 import javax.security.sasl.Sasl;
 import javax.security.sasl.SaslClient;
 import javax.security.sasl.SaslException;
-
 import org.apache.thrift.transport.sasl.NegotiationStatus;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * Wraps another Thrift <code>TTransport</code>, but performs SASL client
- * negotiation on the call to <code>open()</code>. This class will wrap ensuing
- * communication over it, if a SASL QOP is negotiated with the other party.
+ * Wraps another Thrift <code>TTransport</code>, but performs SASL client negotiation on the call to
+ * <code>open()</code>. This class will wrap ensuing communication over it, if a SASL QOP is
+ * negotiated with the other party.
  */
 public class TSaslClientTransport extends TSaslTransport {
 
   private static final Logger LOGGER = LoggerFactory.getLogger(TSaslClientTransport.class);
 
-  /**
-   * The name of the mechanism this client supports.
-   */
+  /** The name of the mechanism this client supports. */
   private final String mechanism;
 
   /**
    * Uses the given <code>SaslClient</code>.
    *
-   * @param saslClient
-   *          The <code>SaslClient</code> to use for the subsequent SASL
-   *          negotiation.
-   * @param transport
-   *          Transport underlying this one.
+   * @param saslClient The <code>SaslClient</code> to use for the subsequent SASL negotiation.
+   * @param transport Transport underlying this one.
    */
-  public TSaslClientTransport(SaslClient saslClient, TTransport transport) throws TTransportException {
+  public TSaslClientTransport(SaslClient saslClient, TTransport transport)
+      throws TTransportException {
     super(saslClient, transport);
     mechanism = saslClient.getMechanismName();
   }
 
   /**
-   * Creates a <code>SaslClient</code> using the given SASL-specific parameters.
-   * See the Java documentation for <code>Sasl.createSaslClient</code> for the
-   * details of the parameters.
+   * Creates a <code>SaslClient</code> using the given SASL-specific parameters. See the Java
+   * documentation for <code>Sasl.createSaslClient</code> for the details of the parameters.
    *
-   * @param transport
-   *          The underlying Thrift transport.
+   * @param transport The underlying Thrift transport.
    * @throws SaslException
    */
-  public TSaslClientTransport(String mechanism, String authorizationId, String protocol,
-      String serverName, Map<String, String> props, CallbackHandler cbh, TTransport transport)
-          throws SaslException, TTransportException {
-    super(Sasl.createSaslClient(new String[] { mechanism }, authorizationId, protocol, serverName,
-        props, cbh), transport);
+  public TSaslClientTransport(
+      String mechanism,
+      String authorizationId,
+      String protocol,
+      String serverName,
+      Map<String, String> props,
+      CallbackHandler cbh,
+      TTransport transport)
+      throws SaslException, TTransportException {
+    super(
+        Sasl.createSaslClient(
+            new String[] {mechanism}, authorizationId, protocol, serverName, props, cbh),
+        transport);
     this.mechanism = mechanism;
   }
 
-
   @Override
   protected SaslRole getRole() {
     return SaslRole.CLIENT;
   }
 
   /**
-   * Performs the client side of the initial portion of the Thrift SASL
-   * protocol. Generates and sends the initial response to the server, including
-   * which mechanism this client wants to use.
+   * Performs the client side of the initial portion of the Thrift SASL protocol. Generates and
+   * sends the initial response to the server, including which mechanism this client wants to use.
    */
   @Override
   protected void handleSaslStartMessage() throws TTransportException, SaslException {
@@ -95,15 +93,17 @@
     if (saslClient.hasInitialResponse())
       initialResponse = saslClient.evaluateChallenge(initialResponse);
 
-    LOGGER.debug("Sending mechanism name {} and initial response of length {}", mechanism,
+    LOGGER.debug(
+        "Sending mechanism name {} and initial response of length {}",
+        mechanism,
         initialResponse.length);
 
     byte[] mechanismBytes = mechanism.getBytes(StandardCharsets.UTF_8);
-    sendSaslMessage(NegotiationStatus.START,
-                    mechanismBytes);
+    sendSaslMessage(NegotiationStatus.START, mechanismBytes);
     // Send initial response
-    sendSaslMessage(saslClient.isComplete() ? NegotiationStatus.COMPLETE : NegotiationStatus.OK,
-                    initialResponse);
+    sendSaslMessage(
+        saslClient.isComplete() ? NegotiationStatus.COMPLETE : NegotiationStatus.OK,
+        initialResponse);
     underlyingTransport.flush();
   }
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/TSaslServerTransport.java b/lib/java/src/main/java/org/apache/thrift/transport/TSaslServerTransport.java
index 9111712..42a838c 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/TSaslServerTransport.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/TSaslServerTransport.java
@@ -25,71 +25,76 @@
 import java.util.HashMap;
 import java.util.Map;
 import java.util.WeakHashMap;
-
 import javax.security.auth.callback.CallbackHandler;
 import javax.security.sasl.Sasl;
 import javax.security.sasl.SaslException;
 import javax.security.sasl.SaslServer;
-
 import org.apache.thrift.transport.sasl.NegotiationStatus;
 import org.apache.thrift.transport.sasl.TSaslServerDefinition;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * Wraps another Thrift <code>TTransport</code>, but performs SASL server
- * negotiation on the call to <code>open()</code>. This class will wrap ensuing
- * communication over it, if a SASL QOP is negotiated with the other party.
+ * Wraps another Thrift <code>TTransport</code>, but performs SASL server negotiation on the call to
+ * <code>open()</code>. This class will wrap ensuing communication over it, if a SASL QOP is
+ * negotiated with the other party.
  */
 public class TSaslServerTransport extends TSaslTransport {
 
   private static final Logger LOGGER = LoggerFactory.getLogger(TSaslServerTransport.class);
 
   /**
-   * Mapping from SASL mechanism name -> all the parameters required to
-   * instantiate a SASL server.
+   * Mapping from SASL mechanism name -> all the parameters required to instantiate a SASL server.
    */
-  private Map<String, TSaslServerDefinition> serverDefinitionMap = new HashMap<String, TSaslServerDefinition>();
+  private Map<String, TSaslServerDefinition> serverDefinitionMap =
+      new HashMap<String, TSaslServerDefinition>();
 
   /**
-   * Uses the given underlying transport. Assumes that addServerDefinition is
-   * called later.
+   * Uses the given underlying transport. Assumes that addServerDefinition is called later.
    *
-   * @param transport
-   *          Transport underlying this one.
+   * @param transport Transport underlying this one.
    */
   public TSaslServerTransport(TTransport transport) throws TTransportException {
     super(transport);
   }
 
   /**
-   * Creates a <code>SaslServer</code> using the given SASL-specific parameters.
-   * See the Java documentation for <code>Sasl.createSaslServer</code> for the
-   * details of the parameters.
+   * Creates a <code>SaslServer</code> using the given SASL-specific parameters. See the Java
+   * documentation for <code>Sasl.createSaslServer</code> for the details of the parameters.
    *
-   * @param transport
-   *          The underlying Thrift transport.
+   * @param transport The underlying Thrift transport.
    */
-  public TSaslServerTransport(String mechanism, String protocol, String serverName,
-      Map<String, String> props, CallbackHandler cbh, TTransport transport) throws TTransportException {
+  public TSaslServerTransport(
+      String mechanism,
+      String protocol,
+      String serverName,
+      Map<String, String> props,
+      CallbackHandler cbh,
+      TTransport transport)
+      throws TTransportException {
     super(transport);
     addServerDefinition(mechanism, protocol, serverName, props, cbh);
   }
 
-  private TSaslServerTransport(Map<String, TSaslServerDefinition> serverDefinitionMap, TTransport transport) throws TTransportException {
+  private TSaslServerTransport(
+      Map<String, TSaslServerDefinition> serverDefinitionMap, TTransport transport)
+      throws TTransportException {
     super(transport);
     this.serverDefinitionMap.putAll(serverDefinitionMap);
   }
 
   /**
-   * Add a supported server definition to this transport. See the Java
-   * documentation for <code>Sasl.createSaslServer</code> for the details of the
-   * parameters.
+   * Add a supported server definition to this transport. See the Java documentation for <code>
+   * Sasl.createSaslServer</code> for the details of the parameters.
    */
-  public void addServerDefinition(String mechanism, String protocol, String serverName,
-      Map<String, String> props, CallbackHandler cbh) {
-    serverDefinitionMap.put(mechanism, new TSaslServerDefinition(mechanism, protocol, serverName,
-        props, cbh));
+  public void addServerDefinition(
+      String mechanism,
+      String protocol,
+      String serverName,
+      Map<String, String> props,
+      CallbackHandler cbh) {
+    serverDefinitionMap.put(
+        mechanism, new TSaslServerDefinition(mechanism, protocol, serverName, props, cbh));
   }
 
   @Override
@@ -98,10 +103,9 @@
   }
 
   /**
-   * Performs the server side of the initial portion of the Thrift SASL protocol.
-   * Receives the initial response from the client, creates a SASL server using
-   * the mechanism requested by the client (if this server supports it), and
-   * sends the first challenge back to the client.
+   * Performs the server side of the initial portion of the Thrift SASL protocol. Receives the
+   * initial response from the client, creates a SASL server using the mechanism requested by the
+   * client (if this server supports it), and sends the first challenge back to the client.
    */
   @Override
   protected void handleSaslStartMessage() throws TTransportException, SaslException {
@@ -109,7 +113,8 @@
 
     LOGGER.debug("Received start message with status {}", message.status);
     if (message.status != NegotiationStatus.START) {
-      throw sendAndThrowMessage(NegotiationStatus.ERROR, "Expecting START status, received " + message.status);
+      throw sendAndThrowMessage(
+          NegotiationStatus.ERROR, "Expecting START status, received " + message.status);
     }
 
     // Get the mechanism name.
@@ -118,75 +123,80 @@
     LOGGER.debug("Received mechanism name '{}'", mechanismName);
 
     if (serverDefinition == null) {
-      throw sendAndThrowMessage(NegotiationStatus.BAD, "Unsupported mechanism type " + mechanismName);
+      throw sendAndThrowMessage(
+          NegotiationStatus.BAD, "Unsupported mechanism type " + mechanismName);
     }
-    SaslServer saslServer = Sasl.createSaslServer(serverDefinition.mechanism,
-        serverDefinition.protocol, serverDefinition.serverName, serverDefinition.props,
-        serverDefinition.cbh);
+    SaslServer saslServer =
+        Sasl.createSaslServer(
+            serverDefinition.mechanism,
+            serverDefinition.protocol,
+            serverDefinition.serverName,
+            serverDefinition.props,
+            serverDefinition.cbh);
     setSaslServer(saslServer);
   }
 
   /**
-   * <code>TTransportFactory</code> to create
-   * <code>TSaslServerTransports</code>. Ensures that a given
-   * underlying <code>TTransport</code> instance receives the same
-   * <code>TSaslServerTransport</code>. This is kind of an awful hack to work
-   * around the fact that Thrift is designed assuming that
-   * <code>TTransport</code> instances are stateless, and thus the existing
-   * <code>TServers</code> use different <code>TTransport</code> instances for
-   * input and output.
+   * <code>TTransportFactory</code> to create <code>TSaslServerTransports</code>. Ensures that a
+   * given underlying <code>TTransport</code> instance receives the same <code>TSaslServerTransport
+   * </code>. This is kind of an awful hack to work around the fact that Thrift is designed assuming
+   * that <code>TTransport</code> instances are stateless, and thus the existing <code>TServers
+   * </code> use different <code>TTransport</code> instances for input and output.
    */
   public static class Factory extends TTransportFactory {
 
     /**
-     * This is the implementation of the awful hack described above.
-     * <code>WeakHashMap</code> is used to ensure that we don't leak memory.
+     * This is the implementation of the awful hack described above. <code>WeakHashMap</code> is
+     * used to ensure that we don't leak memory.
      */
     private static Map<TTransport, WeakReference<TSaslServerTransport>> transportMap =
-      Collections.synchronizedMap(new WeakHashMap<TTransport, WeakReference<TSaslServerTransport>>());
+        Collections.synchronizedMap(
+            new WeakHashMap<TTransport, WeakReference<TSaslServerTransport>>());
 
     /**
-     * Mapping from SASL mechanism name -> all the parameters required to
-     * instantiate a SASL server.
+     * Mapping from SASL mechanism name -> all the parameters required to instantiate a SASL server.
      */
-    private Map<String, TSaslServerDefinition> serverDefinitionMap = new HashMap<String, TSaslServerDefinition>();
+    private Map<String, TSaslServerDefinition> serverDefinitionMap =
+        new HashMap<String, TSaslServerDefinition>();
 
-    /**
-     * Create a new Factory. Assumes that <code>addServerDefinition</code> will
-     * be called later.
-     */
+    /** Create a new Factory. Assumes that <code>addServerDefinition</code> will be called later. */
     public Factory() {
       super();
     }
 
     /**
-     * Create a new <code>Factory</code>, initially with the single server
-     * definition given. You may still call <code>addServerDefinition</code>
-     * later. See the Java documentation for <code>Sasl.createSaslServer</code>
-     * for the details of the parameters.
+     * Create a new <code>Factory</code>, initially with the single server definition given. You may
+     * still call <code>addServerDefinition</code> later. See the Java documentation for <code>
+     * Sasl.createSaslServer</code> for the details of the parameters.
      */
-    public Factory(String mechanism, String protocol, String serverName,
-        Map<String, String> props, CallbackHandler cbh) {
+    public Factory(
+        String mechanism,
+        String protocol,
+        String serverName,
+        Map<String, String> props,
+        CallbackHandler cbh) {
       super();
       addServerDefinition(mechanism, protocol, serverName, props, cbh);
     }
 
     /**
-     * Add a supported server definition to the transports created by this
-     * factory. See the Java documentation for
-     * <code>Sasl.createSaslServer</code> for the details of the parameters.
+     * Add a supported server definition to the transports created by this factory. See the Java
+     * documentation for <code>Sasl.createSaslServer</code> for the details of the parameters.
      */
-    public void addServerDefinition(String mechanism, String protocol, String serverName,
-        Map<String, String> props, CallbackHandler cbh) {
-      serverDefinitionMap.put(mechanism, new TSaslServerDefinition(mechanism, protocol, serverName,
-          props, cbh));
+    public void addServerDefinition(
+        String mechanism,
+        String protocol,
+        String serverName,
+        Map<String, String> props,
+        CallbackHandler cbh) {
+      serverDefinitionMap.put(
+          mechanism, new TSaslServerDefinition(mechanism, protocol, serverName, props, cbh));
     }
 
     /**
-     * Get a new <code>TSaslServerTransport</code> instance, or reuse the
-     * existing one if a <code>TSaslServerTransport</code> has already been
-     * created before using the given <code>TTransport</code> as an underlying
-     * transport. This ensures that a given underlying transport instance
+     * Get a new <code>TSaslServerTransport</code> instance, or reuse the existing one if a <code>
+     * TSaslServerTransport</code> has already been created before using the given <code>TTransport
+     * </code> as an underlying transport. This ensures that a given underlying transport instance
      * receives the same <code>TSaslServerTransport</code>.
      */
     @Override
@@ -194,7 +204,9 @@
       WeakReference<TSaslServerTransport> ret = transportMap.get(base);
       if (ret == null || ret.get() == null) {
         LOGGER.debug("transport map does not contain key", base);
-        ret = new WeakReference<TSaslServerTransport>(new TSaslServerTransport(serverDefinitionMap, base));
+        ret =
+            new WeakReference<TSaslServerTransport>(
+                new TSaslServerTransport(serverDefinitionMap, base));
         try {
           ret.get().open();
         } catch (TTransportException e) {
@@ -202,7 +214,7 @@
           throw new RuntimeException(e);
         }
         transportMap.put(base, ret); // No need for putIfAbsent().
-                                     // Concurrent calls to getTransport() will pass in different TTransports.
+        // Concurrent calls to getTransport() will pass in different TTransports.
       } else {
         LOGGER.debug("transport map does contain key {}", base);
       }
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/TSaslTransport.java b/lib/java/src/main/java/org/apache/thrift/transport/TSaslTransport.java
index b22469d..0a280d6 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/TSaslTransport.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/TSaslTransport.java
@@ -21,12 +21,10 @@
 
 import java.nio.charset.StandardCharsets;
 import java.util.Objects;
-
 import javax.security.sasl.Sasl;
 import javax.security.sasl.SaslClient;
 import javax.security.sasl.SaslException;
 import javax.security.sasl.SaslServer;
-
 import org.apache.thrift.EncodingUtils;
 import org.apache.thrift.TByteArrayOutputStream;
 import org.apache.thrift.TConfiguration;
@@ -36,8 +34,8 @@
 import org.slf4j.LoggerFactory;
 
 /**
- * A superclass for SASL client/server thrift transports. A subclass need only
- * implement the <code>open</code> method.
+ * A superclass for SASL client/server thrift transports. A subclass need only implement the <code>
+ * open</code> method.
  */
 abstract class TSaslTransport extends TEndpointTransport {
 
@@ -50,44 +48,39 @@
   protected static final int PAYLOAD_LENGTH_BYTES = 4;
 
   protected static enum SaslRole {
-    SERVER, CLIENT;
+    SERVER,
+    CLIENT;
   }
 
-  /**
-   * Transport underlying this one.
-   */
+  /** Transport underlying this one. */
   protected TTransport underlyingTransport;
 
-  /**
-   * Either a SASL client or a SASL server.
-   */
+  /** Either a SASL client or a SASL server. */
   private SaslParticipant sasl;
 
   /**
-   * Whether or not we should wrap/unwrap reads/writes. Determined by whether or
-   * not a QOP is negotiated during the SASL handshake.
+   * Whether or not we should wrap/unwrap reads/writes. Determined by whether or not a QOP is
+   * negotiated during the SASL handshake.
    */
   private boolean shouldWrap = false;
 
-  /**
-   * Buffer for input.
-   */
+  /** Buffer for input. */
   private TMemoryInputTransport readBuffer;
 
-  /**
-   * Buffer for output.
-   */
+  /** Buffer for output. */
   private final TByteArrayOutputStream writeBuffer = new TByteArrayOutputStream(1024);
 
   /**
-   * Create a TSaslTransport. It's assumed that setSaslServer will be called
-   * later to initialize the SASL endpoint underlying this transport.
+   * Create a TSaslTransport. It's assumed that setSaslServer will be called later to initialize the
+   * SASL endpoint underlying this transport.
    *
-   * @param underlyingTransport
-   *          The thrift transport which this transport is wrapping.
+   * @param underlyingTransport The thrift transport which this transport is wrapping.
    */
   protected TSaslTransport(TTransport underlyingTransport) throws TTransportException {
-    super(Objects.isNull(underlyingTransport.getConfiguration()) ? new TConfiguration() : underlyingTransport.getConfiguration());
+    super(
+        Objects.isNull(underlyingTransport.getConfiguration())
+            ? new TConfiguration()
+            : underlyingTransport.getConfiguration());
     this.underlyingTransport = underlyingTransport;
     this.readBuffer = new TMemoryInputTransport(underlyingTransport.getConfiguration());
   }
@@ -95,14 +88,16 @@
   /**
    * Create a TSaslTransport which acts as a client.
    *
-   * @param saslClient
-   *          The <code>SaslClient</code> which this transport will use for SASL
-   *          negotiation.
-   * @param underlyingTransport
-   *          The thrift transport which this transport is wrapping.
+   * @param saslClient The <code>SaslClient</code> which this transport will use for SASL
+   *     negotiation.
+   * @param underlyingTransport The thrift transport which this transport is wrapping.
    */
-  protected TSaslTransport(SaslClient saslClient, TTransport underlyingTransport) throws TTransportException {
-    super(Objects.isNull(underlyingTransport.getConfiguration()) ? new TConfiguration() : underlyingTransport.getConfiguration());
+  protected TSaslTransport(SaslClient saslClient, TTransport underlyingTransport)
+      throws TTransportException {
+    super(
+        Objects.isNull(underlyingTransport.getConfiguration())
+            ? new TConfiguration()
+            : underlyingTransport.getConfiguration());
     sasl = new SaslParticipant(saslClient);
     this.underlyingTransport = underlyingTransport;
     this.readBuffer = new TMemoryInputTransport(underlyingTransport.getConfiguration());
@@ -118,21 +113,22 @@
   /**
    * Send a complete Thrift SASL message.
    *
-   * @param status
-   *          The status to send.
-   * @param payload
-   *          The data to send as the payload of this message.
+   * @param status The status to send.
+   * @param payload The data to send as the payload of this message.
    * @throws TTransportException
    */
-  protected void sendSaslMessage(NegotiationStatus status, byte[] payload) throws TTransportException {
-    if (payload == null)
-      payload = new byte[0];
+  protected void sendSaslMessage(NegotiationStatus status, byte[] payload)
+      throws TTransportException {
+    if (payload == null) payload = new byte[0];
 
     messageHeader[0] = status.getValue();
     EncodingUtils.encodeBigEndian(payload.length, messageHeader, STATUS_BYTES);
 
-    LOGGER.debug("{}: Writing message with status {} and payload length {}",
-        getRole(), status, payload.length);
+    LOGGER.debug(
+        "{}: Writing message with status {} and payload length {}",
+        getRole(),
+        status,
+        payload.length);
 
     underlyingTransport.write(messageHeader);
     underlyingTransport.write(payload);
@@ -143,9 +139,8 @@
    * Read a complete Thrift SASL message.
    *
    * @return The SASL status and payload from this message.
-   * @throws TTransportException
-   *           Thrown if there is a failure reading from the underlying
-   *           transport, or if a status code of BAD or ERROR is encountered.
+   * @throws TTransportException Thrown if there is a failure reading from the underlying transport,
+   *     or if a status code of BAD or ERROR is encountered.
    */
   protected SaslResponse receiveSaslMessage() throws TTransportException {
     underlyingTransport.readAll(messageHeader, 0, messageHeader.length);
@@ -160,7 +155,7 @@
     int payloadBytes = EncodingUtils.decodeBigEndian(messageHeader, STATUS_BYTES);
     if (payloadBytes < 0 || payloadBytes > getConfiguration().getMaxMessageSize() /* 100 MB */) {
       throw sendAndThrowMessage(
-        NegotiationStatus.ERROR, "Invalid payload header length: " + payloadBytes);
+          NegotiationStatus.ERROR, "Invalid payload header length: " + payloadBytes);
     }
 
     byte[] payload = new byte[payloadBytes];
@@ -170,26 +165,26 @@
       String remoteMessage = new String(payload, StandardCharsets.UTF_8);
       throw new TTransportException("Peer indicated failure: " + remoteMessage);
     }
-    LOGGER.debug("{}: Received message with status {} and payload length {}",
-        getRole(), status, payload.length);
+    LOGGER.debug(
+        "{}: Received message with status {} and payload length {}",
+        getRole(),
+        status,
+        payload.length);
     return new SaslResponse(status, payload);
   }
 
   /**
-   * Send a Thrift SASL message with the given status (usually BAD or ERROR) and
-   * string message, and then throw a TTransportException with the given
-   * message.
+   * Send a Thrift SASL message with the given status (usually BAD or ERROR) and string message, and
+   * then throw a TTransportException with the given message.
    *
-   * @param status
-   *          The Thrift SASL status code to send. Usually BAD or ERROR.
-   * @param message
-   *          The optional message to send to the other side.
-   * @throws TTransportException
-   *           Always thrown with the message provided.
-   * @return always throws TTransportException but declares return type to allow
-   *          throw sendAndThrowMessage(...) to inform compiler control flow
+   * @param status The Thrift SASL status code to send. Usually BAD or ERROR.
+   * @param message The optional message to send to the other side.
+   * @throws TTransportException Always thrown with the message provided.
+   * @return always throws TTransportException but declares return type to allow throw
+   *     sendAndThrowMessage(...) to inform compiler control flow
    */
-  protected TTransportException sendAndThrowMessage(NegotiationStatus status, String message) throws TTransportException {
+  protected TTransportException sendAndThrowMessage(NegotiationStatus status, String message)
+      throws TTransportException {
     try {
       sendSaslMessage(status, message.getBytes(StandardCharsets.UTF_8));
     } catch (Exception e) {
@@ -200,21 +195,20 @@
   }
 
   /**
-   * Implemented by subclasses to start the Thrift SASL handshake process. When
-   * this method completes, the <code>SaslParticipant</code> in this class is
-   * assumed to be initialized.
+   * Implemented by subclasses to start the Thrift SASL handshake process. When this method
+   * completes, the <code>SaslParticipant</code> in this class is assumed to be initialized.
    *
    * @throws TTransportException
    * @throws SaslException
    */
-  abstract protected void handleSaslStartMessage() throws TTransportException, SaslException;
+  protected abstract void handleSaslStartMessage() throws TTransportException, SaslException;
 
   protected abstract SaslRole getRole();
 
   /**
-   * Opens the underlying transport if it's not already open and then performs
-   * SASL negotiation. If a QOP is negotiated during this SASL handshake, it used
-   * for all communication on this transport after this call is complete.
+   * Opens the underlying transport if it's not already open and then performs SASL negotiation. If
+   * a QOP is negotiated during this SASL handshake, it used for all communication on this transport
+   * after this call is complete.
    */
   @Override
   public void open() throws TTransportException {
@@ -229,8 +223,7 @@
     if (sasl != null && sasl.isComplete())
       throw new TTransportException("SASL transport already open");
 
-    if (!underlyingTransport.isOpen())
-      underlyingTransport.open();
+    if (!underlyingTransport.isOpen()) underlyingTransport.open();
 
     try {
       // Negotiate a SASL mechanism. The client also sends its
@@ -242,8 +235,8 @@
       SaslResponse message = null;
       while (!sasl.isComplete()) {
         message = receiveSaslMessage();
-        if (message.status != NegotiationStatus.COMPLETE &&
-            message.status != NegotiationStatus.OK) {
+        if (message.status != NegotiationStatus.COMPLETE
+            && message.status != NegotiationStatus.OK) {
           throw new TTransportException("Expected COMPLETE or OK, got " + message.status);
         }
 
@@ -251,14 +244,13 @@
 
         // If we are the client, and the server indicates COMPLETE, we don't need to
         // send back any further response.
-        if (message.status == NegotiationStatus.COMPLETE &&
-            getRole() == SaslRole.CLIENT) {
+        if (message.status == NegotiationStatus.COMPLETE && getRole() == SaslRole.CLIENT) {
           LOGGER.debug("{}: All done!", getRole());
           continue;
         }
 
-        sendSaslMessage(sasl.isComplete() ? NegotiationStatus.COMPLETE : NegotiationStatus.OK,
-                        challenge);
+        sendSaslMessage(
+            sasl.isComplete() ? NegotiationStatus.COMPLETE : NegotiationStatus.OK, challenge);
       }
       LOGGER.debug("{}: Main negotiation loop complete", getRole());
 
@@ -266,13 +258,12 @@
       // complete yet, we need to wait for its response. This will occur
       // with ANONYMOUS auth, for example, where we send an initial response
       // and are immediately complete.
-      if (getRole() == SaslRole.CLIENT &&
-          (message == null || message.status == NegotiationStatus.OK)) {
+      if (getRole() == SaslRole.CLIENT
+          && (message == null || message.status == NegotiationStatus.OK)) {
         LOGGER.debug("{}: SASL Client receiving last message", getRole());
         message = receiveSaslMessage();
         if (message.status != NegotiationStatus.COMPLETE) {
-          throw new TTransportException(
-            "Expected SASL COMPLETE, but got " + message.status);
+          throw new TTransportException("Expected SASL COMPLETE, but got " + message.status);
         }
       }
     } catch (SaslException e) {
@@ -293,15 +284,14 @@
     }
 
     String qop = (String) sasl.getNegotiatedProperty(Sasl.QOP);
-    if (qop != null && !qop.equalsIgnoreCase("auth"))
-      shouldWrap = true;
+    if (qop != null && !qop.equalsIgnoreCase("auth")) shouldWrap = true;
   }
 
   /**
    * Get the underlying <code>SaslClient</code>.
    *
-   * @return The <code>SaslClient</code>, or <code>null</code> if this transport
-   *         is backed by a <code>SaslServer</code>.
+   * @return The <code>SaslClient</code>, or <code>null</code> if this transport is backed by a
+   *     <code>SaslServer</code>.
    */
   public SaslClient getSaslClient() {
     return sasl.saslClient;
@@ -309,29 +299,28 @@
 
   /**
    * Get the underlying transport that Sasl is using.
+   *
    * @return The <code>TTransport</code> transport
    */
-   public TTransport getUnderlyingTransport() {
-     return underlyingTransport;
-   }
+  public TTransport getUnderlyingTransport() {
+    return underlyingTransport;
+  }
 
   /**
    * Get the underlying <code>SaslServer</code>.
    *
-   * @return The <code>SaslServer</code>, or <code>null</code> if this transport
-   *         is backed by a <code>SaslClient</code>.
+   * @return The <code>SaslServer</code>, or <code>null</code> if this transport is backed by a
+   *     <code>SaslClient</code>.
    */
   public SaslServer getSaslServer() {
     return sasl.saslServer;
   }
 
   /**
-   * Read a 4-byte word from the underlying transport and interpret it as an
-   * integer.
+   * Read a 4-byte word from the underlying transport and interpret it as an integer.
    *
    * @return The length prefix of the next SASL message to read.
-   * @throws TTransportException
-   *           Thrown if reading from the underlying transport fails.
+   * @throws TTransportException Thrown if reading from the underlying transport fails.
    */
   protected int readLength() throws TTransportException {
     byte[] lenBuf = new byte[4];
@@ -342,10 +331,8 @@
   /**
    * Write the given integer as 4 bytes to the underlying transport.
    *
-   * @param length
-   *          The length prefix of the next SASL message to write.
-   * @throws TTransportException
-   *           Thrown if writing to the underlying transport fails.
+   * @param length The length prefix of the next SASL message to write.
+   * @throws TTransportException Thrown if writing to the underlying transport fails.
    */
   protected void writeLength(int length) throws TTransportException {
     byte[] lenBuf = new byte[4];
@@ -356,8 +343,8 @@
   // Below is the SASL implementation of the TTransport interface.
 
   /**
-   * Closes the underlying transport and disposes of the SASL implementation
-   * underlying this transport.
+   * Closes the underlying transport and disposes of the SASL implementation underlying this
+   * transport.
    */
   @Override
   public void close() {
@@ -369,23 +356,19 @@
     }
   }
 
-  /**
-   * True if the underlying transport is open and the SASL handshake is
-   * complete.
-   */
+  /** True if the underlying transport is open and the SASL handshake is complete. */
   @Override
   public boolean isOpen() {
     return underlyingTransport.isOpen() && sasl != null && sasl.isComplete();
   }
 
   /**
-   * Read from the underlying transport. Unwraps the contents if a QOP was
-   * negotiated during the SASL handshake.
+   * Read from the underlying transport. Unwraps the contents if a QOP was negotiated during the
+   * SASL handshake.
    */
   @Override
   public int read(byte[] buf, int off, int len) throws TTransportException {
-    if (!isOpen())
-      throw new TTransportException("SASL authentication not complete");
+    if (!isOpen()) throw new TTransportException("SASL authentication not complete");
 
     int got = readBuffer.read(buf, off, len);
     if (got > 0) {
@@ -409,13 +392,10 @@
   }
 
   /**
-   * Read a single frame of data from the underlying transport, unwrapping if
-   * necessary.
+   * Read a single frame of data from the underlying transport, unwrapping if necessary.
    *
-   * @throws TTransportException
-   *           Thrown if there's an error reading from the underlying transport.
-   * @throws SaslException
-   *           Thrown if there's an error unwrapping the data.
+   * @throws TTransportException Thrown if there's an error reading from the underlying transport.
+   * @throws SaslException Thrown if there's an error unwrapping the data.
    */
   private void readFrame() throws TTransportException, SaslException {
     int dataLength = readLength();
@@ -433,20 +413,17 @@
     readBuffer.reset(buff);
   }
 
-  /**
-   * Write to the underlying transport.
-   */
+  /** Write to the underlying transport. */
   @Override
   public void write(byte[] buf, int off, int len) throws TTransportException {
-    if (!isOpen())
-      throw new TTransportException("SASL authentication not complete");
+    if (!isOpen()) throw new TTransportException("SASL authentication not complete");
 
     writeBuffer.write(buf, off, len);
   }
 
   /**
-   * Flushes to the underlying transport. Wraps the contents if a QOP was
-   * negotiated during the SASL handshake.
+   * Flushes to the underlying transport. Wraps the contents if a QOP was negotiated during the SASL
+   * handshake.
    */
   @Override
   public void flush() throws TTransportException {
@@ -469,9 +446,7 @@
     underlyingTransport.flush();
   }
 
-  /**
-   * Used exclusively by readSaslMessage to return both a status and data.
-   */
+  /** Used exclusively by readSaslMessage to return both a status and data. */
   protected static class SaslResponse {
     public NegotiationStatus status;
     public byte[] payload;
@@ -483,9 +458,8 @@
   }
 
   /**
-   * Used to abstract over the <code>SaslServer</code> and
-   * <code>SaslClient</code> classes, which share a lot of their interface, but
-   * unfortunately don't share a common superclass.
+   * Used to abstract over the <code>SaslServer</code> and <code>SaslClient</code> classes, which
+   * share a lot of their interface, but unfortunately don't share a common superclass.
    */
   private static class SaslParticipant {
     // One of these will always be null.
@@ -509,38 +483,28 @@
     }
 
     public boolean isComplete() {
-      if (saslClient != null)
-        return saslClient.isComplete();
-      else
-        return saslServer.isComplete();
+      if (saslClient != null) return saslClient.isComplete();
+      else return saslServer.isComplete();
     }
 
     public void dispose() throws SaslException {
-      if (saslClient != null)
-        saslClient.dispose();
-      else
-        saslServer.dispose();
+      if (saslClient != null) saslClient.dispose();
+      else saslServer.dispose();
     }
 
     public byte[] unwrap(byte[] buf, int off, int len) throws SaslException {
-      if (saslClient != null)
-        return saslClient.unwrap(buf, off, len);
-      else
-        return saslServer.unwrap(buf, off, len);
+      if (saslClient != null) return saslClient.unwrap(buf, off, len);
+      else return saslServer.unwrap(buf, off, len);
     }
 
     public byte[] wrap(byte[] buf, int off, int len) throws SaslException {
-      if (saslClient != null)
-        return saslClient.wrap(buf, off, len);
-      else
-        return saslServer.wrap(buf, off, len);
+      if (saslClient != null) return saslClient.wrap(buf, off, len);
+      else return saslServer.wrap(buf, off, len);
     }
 
     public Object getNegotiatedProperty(String propName) {
-      if (saslClient != null)
-        return saslClient.getNegotiatedProperty(propName);
-      else
-        return saslServer.getNegotiatedProperty(propName);
+      if (saslClient != null) return saslClient.getNegotiatedProperty(propName);
+      else return saslServer.getNegotiatedProperty(propName);
     }
   }
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/TSeekableFile.java b/lib/java/src/main/java/org/apache/thrift/transport/TSeekableFile.java
index e02d36f..6200dad 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/TSeekableFile.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/TSeekableFile.java
@@ -19,15 +19,19 @@
 
 package org.apache.thrift.transport;
 
+import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
-import java.io.IOException;
 
 public interface TSeekableFile {
 
   public InputStream getInputStream() throws IOException;
+
   public OutputStream getOutputStream() throws IOException;
+
   public void close() throws IOException;
+
   public long length() throws IOException;
+
   public void seek(long pos) throws IOException;
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/TServerSocket.java b/lib/java/src/main/java/org/apache/thrift/transport/TServerSocket.java
index eb302fd..e105662 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/TServerSocket.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/TServerSocket.java
@@ -19,34 +19,27 @@
 
 package org.apache.thrift.transport;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import java.io.IOException;
 import java.net.InetSocketAddress;
 import java.net.ServerSocket;
 import java.net.Socket;
 import java.net.SocketException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
-/**
- * Wrapper around ServerSocket for Thrift.
- *
- */
+/** Wrapper around ServerSocket for Thrift. */
 public class TServerSocket extends TServerTransport {
 
   private static final Logger LOGGER = LoggerFactory.getLogger(TServerSocket.class.getName());
 
-  /**
-   * Underlying ServerSocket object
-   */
+  /** Underlying ServerSocket object */
   private ServerSocket serverSocket_ = null;
 
-  /**
-   * Timeout for client sockets from accept
-   */
+  /** Timeout for client sockets from accept */
   private int clientTimeout_ = 0;
 
-  public static class ServerSocketTransportArgs extends AbstractServerTransportArgs<ServerSocketTransportArgs> {
+  public static class ServerSocketTransportArgs
+      extends AbstractServerTransportArgs<ServerSocketTransportArgs> {
     ServerSocket serverSocket;
 
     public ServerSocketTransportArgs serverSocket(ServerSocket serverSocket) {
@@ -55,30 +48,22 @@
     }
   }
 
-  /**
-   * Creates a server socket from underlying socket object
-   */
+  /** Creates a server socket from underlying socket object */
   public TServerSocket(ServerSocket serverSocket) throws TTransportException {
     this(serverSocket, 0);
   }
 
-  /**
-   * Creates a server socket from underlying socket object
-   */
+  /** Creates a server socket from underlying socket object */
   public TServerSocket(ServerSocket serverSocket, int clientTimeout) throws TTransportException {
     this(new ServerSocketTransportArgs().serverSocket(serverSocket).clientTimeout(clientTimeout));
   }
 
-  /**
-   * Creates just a port listening server socket
-   */
+  /** Creates just a port listening server socket */
   public TServerSocket(int port) throws TTransportException {
     this(port, 0);
   }
 
-  /**
-   * Creates just a port listening server socket
-   */
+  /** Creates just a port listening server socket */
   public TServerSocket(int port, int clientTimeout) throws TTransportException {
     this(new InetSocketAddress(port), clientTimeout);
   }
@@ -106,7 +91,8 @@
       serverSocket_.bind(args.bindAddr, args.backlog);
     } catch (IOException ioe) {
       close();
-      throw new TTransportException("Could not create ServerSocket on address " + args.bindAddr.toString() + ".", ioe);
+      throw new TTransportException(
+          "Could not create ServerSocket on address " + args.bindAddr.toString() + ".", ioe);
     }
   }
 
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/TServerTransport.java b/lib/java/src/main/java/org/apache/thrift/transport/TServerTransport.java
index 3a7b49a..47fa251 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/TServerTransport.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/TServerTransport.java
@@ -21,16 +21,13 @@
 
 import java.io.Closeable;
 import java.net.InetSocketAddress;
-
 import org.apache.thrift.TConfiguration;
 
-/**
- * Server transport. Object which provides client transports.
- *
- */
+/** Server transport. Object which provides client transports. */
 public abstract class TServerTransport implements Closeable {
 
-  public static abstract class AbstractServerTransportArgs<T extends AbstractServerTransportArgs<T>> {
+  public abstract static class AbstractServerTransportArgs<
+      T extends AbstractServerTransportArgs<T>> {
     int backlog = 0; // A value of 0 means the default value will be used (currently set at 50)
     int clientTimeout = 0;
     InetSocketAddress bindAddr;
@@ -65,9 +62,9 @@
   public abstract void listen() throws TTransportException;
 
   /**
-   * Accept incoming connection on the server socket. When there is no incoming connection available:
-   * either it should block infinitely in a blocking implementation, either it should return null in
-   * a nonblocking implementation.
+   * Accept incoming connection on the server socket. When there is no incoming connection
+   * available: either it should block infinitely in a blocking implementation, either it should
+   * return null in a nonblocking implementation.
    *
    * @return new connection
    * @throws TTransportException if IO error.
@@ -77,12 +74,10 @@
   public abstract void close();
 
   /**
-   * Optional method implementation. This signals to the server transport
-   * that it should break out of any accept() or listen() that it is currently
-   * blocked on. This method, if implemented, MUST be thread safe, as it may
-   * be called from a different thread context than the other TServerTransport
-   * methods.
+   * Optional method implementation. This signals to the server transport that it should break out
+   * of any accept() or listen() that it is currently blocked on. This method, if implemented, MUST
+   * be thread safe, as it may be called from a different thread context than the other
+   * TServerTransport methods.
    */
   public void interrupt() {}
-
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/TSimpleFileTransport.java b/lib/java/src/main/java/org/apache/thrift/transport/TSimpleFileTransport.java
index c1bbd48..9dfdb82 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/TSimpleFileTransport.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/TSimpleFileTransport.java
@@ -18,15 +18,11 @@
  */
 package org.apache.thrift.transport;
 
-import org.apache.thrift.TConfiguration;
-
 import java.io.IOException;
 import java.io.RandomAccessFile;
+import org.apache.thrift.TConfiguration;
 
-
-/**
- * Basic file support for the TTransport interface
- */
+/** Basic file support for the TTransport interface */
 public final class TSimpleFileTransport extends TEndpointTransport {
 
   private RandomAccessFile file = null;
@@ -34,7 +30,6 @@
   private boolean writable;
   private String path_;
 
-
   /**
    * Create a transport backed by a simple file
    *
@@ -44,9 +39,8 @@
    * @param openFile true to open the file on construction
    * @throws TTransportException if file open fails
    */
-  public TSimpleFileTransport(String path, boolean read,
-                              boolean write, boolean openFile)
-          throws TTransportException {
+  public TSimpleFileTransport(String path, boolean read, boolean write, boolean openFile)
+      throws TTransportException {
     this(new TConfiguration(), path, read, write, openFile);
   }
 
@@ -60,9 +54,9 @@
    * @param openFile true to open the file on construction
    * @throws TTransportException if file open fails
    */
-  public TSimpleFileTransport(TConfiguration config, String path, boolean read,
-                              boolean write, boolean openFile)
-          throws TTransportException {
+  public TSimpleFileTransport(
+      TConfiguration config, String path, boolean read, boolean write, boolean openFile)
+      throws TTransportException {
     super(config);
     if (path.length() <= 0) {
       throw new TTransportException("No path specified");
@@ -79,22 +73,19 @@
   }
 
   /**
-   * Create a transport backed by a simple file
-   * Implicitly opens file to conform to C++ behavior.
+   * Create a transport backed by a simple file Implicitly opens file to conform to C++ behavior.
    *
    * @param path the path to the file to open/create
    * @param read true to support read operations
    * @param write true to support write operations
    * @throws TTransportException if file open fails
    */
-  public TSimpleFileTransport(String path, boolean read, boolean write)
-          throws TTransportException {
+  public TSimpleFileTransport(String path, boolean read, boolean write) throws TTransportException {
     this(path, read, write, true);
   }
 
   /**
-   * Create a transport backed by a simple read only disk file (implicitly opens
-   * file)
+   * Create a transport backed by a simple read only disk file (implicitly opens file)
    *
    * @param path the path to the file to open/create
    * @throws TTransportException if file open fails
@@ -120,9 +111,9 @@
    */
   @Override
   public void open() throws TTransportException {
-    if (file == null){
+    if (file == null) {
       try {
-        String access = "r";       //RandomAccessFile objects must be readable
+        String access = "r"; // RandomAccessFile objects must be readable
         if (writable) {
           access += "w";
         }
@@ -134,16 +125,14 @@
     }
   }
 
-  /**
-   * Close file, subsequent read/write activity will throw exceptions
-   */
+  /** Close file, subsequent read/write activity will throw exceptions */
   @Override
   public void close() {
     if (file != null) {
       try {
         file.close();
       } catch (Exception e) {
-        //Nothing to do
+        // Nothing to do
       }
       file = null;
     }
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/TSocket.java b/lib/java/src/main/java/org/apache/thrift/transport/TSocket.java
index aef2a3f..558c4fa 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/TSocket.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/TSocket.java
@@ -19,48 +19,34 @@
 
 package org.apache.thrift.transport;
 
-import org.apache.thrift.TConfiguration;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import java.io.BufferedInputStream;
 import java.io.BufferedOutputStream;
 import java.io.IOException;
 import java.net.InetSocketAddress;
 import java.net.Socket;
 import java.net.SocketException;
+import org.apache.thrift.TConfiguration;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
-/**
- * Socket implementation of the TTransport interface. To be commented soon!
- *
- */
+/** Socket implementation of the TTransport interface. To be commented soon! */
 public class TSocket extends TIOStreamTransport {
 
   private static final Logger LOGGER = LoggerFactory.getLogger(TSocket.class.getName());
 
-  /**
-   * Wrapped Socket object
-   */
+  /** Wrapped Socket object */
   private Socket socket_;
 
-  /**
-   * Remote host
-   */
+  /** Remote host */
   private String host_;
 
-  /**
-   * Remote port
-   */
+  /** Remote port */
   private int port_;
 
-  /**
-   * Socket timeout - read timeout on the socket
-   */
+  /** Socket timeout - read timeout on the socket */
   private int socketTimeout_;
 
-  /**
-   * Connection timeout
-   */
+  /** Connection timeout */
   private int connectTimeout_;
 
   /**
@@ -92,10 +78,9 @@
   }
 
   /**
-   * Creates a new unconnected socket that will connect to the given host
-   * on the given port.
+   * Creates a new unconnected socket that will connect to the given host on the given port.
    *
-   * @param config  check config
+   * @param config check config
    * @param host Remote host
    * @param port Remote port
    */
@@ -104,8 +89,7 @@
   }
 
   /**
-   * Creates a new unconnected socket that will connect to the given host
-   * on the given port.
+   * Creates a new unconnected socket that will connect to the given host on the given port.
    *
    * @param host Remote host
    * @param port Remote port
@@ -115,11 +99,10 @@
   }
 
   /**
-   * Creates a new unconnected socket that will connect to the given host
-   * on the given port.
+   * Creates a new unconnected socket that will connect to the given host on the given port.
    *
-   * @param host    Remote host
-   * @param port    Remote port
+   * @param host Remote host
+   * @param port Remote port
    * @param timeout Socket timeout and connection timeout
    */
   public TSocket(String host, int port, int timeout) throws TTransportException {
@@ -127,30 +110,31 @@
   }
 
   /**
-   * Creates a new unconnected socket that will connect to the given host
-   * on the given port.
+   * Creates a new unconnected socket that will connect to the given host on the given port.
    *
-   * @param config  check config
-   * @param host    Remote host
-   * @param port    Remote port
+   * @param config check config
+   * @param host Remote host
+   * @param port Remote port
    * @param timeout Socket timeout and connection timeout
    */
-  public TSocket(TConfiguration config, String host, int port, int timeout) throws TTransportException {
+  public TSocket(TConfiguration config, String host, int port, int timeout)
+      throws TTransportException {
     this(config, host, port, timeout, timeout);
   }
 
   /**
-   * Creates a new unconnected socket that will connect to the given host
-   * on the given port, with a specific connection timeout and a
-   * specific socket timeout.
+   * Creates a new unconnected socket that will connect to the given host on the given port, with a
+   * specific connection timeout and a specific socket timeout.
    *
-   * @param config          check config
-   * @param host            Remote host
-   * @param port            Remote port
-   * @param socketTimeout   Socket timeout
-   * @param connectTimeout  Connection timeout
+   * @param config check config
+   * @param host Remote host
+   * @param port Remote port
+   * @param socketTimeout Socket timeout
+   * @param connectTimeout Connection timeout
    */
-  public TSocket(TConfiguration config, String host, int port, int socketTimeout, int connectTimeout) throws TTransportException {
+  public TSocket(
+      TConfiguration config, String host, int port, int socketTimeout, int connectTimeout)
+      throws TTransportException {
     super(config);
     host_ = host;
     port_ = port;
@@ -159,9 +143,7 @@
     initSocket();
   }
 
-  /**
-   * Initializes the socket object
-   */
+  /** Initializes the socket object */
   private void initSocket() {
     socket_ = new Socket();
     try {
@@ -207,9 +189,7 @@
     }
   }
 
-  /**
-   * Returns a reference to the underlying socket.
-   */
+  /** Returns a reference to the underlying socket. */
   public Socket getSocket() {
     if (socket_ == null) {
       initSocket();
@@ -217,9 +197,7 @@
     return socket_;
   }
 
-  /**
-   * Checks whether the socket is connected.
-   */
+  /** Checks whether the socket is connected. */
   public boolean isOpen() {
     if (socket_ == null) {
       return false;
@@ -227,9 +205,7 @@
     return socket_.isConnected();
   }
 
-  /**
-   * Connects the socket, creating a new socket object if necessary.
-   */
+  /** Connects the socket, creating a new socket object if necessary. */
   public void open() throws TTransportException {
     if (isOpen()) {
       throw new TTransportException(TTransportException.ALREADY_OPEN, "Socket already connected.");
@@ -256,9 +232,7 @@
     }
   }
 
-  /**
-   * Closes the socket.
-   */
+  /** Closes the socket. */
   public void close() {
     // Close the underlying streams
     super.close();
@@ -273,5 +247,4 @@
       socket_ = null;
     }
   }
-
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/TStandardFile.java b/lib/java/src/main/java/org/apache/thrift/transport/TStandardFile.java
index 7a33af8..65c29a5 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/TStandardFile.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/TStandardFile.java
@@ -19,12 +19,12 @@
 
 package org.apache.thrift.transport;
 
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.IOException;
-import java.io.RandomAccessFile;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.RandomAccessFile;
 
 public class TStandardFile implements TSeekableFile {
 
@@ -45,7 +45,7 @@
   }
 
   public void close() throws IOException {
-    if(inputFile_ != null) {
+    if (inputFile_ != null) {
       inputFile_.close();
     }
   }
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/TTransport.java b/lib/java/src/main/java/org/apache/thrift/transport/TTransport.java
index afe9cfb..dc771fc 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/TTransport.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/TTransport.java
@@ -19,15 +19,13 @@
 
 package org.apache.thrift.transport;
 
-import org.apache.thrift.TConfiguration;
-
 import java.io.Closeable;
 import java.nio.ByteBuffer;
+import org.apache.thrift.TConfiguration;
 
 /**
- * Generic class that encapsulates the I/O layer. This is basically a thin
- * wrapper around the combined functionality of Java input/output streams.
- *
+ * Generic class that encapsulates the I/O layer. This is basically a thin wrapper around the
+ * combined functionality of Java input/output streams.
  */
 public abstract class TTransport implements Closeable {
 
@@ -52,25 +50,20 @@
    *
    * @throws TTransportException if the transport could not be opened
    */
-  public abstract void open()
-    throws TTransportException;
+  public abstract void open() throws TTransportException;
 
-  /**
-   * Closes the transport.
-   */
+  /** Closes the transport. */
   public abstract void close();
 
   /**
-   * Reads a sequence of bytes from this channel into the given buffer. An
-   * attempt is made to read up to the number of bytes remaining in the buffer,
-   * that is, dst.remaining(), at the moment this method is invoked. Upon return
-   * the buffer's position will move forward the number of bytes read; its limit
-   * will not have changed. Subclasses are encouraged to provide a more
-   * efficient implementation of this method.
+   * Reads a sequence of bytes from this channel into the given buffer. An attempt is made to read
+   * up to the number of bytes remaining in the buffer, that is, dst.remaining(), at the moment this
+   * method is invoked. Upon return the buffer's position will move forward the number of bytes
+   * read; its limit will not have changed. Subclasses are encouraged to provide a more efficient
+   * implementation of this method.
    *
    * @param dst The buffer into which bytes are to be transferred
-   * @return The number of bytes read, possibly zero, or -1 if the channel has
-   *         reached end-of-stream
+   * @return The number of bytes read, possibly zero, or -1 if the channel has reached end-of-stream
    * @throws TTransportException if there was an error reading data
    */
   public int read(ByteBuffer dst) throws TTransportException {
@@ -89,8 +82,7 @@
    * @return The number of bytes actually read
    * @throws TTransportException if there was an error reading data
    */
-  public abstract int read(byte[] buf, int off, int len)
-    throws TTransportException;
+  public abstract int read(byte[] buf, int off, int len) throws TTransportException;
 
   /**
    * Guarantees that all of len bytes are actually read off the transport.
@@ -101,12 +93,11 @@
    * @return The number of bytes actually read, which must be equal to len
    * @throws TTransportException if there was an error reading data
    */
-  public int readAll(byte[] buf, int off, int len)
-    throws TTransportException {
+  public int readAll(byte[] buf, int off, int len) throws TTransportException {
     int got = 0;
     int ret = 0;
     while (got < len) {
-      ret = read(buf, off+got, len-got);
+      ret = read(buf, off + got, len - got);
       if (ret <= 0) {
         throw new TTransportException(
             "Cannot read. Remote side has closed. Tried to read "
@@ -138,15 +129,13 @@
    * @param len The number of bytes to write
    * @throws TTransportException if there was an error writing data
    */
-  public abstract void write(byte[] buf, int off, int len)
-    throws TTransportException;
+  public abstract void write(byte[] buf, int off, int len) throws TTransportException;
 
   /**
-   * Writes a sequence of bytes to the buffer. An attempt is made to write all
-   * remaining bytes in the buffer, that is, src.remaining(), at the moment this
-   * method is invoked. Upon return the buffer's position will updated; its limit
-   * will not have changed. Subclasses are encouraged to provide a more efficient
-   * implementation of this method.
+   * Writes a sequence of bytes to the buffer. An attempt is made to write all remaining bytes in
+   * the buffer, that is, src.remaining(), at the moment this method is invoked. Upon return the
+   * buffer's position will updated; its limit will not have changed. Subclasses are encouraged to
+   * provide a more efficient implementation of this method.
    *
    * @param src The buffer from which bytes are to be retrieved
    * @return The number of bytes written, possibly zero
@@ -164,12 +153,12 @@
    *
    * @throws TTransportException if there was an error writing out data.
    */
-  public void flush()
-    throws TTransportException {}
+  public void flush() throws TTransportException {}
 
   /**
-   * Access the protocol's underlying buffer directly. If this is not a
-   * buffered transport, return null.
+   * Access the protocol's underlying buffer directly. If this is not a buffered transport, return
+   * null.
+   *
    * @return protocol's Underlying buffer
    */
   public byte[] getBuffer() {
@@ -177,20 +166,22 @@
   }
 
   /**
-   * Return the index within the underlying buffer that specifies the next spot
-   * that should be read from.
-   * @return index within the underlying buffer that specifies the next spot
-   * that should be read from
+   * Return the index within the underlying buffer that specifies the next spot that should be read
+   * from.
+   *
+   * @return index within the underlying buffer that specifies the next spot that should be read
+   *     from
    */
   public int getBufferPosition() {
     return 0;
   }
 
   /**
-   * Get the number of bytes remaining in the underlying buffer. Returns -1 if
-   * this is a non-buffered transport.
-   * @return the number of bytes remaining in the underlying buffer. <br> Returns -1 if
-   * this is a non-buffered transport.
+   * Get the number of bytes remaining in the underlying buffer. Returns -1 if this is a
+   * non-buffered transport.
+   *
+   * @return the number of bytes remaining in the underlying buffer. <br>
+   *     Returns -1 if this is a non-buffered transport.
    */
   public int getBytesRemainingInBuffer() {
     return -1;
@@ -198,6 +189,7 @@
 
   /**
    * Consume len bytes from the underlying buffer.
+   *
    * @param len the number of bytes to consume from the underlying buffer.
    */
   public void consumeBuffer(int len) {}
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/TTransportException.java b/lib/java/src/main/java/org/apache/thrift/transport/TTransportException.java
index b886bc2..cc7532f 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/TTransportException.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/TTransportException.java
@@ -21,10 +21,7 @@
 
 import org.apache.thrift.TException;
 
-/**
- * Transport exceptions.
- *
- */
+/** Transport exceptions. */
 public class TTransportException extends TException {
 
   private static final long serialVersionUID = 1L;
@@ -77,5 +74,4 @@
   public int getType() {
     return type_;
   }
-
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/TTransportFactory.java b/lib/java/src/main/java/org/apache/thrift/transport/TTransportFactory.java
index e068b4b..ded5be4 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/TTransportFactory.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/TTransportFactory.java
@@ -20,11 +20,9 @@
 package org.apache.thrift.transport;
 
 /**
- * Factory class used to create wrapped instance of Transports.
- * This is used primarily in servers, which get Transports from
- * a ServerTransport and then may want to mutate them (i.e. create
- * a BufferedTransport from the underlying base transport)
- *
+ * Factory class used to create wrapped instance of Transports. This is used primarily in servers,
+ * which get Transports from a ServerTransport and then may want to mutate them (i.e. create a
+ * BufferedTransport from the underlying base transport)
  */
 public class TTransportFactory {
 
@@ -37,5 +35,4 @@
   public TTransport getTransport(TTransport trans) throws TTransportException {
     return trans;
   }
-
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/TZlibTransport.java b/lib/java/src/main/java/org/apache/thrift/transport/TZlibTransport.java
index 73b21aa..e0b5b90 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/TZlibTransport.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/TZlibTransport.java
@@ -18,8 +18,6 @@
  */
 package org.apache.thrift.transport;
 
-import org.apache.thrift.TConfiguration;
-
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
@@ -28,125 +26,129 @@
 import java.util.zip.DeflaterOutputStream;
 import java.util.zip.Inflater;
 import java.util.zip.InflaterInputStream;
+import org.apache.thrift.TConfiguration;
 
-/**
- * TZlibTransport deflates on write and inflates on read.
- */
+/** TZlibTransport deflates on write and inflates on read. */
 public class TZlibTransport extends TIOStreamTransport {
 
-    private TTransport transport_ = null;
+  private TTransport transport_ = null;
 
-    public static class Factory extends TTransportFactory {
-        public Factory() {
-        }
-
-        @Override
-        public TTransport getTransport(TTransport base) throws TTransportException {
-            return new TZlibTransport(base);
-        }
-    }
-
-    /**
-     * Constructs a new TZlibTransport instance.
-     * @param  transport the underlying transport to read from and write to
-     */
-    public TZlibTransport(TTransport transport) throws TTransportException {
-        this(transport, Deflater.BEST_COMPRESSION);
-    }
-
-    /**
-     * Constructs a new TZlibTransport instance.
-     * @param  transport the underlying transport to read from and write to
-     * @param  compressionLevel 0 for no compression, 9 for maximum compression
-     */
-    public TZlibTransport(TTransport transport, int compressionLevel) throws TTransportException {
-        super(Objects.isNull(transport.getConfiguration()) ? new TConfiguration() : transport.getConfiguration());
-        transport_ = transport;
-        inputStream_ = new InflaterInputStream(new TTransportInputStream(transport_), new Inflater());
-        outputStream_ = new DeflaterOutputStream(new TTransportOutputStream(transport_), new Deflater(compressionLevel, false), true);
-    }
+  public static class Factory extends TTransportFactory {
+    public Factory() {}
 
     @Override
-    public boolean isOpen() {
-        return transport_.isOpen();
+    public TTransport getTransport(TTransport base) throws TTransportException {
+      return new TZlibTransport(base);
     }
+  }
 
-    @Override
-    public void open() throws TTransportException {
-        transport_.open();
-    }
+  /**
+   * Constructs a new TZlibTransport instance.
+   *
+   * @param transport the underlying transport to read from and write to
+   */
+  public TZlibTransport(TTransport transport) throws TTransportException {
+    this(transport, Deflater.BEST_COMPRESSION);
+  }
 
-    @Override
-    public void close() {
-        super.close();
-        if (transport_.isOpen()) {
-            transport_.close();
-        }
+  /**
+   * Constructs a new TZlibTransport instance.
+   *
+   * @param transport the underlying transport to read from and write to
+   * @param compressionLevel 0 for no compression, 9 for maximum compression
+   */
+  public TZlibTransport(TTransport transport, int compressionLevel) throws TTransportException {
+    super(
+        Objects.isNull(transport.getConfiguration())
+            ? new TConfiguration()
+            : transport.getConfiguration());
+    transport_ = transport;
+    inputStream_ = new InflaterInputStream(new TTransportInputStream(transport_), new Inflater());
+    outputStream_ =
+        new DeflaterOutputStream(
+            new TTransportOutputStream(transport_), new Deflater(compressionLevel, false), true);
+  }
+
+  @Override
+  public boolean isOpen() {
+    return transport_.isOpen();
+  }
+
+  @Override
+  public void open() throws TTransportException {
+    transport_.open();
+  }
+
+  @Override
+  public void close() {
+    super.close();
+    if (transport_.isOpen()) {
+      transport_.close();
     }
+  }
 }
 
 class TTransportInputStream extends InputStream {
 
-    private TTransport transport = null;
+  private TTransport transport = null;
 
-    public TTransportInputStream(TTransport transport) {
-        this.transport = transport;
-    }
+  public TTransportInputStream(TTransport transport) {
+    this.transport = transport;
+  }
 
-    @Override
-    public int read() throws IOException {
-        try {
-            byte[] buf = new byte[1];
-            transport.read(buf, 0, 1);
-            return buf[0];
-        } catch (TTransportException e) {
-            throw new IOException(e);
-        }
+  @Override
+  public int read() throws IOException {
+    try {
+      byte[] buf = new byte[1];
+      transport.read(buf, 0, 1);
+      return buf[0];
+    } catch (TTransportException e) {
+      throw new IOException(e);
     }
+  }
 
-    @Override
-    public int read(byte b[], int off, int len) throws IOException {
-        try {
-            return transport.read(b, off, len);
-        } catch (TTransportException e) {
-            throw new IOException(e);
-        }
+  @Override
+  public int read(byte b[], int off, int len) throws IOException {
+    try {
+      return transport.read(b, off, len);
+    } catch (TTransportException e) {
+      throw new IOException(e);
     }
+  }
 }
 
 class TTransportOutputStream extends OutputStream {
 
-    private TTransport transport = null;
+  private TTransport transport = null;
 
-    public TTransportOutputStream(TTransport transport) {
-        this.transport = transport;
-    }
+  public TTransportOutputStream(TTransport transport) {
+    this.transport = transport;
+  }
 
-    @Override
-    public void write(final int b) throws IOException {
-        try {
-            transport.write(new byte[]{(byte) b});
-        } catch (TTransportException e) {
-            throw new IOException(e);
-        }
+  @Override
+  public void write(final int b) throws IOException {
+    try {
+      transport.write(new byte[] {(byte) b});
+    } catch (TTransportException e) {
+      throw new IOException(e);
     }
+  }
 
-    @Override
-    public void write(byte b[], int off, int len) throws IOException {
-        try {
-            transport.write(b, off, len);
-        } catch (TTransportException e) {
-            throw new IOException(e);
-        }
+  @Override
+  public void write(byte b[], int off, int len) throws IOException {
+    try {
+      transport.write(b, off, len);
+    } catch (TTransportException e) {
+      throw new IOException(e);
     }
+  }
 
-    @Override
-    public void flush() throws IOException {
-        try {
-            transport.flush();
-        } catch (TTransportException e) {
-            throw new IOException(e);
-        }
+  @Override
+  public void flush() throws IOException {
+    try {
+      transport.flush();
+    } catch (TTransportException e) {
+      throw new IOException(e);
     }
+  }
 }
-
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/layered/TFastFramedTransport.java b/lib/java/src/main/java/org/apache/thrift/transport/layered/TFastFramedTransport.java
index 29bf39c..45f4e97 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/layered/TFastFramedTransport.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/layered/TFastFramedTransport.java
@@ -18,20 +18,17 @@
  */
 package org.apache.thrift.transport.layered;
 
-
+import java.util.Objects;
 import org.apache.thrift.TConfiguration;
 import org.apache.thrift.transport.*;
 
-import java.util.Objects;
-
 /**
- * This transport is wire compatible with {@link TFramedTransport}, but makes
- * use of reusable, expanding read and write buffers in order to avoid
- * allocating new byte[]s all the time. Since the buffers only expand, you
- * should probably only use this transport if your messages are not too variably
- * large, unless the persistent memory cost is not an issue.
+ * This transport is wire compatible with {@link TFramedTransport}, but makes use of reusable,
+ * expanding read and write buffers in order to avoid allocating new byte[]s all the time. Since the
+ * buffers only expand, you should probably only use this transport if your messages are not too
+ * variably large, unless the persistent memory cost is not an issue.
  *
- * This implementation is NOT threadsafe.
+ * <p>This implementation is NOT threadsafe.
  */
 public class TFastFramedTransport extends TLayeredTransport {
 
@@ -54,15 +51,11 @@
 
     @Override
     public TTransport getTransport(TTransport trans) throws TTransportException {
-      return new TFastFramedTransport(trans,
-          initialCapacity,
-          maxLength);
+      return new TFastFramedTransport(trans, initialCapacity, maxLength);
     }
   }
 
-  /**
-   * How big should the default read and write buffers be?
-   */
+  /** How big should the default read and write buffers be? */
   public static final int DEFAULT_BUF_CAPACITY = 1024;
 
   private final AutoExpandingBufferWriteTransport writeBuffer;
@@ -72,8 +65,9 @@
   private final int maxLength;
 
   /**
-   * Create a new {@link TFastFramedTransport}. Use the defaults
-   * for initial buffer size and max frame length.
+   * Create a new {@link TFastFramedTransport}. Use the defaults for initial buffer size and max
+   * frame length.
+   *
    * @param underlying Transport that real reads and writes will go through to.
    */
   public TFastFramedTransport(TTransport underlying) throws TTransportException {
@@ -81,31 +75,35 @@
   }
 
   /**
-   * Create a new {@link TFastFramedTransport}. Use the specified
-   * initial buffer capacity and the default max frame length.
+   * Create a new {@link TFastFramedTransport}. Use the specified initial buffer capacity and the
+   * default max frame length.
+   *
    * @param underlying Transport that real reads and writes will go through to.
-   * @param initialBufferCapacity The initial size of the read and write buffers.
-   * In practice, it's not critical to set this unless you know in advance that
-   * your messages are going to be very large.
+   * @param initialBufferCapacity The initial size of the read and write buffers. In practice, it's
+   *     not critical to set this unless you know in advance that your messages are going to be very
+   *     large.
    */
-  public TFastFramedTransport(TTransport underlying, int initialBufferCapacity) throws TTransportException {
+  public TFastFramedTransport(TTransport underlying, int initialBufferCapacity)
+      throws TTransportException {
     this(underlying, initialBufferCapacity, TConfiguration.DEFAULT_MAX_FRAME_SIZE);
   }
 
   /**
-   *
    * @param underlying Transport that real reads and writes will go through to.
-   * @param initialBufferCapacity The initial size of the read and write buffers.
-   * In practice, it's not critical to set this unless you know in advance that
-   * your messages are going to be very large. (You can pass
-   * TFramedTransportWithReusableBuffer.DEFAULT_BUF_CAPACITY if you're only
-   * using this constructor because you want to set the maxLength.)
-   * @param maxLength The max frame size you are willing to read. You can use
-   * this parameter to limit how much memory can be allocated.
+   * @param initialBufferCapacity The initial size of the read and write buffers. In practice, it's
+   *     not critical to set this unless you know in advance that your messages are going to be very
+   *     large. (You can pass TFramedTransportWithReusableBuffer.DEFAULT_BUF_CAPACITY if you're only
+   *     using this constructor because you want to set the maxLength.)
+   * @param maxLength The max frame size you are willing to read. You can use this parameter to
+   *     limit how much memory can be allocated.
    */
-  public TFastFramedTransport(TTransport underlying, int initialBufferCapacity, int maxLength) throws TTransportException {
+  public TFastFramedTransport(TTransport underlying, int initialBufferCapacity, int maxLength)
+      throws TTransportException {
     super(underlying);
-    TConfiguration config = Objects.isNull(underlying.getConfiguration()) ? new TConfiguration() : underlying.getConfiguration();
+    TConfiguration config =
+        Objects.isNull(underlying.getConfiguration())
+            ? new TConfiguration()
+            : underlying.getConfiguration();
     this.maxLength = maxLength;
     config.setMaxFrameSize(maxLength);
     this.initialBufferCapacity = initialBufferCapacity;
@@ -142,17 +140,19 @@
   }
 
   private void readFrame() throws TTransportException {
-    getInnerTransport().readAll(i32buf , 0, 4);
+    getInnerTransport().readAll(i32buf, 0, 4);
     int size = TFramedTransport.decodeFrameSize(i32buf);
 
     if (size < 0) {
       close();
-      throw new TTransportException(TTransportException.CORRUPTED_DATA, "Read a negative frame size (" + size + ")!");
+      throw new TTransportException(
+          TTransportException.CORRUPTED_DATA, "Read a negative frame size (" + size + ")!");
     }
 
     if (size > getInnerTransport().getConfiguration().getMaxFrameSize()) {
       close();
-      throw new TTransportException(TTransportException.CORRUPTED_DATA,
+      throw new TTransportException(
+          TTransportException.CORRUPTED_DATA,
           "Frame size (" + size + ") larger than max length (" + maxLength + ")!");
     }
 
@@ -169,9 +169,7 @@
     readBuffer.consumeBuffer(len);
   }
 
-  /**
-   * Only clears the read buffer!
-   */
+  /** Only clears the read buffer! */
   public void clear() throws TTransportException {
     readBuffer = new AutoExpandingBufferReadTransport(getConfiguration(), initialBufferCapacity);
   }
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/layered/TFramedTransport.java b/lib/java/src/main/java/org/apache/thrift/transport/layered/TFramedTransport.java
index 10a9a1c..6ba4018 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/layered/TFramedTransport.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/layered/TFramedTransport.java
@@ -19,6 +19,7 @@
 
 package org.apache.thrift.transport.layered;
 
+import java.util.Objects;
 import org.apache.thrift.TByteArrayOutputStream;
 import org.apache.thrift.TConfiguration;
 import org.apache.thrift.transport.TMemoryInputTransport;
@@ -26,23 +27,16 @@
 import org.apache.thrift.transport.TTransportException;
 import org.apache.thrift.transport.TTransportFactory;
 
-import java.util.Objects;
-
 /**
- * TFramedTransport is a buffered TTransport that ensures a fully read message
- * every time by preceding messages with a 4-byte frame size.
+ * TFramedTransport is a buffered TTransport that ensures a fully read message every time by
+ * preceding messages with a 4-byte frame size.
  */
 public class TFramedTransport extends TLayeredTransport {
 
-  /**
-   * Buffer for output
-   */
-  private final TByteArrayOutputStream writeBuffer_ =
-    new TByteArrayOutputStream(1024);
+  /** Buffer for output */
+  private final TByteArrayOutputStream writeBuffer_ = new TByteArrayOutputStream(1024);
 
-  /**
-   * Buffer for input
-   */
+  /** Buffer for input */
   private final TMemoryInputTransport readBuffer_;
 
   public static class Factory extends TTransportFactory {
@@ -63,21 +57,21 @@
   }
 
   /**
-   * Something to fill in the first four bytes of the buffer
-   * to make room for the frame size.  This allows the
-   * implementation to write once instead of twice.
+   * Something to fill in the first four bytes of the buffer to make room for the frame size. This
+   * allows the implementation to write once instead of twice.
    */
-  private static final byte[] sizeFiller_ = new byte[] { 0x00, 0x00, 0x00, 0x00 };
+  private static final byte[] sizeFiller_ = new byte[] {0x00, 0x00, 0x00, 0x00};
 
-  /**
-   * Constructor wraps around another transport
-   */
+  /** Constructor wraps around another transport */
   public TFramedTransport(TTransport transport, int maxLength) throws TTransportException {
     super(transport);
-    TConfiguration _configuration = Objects.isNull(transport.getConfiguration()) ? new TConfiguration() : transport.getConfiguration();
+    TConfiguration _configuration =
+        Objects.isNull(transport.getConfiguration())
+            ? new TConfiguration()
+            : transport.getConfiguration();
     _configuration.setMaxFrameSize(maxLength);
     writeBuffer_.write(sizeFiller_, 0, 4);
-    readBuffer_= new TMemoryInputTransport(_configuration, new byte[0]);
+    readBuffer_ = new TMemoryInputTransport(_configuration, new byte[0]);
   }
 
   public TFramedTransport(TTransport transport) throws TTransportException {
@@ -140,13 +134,19 @@
 
     if (size < 0) {
       close();
-      throw new TTransportException(TTransportException.CORRUPTED_DATA, "Read a negative frame size (" + size + ")!");
+      throw new TTransportException(
+          TTransportException.CORRUPTED_DATA, "Read a negative frame size (" + size + ")!");
     }
 
     if (size > getInnerTransport().getConfiguration().getMaxFrameSize()) {
       close();
-      throw new TTransportException(TTransportException.CORRUPTED_DATA,
-          "Frame size (" + size + ") larger than max length (" + getInnerTransport().getConfiguration().getMaxFrameSize() + ")!");
+      throw new TTransportException(
+          TTransportException.CORRUPTED_DATA,
+          "Frame size ("
+              + size
+              + ") larger than max length ("
+              + getInnerTransport().getConfiguration().getMaxFrameSize()
+              + ")!");
     }
 
     byte[] buff = new byte[size];
@@ -161,27 +161,26 @@
   @Override
   public void flush() throws TTransportException {
     byte[] buf = writeBuffer_.get();
-    int len = writeBuffer_.len() - 4;       // account for the prepended frame size
+    int len = writeBuffer_.len() - 4; // account for the prepended frame size
     writeBuffer_.reset();
-    writeBuffer_.write(sizeFiller_, 0, 4);  // make room for the next frame's size data
+    writeBuffer_.write(sizeFiller_, 0, 4); // make room for the next frame's size data
 
-    encodeFrameSize(len, buf);              // this is the frame length without the filler
-    getInnerTransport().write(buf, 0, len + 4);      // we have to write the frame size and frame data
+    encodeFrameSize(len, buf); // this is the frame length without the filler
+    getInnerTransport().write(buf, 0, len + 4); // we have to write the frame size and frame data
     getInnerTransport().flush();
   }
 
   public static final void encodeFrameSize(final int frameSize, final byte[] buf) {
-    buf[0] = (byte)(0xff & (frameSize >> 24));
-    buf[1] = (byte)(0xff & (frameSize >> 16));
-    buf[2] = (byte)(0xff & (frameSize >> 8));
-    buf[3] = (byte)(0xff & (frameSize));
+    buf[0] = (byte) (0xff & (frameSize >> 24));
+    buf[1] = (byte) (0xff & (frameSize >> 16));
+    buf[2] = (byte) (0xff & (frameSize >> 8));
+    buf[3] = (byte) (0xff & (frameSize));
   }
 
   public static final int decodeFrameSize(final byte[] buf) {
-    return
-      ((buf[0] & 0xff) << 24) |
-      ((buf[1] & 0xff) << 16) |
-      ((buf[2] & 0xff) <<  8) |
-      ((buf[3] & 0xff));
+    return ((buf[0] & 0xff) << 24)
+        | ((buf[1] & 0xff) << 16)
+        | ((buf[2] & 0xff) << 8)
+        | ((buf[3] & 0xff));
   }
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/layered/TLayeredTransport.java b/lib/java/src/main/java/org/apache/thrift/transport/layered/TLayeredTransport.java
index 69ec824..6e3d196 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/layered/TLayeredTransport.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/layered/TLayeredTransport.java
@@ -18,35 +18,33 @@
  */
 package org.apache.thrift.transport.layered;
 
+import java.util.Objects;
 import org.apache.thrift.TConfiguration;
 import org.apache.thrift.transport.TTransport;
 import org.apache.thrift.transport.TTransportException;
 
-import java.util.Objects;
+public abstract class TLayeredTransport extends TTransport {
 
-public abstract class TLayeredTransport extends TTransport{
+  private TTransport innerTransport;
 
-    private TTransport innerTransport;
+  public TConfiguration getConfiguration() {
+    return innerTransport.getConfiguration();
+  }
 
-    public TConfiguration getConfiguration() {
-        return innerTransport.getConfiguration();
-    }
+  public TLayeredTransport(TTransport transport) {
+    Objects.requireNonNull(transport, "TTransport cannot be null.");
+    innerTransport = transport;
+  }
 
-    public TLayeredTransport(TTransport transport)
-    {
-        Objects.requireNonNull(transport, "TTransport cannot be null.");
-        innerTransport = transport;
-    }
+  public void updateKnownMessageSize(long size) throws TTransportException {
+    innerTransport.updateKnownMessageSize(size);
+  }
 
-    public void updateKnownMessageSize(long size) throws TTransportException {
-        innerTransport.updateKnownMessageSize(size);
-    }
+  public void checkReadBytesAvailable(long numBytes) throws TTransportException {
+    innerTransport.checkReadBytesAvailable(numBytes);
+  }
 
-    public void checkReadBytesAvailable(long numBytes) throws TTransportException {
-        innerTransport.checkReadBytesAvailable(numBytes);
-    }
-
-    public TTransport getInnerTransport() {
-        return innerTransport;
-    }
+  public TTransport getInnerTransport() {
+    return innerTransport;
+  }
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/sasl/DataFrameHeaderReader.java b/lib/java/src/main/java/org/apache/thrift/transport/sasl/DataFrameHeaderReader.java
index 2900df9..399ccc6 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/sasl/DataFrameHeaderReader.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/sasl/DataFrameHeaderReader.java
@@ -19,9 +19,7 @@
 
 package org.apache.thrift.transport.sasl;
 
-/**
- * The header for data frame, it only contains a 4-byte payload size.
- */
+/** The header for data frame, it only contains a 4-byte payload size. */
 public class DataFrameHeaderReader extends FixedSizeHeaderReader {
   public static final int PAYLOAD_LENGTH_BYTES = 4;
 
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/sasl/DataFrameReader.java b/lib/java/src/main/java/org/apache/thrift/transport/sasl/DataFrameReader.java
index e6900bb..cd5c002 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/sasl/DataFrameReader.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/sasl/DataFrameReader.java
@@ -19,9 +19,7 @@
 
 package org.apache.thrift.transport.sasl;
 
-/**
- * Frames for thrift (serialized) messages.
- */
+/** Frames for thrift (serialized) messages. */
 public class DataFrameReader extends FrameReader<DataFrameHeaderReader> {
 
   public DataFrameReader() {
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/sasl/DataFrameWriter.java b/lib/java/src/main/java/org/apache/thrift/transport/sasl/DataFrameWriter.java
index a2dd15a..b79537d 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/sasl/DataFrameWriter.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/sasl/DataFrameWriter.java
@@ -19,34 +19,43 @@
 
 package org.apache.thrift.transport.sasl;
 
-import java.nio.ByteBuffer;
+import static org.apache.thrift.transport.sasl.DataFrameHeaderReader.PAYLOAD_LENGTH_BYTES;
 
+import java.nio.ByteBuffer;
 import org.apache.thrift.EncodingUtils;
 import org.apache.thrift.utils.StringUtils;
 
-import static org.apache.thrift.transport.sasl.DataFrameHeaderReader.PAYLOAD_LENGTH_BYTES;
-
 /**
- * Write frames of thrift messages. It expects an empty/null header to be provided with a payload
- * to be written out. Non empty headers are considered as error.
+ * Write frames of thrift messages. It expects an empty/null header to be provided with a payload to
+ * be written out. Non empty headers are considered as error.
  */
 public class DataFrameWriter extends FrameWriter {
 
   @Override
   public void withOnlyPayload(byte[] payload, int offset, int length) {
     if (!isComplete()) {
-      throw new IllegalStateException("Previsous write is not yet complete, with " +
-          frameBytes.remaining() + " bytes left.");
+      throw new IllegalStateException(
+          "Previsous write is not yet complete, with " + frameBytes.remaining() + " bytes left.");
     }
     frameBytes = buildFrameWithPayload(payload, offset, length);
   }
 
   @Override
-  protected ByteBuffer buildFrame(byte[] header, int headerOffset, int headerLength,
-                                  byte[] payload, int payloadOffset, int payloadLength) {
+  protected ByteBuffer buildFrame(
+      byte[] header,
+      int headerOffset,
+      int headerLength,
+      byte[] payload,
+      int payloadOffset,
+      int payloadLength) {
     if (header != null && headerLength > 0) {
-      throw new IllegalArgumentException("Extra header [" + StringUtils.bytesToHexString(header) +
-          "] offset " + payloadOffset + " length " + payloadLength);
+      throw new IllegalArgumentException(
+          "Extra header ["
+              + StringUtils.bytesToHexString(header)
+              + "] offset "
+              + payloadOffset
+              + " length "
+              + payloadLength);
     }
     return buildFrameWithPayload(payload, payloadOffset, payloadLength);
   }
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/sasl/FixedSizeHeaderReader.java b/lib/java/src/main/java/org/apache/thrift/transport/sasl/FixedSizeHeaderReader.java
index 1cbc0ac..4f90faf 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/sasl/FixedSizeHeaderReader.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/sasl/FixedSizeHeaderReader.java
@@ -19,15 +19,12 @@
 
 package org.apache.thrift.transport.sasl;
 
+import java.nio.ByteBuffer;
 import org.apache.thrift.transport.TTransport;
 import org.apache.thrift.transport.TTransportException;
 import org.apache.thrift.utils.StringUtils;
 
-import java.nio.ByteBuffer;
-
-/**
- * Headers' size should be predefined.
- */
+/** Headers' size should be predefined. */
 public abstract class FixedSizeHeaderReader implements FrameHeaderReader {
 
   protected final ByteBuffer byteBuffer = ByteBuffer.allocate(headerSize());
@@ -45,7 +42,9 @@
   @Override
   public byte[] toBytes() {
     if (!isComplete()) {
-      throw new IllegalStateException("Header is not yet complete " + StringUtils.bytesToHexString(byteBuffer.array(), 0, byteBuffer.position()));
+      throw new IllegalStateException(
+          "Header is not yet complete "
+              + StringUtils.bytesToHexString(byteBuffer.array(), 0, byteBuffer.position()));
     }
     return byteBuffer.array();
   }
@@ -60,9 +59,7 @@
     return true;
   }
 
-  /**
-   * @return Size of the header.
-   */
+  /** @return Size of the header. */
   protected abstract int headerSize();
 
   /**
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/sasl/FrameHeaderReader.java b/lib/java/src/main/java/org/apache/thrift/transport/sasl/FrameHeaderReader.java
index f7c6593..d618346 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/sasl/FrameHeaderReader.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/sasl/FrameHeaderReader.java
@@ -36,20 +36,15 @@
   int payloadSize();
 
   /**
-   *
    * @return The received bytes for the header.
    * @throws IllegalStateException if isComplete returns false.
    */
   byte[] toBytes();
 
-  /**
-   * @return true if this header has all its fields set.
-   */
+  /** @return true if this header has all its fields set. */
   boolean isComplete();
 
-  /**
-   * Clear the header and make it available to read a new header.
-   */
+  /** Clear the header and make it available to read a new header. */
   void clear();
 
   /**
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/sasl/FrameReader.java b/lib/java/src/main/java/org/apache/thrift/transport/sasl/FrameReader.java
index acb4b73..1f5872c 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/sasl/FrameReader.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/sasl/FrameReader.java
@@ -19,16 +19,15 @@
 
 package org.apache.thrift.transport.sasl;
 
+import java.nio.ByteBuffer;
 import org.apache.thrift.transport.TEOFException;
 import org.apache.thrift.transport.TTransport;
 import org.apache.thrift.transport.TTransportException;
 
-import java.nio.ByteBuffer;
-
 /**
- * Read frames from a transport. Each frame has a header and a payload. A header will indicate
- * the size of the payload and other informations about how to decode payload.
- * Implementations should subclass it by providing a header reader implementation.
+ * Read frames from a transport. Each frame has a header and a payload. A header will indicate the
+ * size of the payload and other informations about how to decode payload. Implementations should
+ * subclass it by providing a header reader implementation.
  *
  * @param <T> Header type.
  */
@@ -70,7 +69,8 @@
    * @throws TSaslNegotiationException if fail to read back a validd sasl negotiation header.
    * @throws TTransportException if io error.
    */
-  private boolean readHeader(TTransport transport) throws TSaslNegotiationException, TTransportException {
+  private boolean readHeader(TTransport transport)
+      throws TSaslNegotiationException, TTransportException {
     return header.read(transport);
   }
 
@@ -86,49 +86,32 @@
     return payload.hasRemaining();
   }
 
-  /**
-   *
-   * @return header of the frame
-   */
+  /** @return header of the frame */
   public T getHeader() {
     return header;
   }
 
-  /**
-   *
-   * @return number of bytes of the header
-   */
+  /** @return number of bytes of the header */
   public int getHeaderSize() {
     return header.toBytes().length;
   }
 
-  /**
-   *
-   * @return byte array of the payload
-   */
+  /** @return byte array of the payload */
   public byte[] getPayload() {
     return payload.array();
   }
 
-  /**
-   *
-   * @return size of the payload
-   */
+  /** @return size of the payload */
   public int getPayloadSize() {
     return header.payloadSize();
   }
 
-  /**
-   *
-   * @return true if the reader has fully read a frame
-   */
+  /** @return true if the reader has fully read a frame */
   public boolean isComplete() {
     return !(payload == null || payload.hasRemaining());
   }
 
-  /**
-   * Reset the state of the reader so that it can be reused to read a new frame.
-   */
+  /** Reset the state of the reader so that it can be reused to read a new frame. */
   public void clear() {
     header.clear();
     payload = null;
@@ -144,8 +127,8 @@
    */
   static int readAvailable(TTransport transport, ByteBuffer recipient) throws TTransportException {
     if (!recipient.hasRemaining()) {
-      throw new IllegalStateException("Trying to fill a full recipient with " + recipient.limit()
-          + " bytes");
+      throw new IllegalStateException(
+          "Trying to fill a full recipient with " + recipient.limit() + " bytes");
     }
     int currentPosition = recipient.position();
     byte[] bytes = recipient.array();
@@ -153,8 +136,8 @@
     int expectedLength = recipient.remaining();
     int got = transport.read(bytes, offset, expectedLength);
     if (got < 0) {
-      throw new TEOFException("Transport is closed, while trying to read " + expectedLength +
-          " bytes");
+      throw new TEOFException(
+          "Transport is closed, while trying to read " + expectedLength + " bytes");
     }
     recipient.position(currentPosition + got);
     return got;
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/sasl/FrameWriter.java b/lib/java/src/main/java/org/apache/thrift/transport/sasl/FrameWriter.java
index 4357f13..bae6d49 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/sasl/FrameWriter.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/sasl/FrameWriter.java
@@ -19,15 +19,11 @@
 
 package org.apache.thrift.transport.sasl;
 
-import java.io.IOException;
 import java.nio.ByteBuffer;
-
 import org.apache.thrift.transport.TNonblockingTransport;
 import org.apache.thrift.transport.TTransportException;
 
-/**
- * Write frame (header and payload) to transport in a nonblocking way.
- */
+/** Write frame (header and payload) to transport in a nonblocking way. */
 public abstract class FrameWriter {
 
   protected ByteBuffer frameBytes;
@@ -37,7 +33,7 @@
    * returns true (last frame has been written out).
    *
    * @param header Some extra header bytes (without the 4 bytes for payload length), which will be
-   *               the start of the frame. It can be empty, depending on the message format
+   *     the start of the frame. It can be empty, depending on the message format
    * @param payload Payload as a byte array
    * @throws IllegalStateException if it is called when isComplete returns false
    * @throws IllegalArgumentException if header or payload is invalid
@@ -65,18 +61,24 @@
    * @throws IllegalStateException if preivous frame is not yet complete (isComplete returns fals)
    * @throws IllegalArgumentException if header or payload is invalid
    */
-  public void withHeaderAndPayload(byte[] header, int headerOffset, int headerLength,
-                                   byte[] payload, int payloadOffset, int payloadLength) {
+  public void withHeaderAndPayload(
+      byte[] header,
+      int headerOffset,
+      int headerLength,
+      byte[] payload,
+      int payloadOffset,
+      int payloadLength) {
     if (!isComplete()) {
-      throw new IllegalStateException("Previsous write is not yet complete, with " +
-          frameBytes.remaining() + " bytes left.");
+      throw new IllegalStateException(
+          "Previsous write is not yet complete, with " + frameBytes.remaining() + " bytes left.");
     }
-    frameBytes = buildFrame(header, headerOffset, headerLength, payload, payloadOffset, payloadLength);
+    frameBytes =
+        buildFrame(header, headerOffset, headerLength, payload, payloadOffset, payloadLength);
   }
 
   /**
-   * Provide only payload to the frame. Throws UnsupportedOperationException if the frame expects
-   * a header.
+   * Provide only payload to the frame. Throws UnsupportedOperationException if the frame expects a
+   * header.
    *
    * @param payload payload as a byte array
    */
@@ -85,8 +87,8 @@
   }
 
   /**
-   * Provide only payload to the frame. Throws UnsupportedOperationException if the frame expects
-   * a header.
+   * Provide only payload to the frame. Throws UnsupportedOperationException if the frame expects a
+   * header.
    *
    * @param payload The underlying byte array as a recipient of the payload
    * @param offset The offset in the byte array starting from where the payload is located
@@ -94,8 +96,13 @@
    */
   public abstract void withOnlyPayload(byte[] payload, int offset, int length);
 
-  protected abstract ByteBuffer buildFrame(byte[] header, int headerOffset, int headerLength,
-                                           byte[] payload, int payloadOffset, int payloadLength);
+  protected abstract ByteBuffer buildFrame(
+      byte[] header,
+      int headerOffset,
+      int headerLength,
+      byte[] payload,
+      int payloadOffset,
+      int payloadLength);
 
   /**
    * Nonblocking write to the underlying transport.
@@ -106,17 +113,12 @@
     transport.write(frameBytes);
   }
 
-  /**
-   *
-   * @return true when no more data needs to be written out
-   */
+  /** @return true when no more data needs to be written out */
   public boolean isComplete() {
     return frameBytes == null || !frameBytes.hasRemaining();
   }
 
-  /**
-   * Release the byte buffer.
-   */
+  /** Release the byte buffer. */
   public void clear() {
     frameBytes = null;
   }
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/sasl/NegotiationStatus.java b/lib/java/src/main/java/org/apache/thrift/transport/sasl/NegotiationStatus.java
index ad704a0..9b0ddcb 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/sasl/NegotiationStatus.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/sasl/NegotiationStatus.java
@@ -19,20 +19,18 @@
 
 package org.apache.thrift.transport.sasl;
 
+import static org.apache.thrift.transport.sasl.TSaslNegotiationException.ErrorType.PROTOCOL_ERROR;
+
 import java.util.HashMap;
 import java.util.Map;
 
-import static org.apache.thrift.transport.sasl.TSaslNegotiationException.ErrorType.PROTOCOL_ERROR;
-
-/**
- * Status bytes used during the initial Thrift SASL handshake.
- */
+/** Status bytes used during the initial Thrift SASL handshake. */
 public enum NegotiationStatus {
-  START((byte)0x01),
-  OK((byte)0x02),
-  BAD((byte)0x03),
-  ERROR((byte)0x04),
-  COMPLETE((byte)0x05);
+  START((byte) 0x01),
+  OK((byte) 0x02),
+  BAD((byte) 0x03),
+  ERROR((byte) 0x04),
+  COMPLETE((byte) 0x05);
 
   private static final Map<Byte, NegotiationStatus> reverseMap = new HashMap<>();
 
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/sasl/NonblockingSaslHandler.java b/lib/java/src/main/java/org/apache/thrift/transport/sasl/NonblockingSaslHandler.java
index d73c3ec..2557a42 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/sasl/NonblockingSaslHandler.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/sasl/NonblockingSaslHandler.java
@@ -19,11 +19,12 @@
 
 package org.apache.thrift.transport.sasl;
 
+import static org.apache.thrift.transport.sasl.NegotiationStatus.COMPLETE;
+import static org.apache.thrift.transport.sasl.NegotiationStatus.OK;
+
 import java.nio.channels.SelectionKey;
 import java.nio.charset.StandardCharsets;
-
 import javax.security.sasl.SaslServer;
-
 import org.apache.thrift.TByteArrayOutputStream;
 import org.apache.thrift.TProcessor;
 import org.apache.thrift.protocol.TProtocol;
@@ -37,12 +38,7 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import static org.apache.thrift.transport.sasl.NegotiationStatus.COMPLETE;
-import static org.apache.thrift.transport.sasl.NegotiationStatus.OK;
-
-/**
- * State machine managing one sasl connection in a nonblocking way.
- */
+/** State machine managing one sasl connection in a nonblocking way. */
 public class NonblockingSaslHandler {
   private static final Logger LOGGER = LoggerFactory.getLogger(NonblockingSaslHandler.class);
 
@@ -86,10 +82,14 @@
   // If sasl is negotiated for integrity/confidentiality protection
   private boolean dataProtected;
 
-  public NonblockingSaslHandler(SelectionKey selectionKey, TNonblockingTransport underlyingTransport,
-                                TSaslServerFactory saslServerFactory, TSaslProcessorFactory processorFactory,
-                                TProtocolFactory inputProtocolFactory, TProtocolFactory outputProtocolFactory,
-                                TServerEventHandler eventHandler) {
+  public NonblockingSaslHandler(
+      SelectionKey selectionKey,
+      TNonblockingTransport underlyingTransport,
+      TSaslServerFactory saslServerFactory,
+      TSaslProcessorFactory processorFactory,
+      TProtocolFactory inputProtocolFactory,
+      TProtocolFactory outputProtocolFactory,
+      TServerEventHandler eventHandler) {
     this.selectionKey = selectionKey;
     this.underlyingTransport = underlyingTransport;
     this.saslServerFactory = saslServerFactory;
@@ -114,8 +114,8 @@
   }
 
   /**
-   * Get next phase of the state machine.
-   * It is different from current phase iff current phase is done (and next phase not yet started).
+   * Get next phase of the state machine. It is different from current phase iff current phase is
+   * done (and next phase not yet started).
    *
    * @return next phase.
    */
@@ -123,26 +123,17 @@
     return nextPhase;
   }
 
-  /**
-   *
-   * @return underlying nonblocking socket
-   */
+  /** @return underlying nonblocking socket */
   public TNonblockingTransport getUnderlyingTransport() {
     return underlyingTransport;
   }
 
-  /**
-   *
-   * @return SaslServer instance
-   */
+  /** @return SaslServer instance */
   public SaslServer getSaslServer() {
     return saslPeer.getSaslServer();
   }
 
-  /**
-   *
-   * @return true if current phase is done.
-   */
+  /** @return true if current phase is done. */
   public boolean isCurrentPhaseDone() {
     return currentPhase != nextPhase;
   }
@@ -178,8 +169,8 @@
 
   private void handleOps(int interestOps) {
     if (currentPhase.selectionInterest != interestOps) {
-      throw new IllegalStateException("Current phase " + currentPhase + " but got interest " +
-          interestOps);
+      throw new IllegalStateException(
+          "Current phase " + currentPhase + " but got interest " + interestOps);
     }
     runCurrentPhase();
     if (isCurrentPhaseDone() && nextPhase.selectionInterest == interestOps) {
@@ -190,8 +181,8 @@
 
   /**
    * When current phase is finished, it's expected to call this method first before running the
-   * state machine again.
-   * By calling this, "next phase" is marked as started (and not done), thus is ready to run.
+   * state machine again. By calling this, "next phase" is marked as started (and not done), thus is
+   * ready to run.
    *
    * @throws IllegalArgumentException if current phase is not yet done.
    */
@@ -207,8 +198,8 @@
     }
     // If next phase's interest is not the same as current,  nor the same as the selection key,
     // we need to change interest on the selector.
-    if (!(nextPhase.selectionInterest == currentPhase.selectionInterest ||
-        nextPhase.selectionInterest == selectionKey.interestOps())) {
+    if (!(nextPhase.selectionInterest == currentPhase.selectionInterest
+        || nextPhase.selectionInterest == selectionKey.interestOps())) {
       changeSelectionInterest(nextPhase.selectionInterest);
     }
     currentPhase = nextPhase;
@@ -222,8 +213,8 @@
   private void failSaslNegotiation(TSaslNegotiationException e) {
     LOGGER.error("Sasl negotiation failed", e);
     String errorMsg = e.getDetails();
-    saslChallenge.withHeaderAndPayload(new byte[]{e.getErrorType().code.getValue()},
-        errorMsg.getBytes(StandardCharsets.UTF_8));
+    saslChallenge.withHeaderAndPayload(
+        new byte[] {e.getErrorType().code.getValue()}, errorMsg.getBytes(StandardCharsets.UTF_8));
     nextPhase = Phase.WRITING_FAILURE_MESSAGE;
   }
 
@@ -233,10 +224,8 @@
   }
 
   private void failIO(TTransportException e) {
-    StringBuilder errorMsg = new StringBuilder("IO failure ")
-        .append(e.getType())
-        .append(" in ")
-        .append(currentPhase);
+    StringBuilder errorMsg =
+        new StringBuilder("IO failure ").append(e.getType()).append(" in ").append(currentPhase);
     if (e.getMessage() != null) {
       errorMsg.append(": ").append(e.getMessage());
     }
@@ -252,7 +241,8 @@
       if (saslResponse.isComplete()) {
         SaslNegotiationHeaderReader startHeader = saslResponse.getHeader();
         if (startHeader.getStatus() != NegotiationStatus.START) {
-          throw new TInvalidSaslFrameException("Expecting START status but got " + startHeader.getStatus());
+          throw new TInvalidSaslFrameException(
+              "Expecting START status but got " + startHeader.getStatus());
         }
         String mechanism = new String(saslResponse.getPayload(), StandardCharsets.UTF_8);
         saslPeer = saslServerFactory.getSaslPeer(mechanism);
@@ -293,8 +283,10 @@
   // Computation executions
 
   private void executeEvaluatingSaslResponse() {
-    if (!(saslResponse.getHeader().getStatus() == OK || saslResponse.getHeader().getStatus() == COMPLETE)) {
-      String error = "Expect status OK or COMPLETE, but got " + saslResponse.getHeader().getStatus();
+    if (!(saslResponse.getHeader().getStatus() == OK
+        || saslResponse.getHeader().getStatus() == COMPLETE)) {
+      String error =
+          "Expect status OK or COMPLETE, but got " + saslResponse.getHeader().getStatus();
       failSaslNegotiation(new TSaslNegotiationException(ErrorType.PROTOCOL_ERROR, error));
       return;
     }
@@ -304,10 +296,10 @@
       byte[] newChallenge = saslPeer.evaluate(response);
       if (saslPeer.isAuthenticated()) {
         dataProtected = saslPeer.isDataProtected();
-        saslChallenge.withHeaderAndPayload(new byte[]{COMPLETE.getValue()}, newChallenge);
+        saslChallenge.withHeaderAndPayload(new byte[] {COMPLETE.getValue()}, newChallenge);
         nextPhase = Phase.WRITING_SUCCESS_MESSAGE;
       } else {
-        saslChallenge.withHeaderAndPayload(new byte[]{OK.getValue()}, newChallenge);
+        saslChallenge.withHeaderAndPayload(new byte[] {OK.getValue()}, newChallenge);
         nextPhase = Phase.WRITING_SASL_CHALLENGE;
       }
     } catch (TSaslNegotiationException e) {
@@ -344,7 +336,7 @@
         byte[] outputPayload = saslPeer.wrap(rawOutput.get(), 0, rawOutput.len());
         responseWriter.withOnlyPayload(outputPayload);
       } else {
-        responseWriter.withOnlyPayload(rawOutput.get(), 0 ,rawOutput.len());
+        responseWriter.withOnlyPayload(rawOutput.get(), 0, rawOutput.len());
       }
       nextPhase = Phase.WRITING_RESPONSE;
     } catch (TTransportException e) {
@@ -406,8 +398,9 @@
   }
 
   /**
-   * Release all the resources managed by this state machine (connection, selection and sasl server).
-   * To avoid being blocked, this should be invoked in the network thread that manages the selector.
+   * Release all the resources managed by this state machine (connection, selection and sasl
+   * server). To avoid being blocked, this should be invoked in the network thread that manages the
+   * selector.
    */
   public void close() {
     underlyingTransport.close();
@@ -416,7 +409,8 @@
       saslPeer.dispose();
     }
     if (serverContextCreated) {
-      eventHandler.deleteContext(serverContext,
+      eventHandler.deleteContext(
+          serverContext,
           inputProtocolFactory.getProtocol(underlyingTransport),
           outputProtocolFactory.getProtocol(underlyingTransport));
     }
@@ -491,8 +485,7 @@
       void unsafeRun(NonblockingSaslHandler statemachine) {
         // Do nothing.
       }
-    }
-    ;
+    };
 
     // The interest on the selection key during the phase
     private int selectionInterest;
@@ -511,8 +504,8 @@
      */
     void runStateMachine(NonblockingSaslHandler statemachine) {
       if (statemachine.currentPhase != this) {
-        throw new IllegalArgumentException("State machine is " + statemachine.currentPhase +
-            " but is expected to be " + this);
+        throw new IllegalArgumentException(
+            "State machine is " + statemachine.currentPhase + " but is expected to be " + this);
       }
       if (statemachine.isCurrentPhaseDone()) {
         throw new IllegalStateException("State machine should step into " + statemachine.nextPhase);
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/sasl/SaslNegotiationFrameReader.java b/lib/java/src/main/java/org/apache/thrift/transport/sasl/SaslNegotiationFrameReader.java
index 01c1728..ede2177 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/sasl/SaslNegotiationFrameReader.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/sasl/SaslNegotiationFrameReader.java
@@ -19,9 +19,7 @@
 
 package org.apache.thrift.transport.sasl;
 
-/**
- * Read frames for sasl negotiatiions.
- */
+/** Read frames for sasl negotiatiions. */
 public class SaslNegotiationFrameReader extends FrameReader<SaslNegotiationHeaderReader> {
 
   public SaslNegotiationFrameReader() {
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/sasl/SaslNegotiationFrameWriter.java b/lib/java/src/main/java/org/apache/thrift/transport/sasl/SaslNegotiationFrameWriter.java
index 1e9ad15..186d6d0 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/sasl/SaslNegotiationFrameWriter.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/sasl/SaslNegotiationFrameWriter.java
@@ -19,14 +19,13 @@
 
 package org.apache.thrift.transport.sasl;
 
-import java.nio.ByteBuffer;
-
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.utils.StringUtils;
-
 import static org.apache.thrift.transport.sasl.SaslNegotiationHeaderReader.PAYLOAD_LENGTH_BYTES;
 import static org.apache.thrift.transport.sasl.SaslNegotiationHeaderReader.STATUS_BYTES;
 
+import java.nio.ByteBuffer;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.utils.StringUtils;
+
 /**
  * Writer for sasl negotiation frames. It expect a status byte as header with a payload to be
  * written out (any header whose size is not equal to 1 would be considered as error).
@@ -41,11 +40,19 @@
   }
 
   @Override
-  protected ByteBuffer buildFrame(byte[] header, int headerOffset, int headerLength,
-                                  byte[] payload, int payloadOffset, int payloadLength) {
+  protected ByteBuffer buildFrame(
+      byte[] header,
+      int headerOffset,
+      int headerLength,
+      byte[] payload,
+      int payloadOffset,
+      int payloadLength) {
     if (header == null || headerLength != STATUS_BYTES) {
-      throw new IllegalArgumentException("Header " + StringUtils.bytesToHexString(header) +
-          " does not have expected length " + STATUS_BYTES);
+      throw new IllegalArgumentException(
+          "Header "
+              + StringUtils.bytesToHexString(header)
+              + " does not have expected length "
+              + STATUS_BYTES);
     }
     byte[] bytes = new byte[HEADER_BYTES + payloadLength];
     System.arraycopy(header, headerOffset, bytes, 0, STATUS_BYTES);
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/sasl/SaslNegotiationHeaderReader.java b/lib/java/src/main/java/org/apache/thrift/transport/sasl/SaslNegotiationHeaderReader.java
index 2d76ddb..5547585 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/sasl/SaslNegotiationHeaderReader.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/sasl/SaslNegotiationHeaderReader.java
@@ -42,7 +42,8 @@
     negotiationStatus = NegotiationStatus.byValue(byteBuffer.get(0));
     payloadSize = byteBuffer.getInt(1);
     if (payloadSize < 0) {
-      throw new TSaslNegotiationException(PROTOCOL_ERROR, "Payload size is negative: " + payloadSize);
+      throw new TSaslNegotiationException(
+          PROTOCOL_ERROR, "Payload size is negative: " + payloadSize);
     }
   }
 
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/sasl/SaslPeer.java b/lib/java/src/main/java/org/apache/thrift/transport/sasl/SaslPeer.java
index 8f81380..9a9e733 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/sasl/SaslPeer.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/sasl/SaslPeer.java
@@ -21,9 +21,7 @@
 
 import org.apache.thrift.transport.TTransportException;
 
-/**
- * A peer in a sasl negotiation.
- */
+/** A peer in a sasl negotiation. */
 public interface SaslPeer {
 
   /**
@@ -35,9 +33,7 @@
    */
   byte[] evaluate(byte[] negotiationMessage) throws TSaslNegotiationException;
 
-  /**
-   * @return true if authentication is done.
-   */
+  /** @return true if authentication is done. */
   boolean isAuthenticated();
 
   /**
@@ -93,8 +89,6 @@
     return unwrap(data, 0, data.length);
   }
 
-  /**
-   * Close this peer and release resources.
-   */
+  /** Close this peer and release resources. */
   void dispose();
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/sasl/ServerSaslPeer.java b/lib/java/src/main/java/org/apache/thrift/transport/sasl/ServerSaslPeer.java
index 31992e5..0264531 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/sasl/ServerSaslPeer.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/sasl/ServerSaslPeer.java
@@ -19,19 +19,16 @@
 
 package org.apache.thrift.transport.sasl;
 
+import static org.apache.thrift.transport.sasl.TSaslNegotiationException.ErrorType.AUTHENTICATION_FAILURE;
+
 import javax.security.sasl.Sasl;
 import javax.security.sasl.SaslException;
 import javax.security.sasl.SaslServer;
-
 import org.apache.thrift.transport.TTransportException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import static org.apache.thrift.transport.sasl.TSaslNegotiationException.ErrorType.AUTHENTICATION_FAILURE;
-
-/**
- * Server side sasl peer, a wrapper around SaslServer to provide some handy methods.
- */
+/** Server side sasl peer, a wrapper around SaslServer to provide some handy methods. */
 public class ServerSaslPeer implements SaslPeer {
   private static final Logger LOGGER = LoggerFactory.getLogger(ServerSaslPeer.class);
 
@@ -49,8 +46,8 @@
     try {
       return saslServer.evaluateResponse(negotiationMessage);
     } catch (SaslException e) {
-      throw new TSaslNegotiationException(AUTHENTICATION_FAILURE,
-          "Authentication failed with " + saslServer.getMechanismName(), e);
+      throw new TSaslNegotiationException(
+          AUTHENTICATION_FAILURE, "Authentication failed with " + saslServer.getMechanismName(), e);
     }
   }
 
@@ -104,5 +101,4 @@
   SaslServer getSaslServer() {
     return saslServer;
   }
-
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/sasl/TInvalidSaslFrameException.java b/lib/java/src/main/java/org/apache/thrift/transport/sasl/TInvalidSaslFrameException.java
index ff57ea5..3ec8816 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/sasl/TInvalidSaslFrameException.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/sasl/TInvalidSaslFrameException.java
@@ -19,9 +19,7 @@
 
 package org.apache.thrift.transport.sasl;
 
-/**
- * Got an invalid frame that does not respect the thrift sasl protocol.
- */
+/** Got an invalid frame that does not respect the thrift sasl protocol. */
 public class TInvalidSaslFrameException extends TSaslNegotiationException {
 
   public TInvalidSaslFrameException(String message) {
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/sasl/TSaslNegotiationException.java b/lib/java/src/main/java/org/apache/thrift/transport/sasl/TSaslNegotiationException.java
index 9b1fa06..15c597e 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/sasl/TSaslNegotiationException.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/sasl/TSaslNegotiationException.java
@@ -21,9 +21,7 @@
 
 import org.apache.thrift.transport.TTransportException;
 
-/**
- * Exception for sasl negotiation errors.
- */
+/** Exception for sasl negotiation errors. */
 public class TSaslNegotiationException extends TTransportException {
 
   private final ErrorType error;
@@ -42,18 +40,16 @@
     return error;
   }
 
-  /**
-   * @return Errory type plus the message.
-   */
+  /** @return Errory type plus the message. */
   public String getSummary() {
     return error.name() + ": " + getMessage();
   }
 
-  /**
-   * @return Summary and eventually the cause's message.
-   */
+  /** @return Summary and eventually the cause's message. */
   public String getDetails() {
-    return getCause() == null ? getSummary() : getSummary() + "\nReason: " + getCause().getMessage();
+    return getCause() == null
+        ? getSummary()
+        : getSummary() + "\nReason: " + getCause().getMessage();
   }
 
   public enum ErrorType {
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/sasl/TSaslServerDefinition.java b/lib/java/src/main/java/org/apache/thrift/transport/sasl/TSaslServerDefinition.java
index 5486641..6e8d9ef 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/sasl/TSaslServerDefinition.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/sasl/TSaslServerDefinition.java
@@ -19,12 +19,10 @@
 
 package org.apache.thrift.transport.sasl;
 
-import javax.security.auth.callback.CallbackHandler;
 import java.util.Map;
+import javax.security.auth.callback.CallbackHandler;
 
-/**
- * Contains all the parameters used to define a SASL server implementation.
- */
+/** Contains all the parameters used to define a SASL server implementation. */
 public class TSaslServerDefinition {
   public final String mechanism;
   public final String protocol;
@@ -32,8 +30,12 @@
   public final Map<String, String> props;
   public final CallbackHandler cbh;
 
-  public TSaslServerDefinition(String mechanism, String protocol, String serverName,
-                               Map<String, String> props, CallbackHandler cbh) {
+  public TSaslServerDefinition(
+      String mechanism,
+      String protocol,
+      String serverName,
+      Map<String, String> props,
+      CallbackHandler cbh) {
     this.mechanism = mechanism;
     this.protocol = protocol;
     this.serverName = serverName;
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/sasl/TSaslServerFactory.java b/lib/java/src/main/java/org/apache/thrift/transport/sasl/TSaslServerFactory.java
index 06cf534..ab0e245 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/sasl/TSaslServerFactory.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/sasl/TSaslServerFactory.java
@@ -19,17 +19,16 @@
 
 package org.apache.thrift.transport.sasl;
 
+import static org.apache.thrift.transport.sasl.TSaslNegotiationException.ErrorType.MECHANISME_MISMATCH;
+import static org.apache.thrift.transport.sasl.TSaslNegotiationException.ErrorType.PROTOCOL_ERROR;
+
 import java.util.HashMap;
 import java.util.Map;
-
 import javax.security.auth.callback.CallbackHandler;
 import javax.security.sasl.Sasl;
 import javax.security.sasl.SaslException;
 import javax.security.sasl.SaslServer;
 
-import static org.apache.thrift.transport.sasl.TSaslNegotiationException.ErrorType.MECHANISME_MISMATCH;
-import static org.apache.thrift.transport.sasl.TSaslNegotiationException.ErrorType.PROTOCOL_ERROR;
-
 /**
  * Factory to create sasl server. Users can extend this class to customize the SaslServer creation.
  */
@@ -41,24 +40,31 @@
     this.saslMechanisms = new HashMap<>();
   }
 
-  public void addSaslMechanism(String mechanism, String protocol, String serverName,
-                               Map<String, String> props, CallbackHandler cbh) {
-    TSaslServerDefinition definition = new TSaslServerDefinition(mechanism, protocol, serverName,
-        props, cbh);
+  public void addSaslMechanism(
+      String mechanism,
+      String protocol,
+      String serverName,
+      Map<String, String> props,
+      CallbackHandler cbh) {
+    TSaslServerDefinition definition =
+        new TSaslServerDefinition(mechanism, protocol, serverName, props, cbh);
     saslMechanisms.put(definition.mechanism, definition);
   }
 
   public ServerSaslPeer getSaslPeer(String mechanism) throws TSaslNegotiationException {
     if (!saslMechanisms.containsKey(mechanism)) {
-      throw new TSaslNegotiationException(MECHANISME_MISMATCH, "Unsupported mechanism " + mechanism);
+      throw new TSaslNegotiationException(
+          MECHANISME_MISMATCH, "Unsupported mechanism " + mechanism);
     }
     TSaslServerDefinition saslDef = saslMechanisms.get(mechanism);
     try {
-      SaslServer saslServer = Sasl.createSaslServer(saslDef.mechanism, saslDef.protocol,
-          saslDef.serverName, saslDef.props, saslDef.cbh);
+      SaslServer saslServer =
+          Sasl.createSaslServer(
+              saslDef.mechanism, saslDef.protocol, saslDef.serverName, saslDef.props, saslDef.cbh);
       return new ServerSaslPeer(saslServer);
     } catch (SaslException e) {
-      throw new TSaslNegotiationException(PROTOCOL_ERROR, "Fail to create sasl server " + mechanism, e);
+      throw new TSaslNegotiationException(
+          PROTOCOL_ERROR, "Fail to create sasl server " + mechanism, e);
     }
   }
 }
diff --git a/lib/java/src/main/java/org/apache/thrift/utils/StringUtils.java b/lib/java/src/main/java/org/apache/thrift/utils/StringUtils.java
index b54388a..6cb5070 100644
--- a/lib/java/src/main/java/org/apache/thrift/utils/StringUtils.java
+++ b/lib/java/src/main/java/org/apache/thrift/utils/StringUtils.java
@@ -25,7 +25,9 @@
     // Utility class.
   }
 
-  private static final char[] HEX_CHARS = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
+  private static final char[] HEX_CHARS = {
+    '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'
+  };
 
   /**
    * Stringify a byte array to the hex representation for each byte.
@@ -56,7 +58,13 @@
       throw new IndexOutOfBoundsException("Negative start offset " + offset);
     }
     if (length > bytes.length - offset) {
-      throw new IndexOutOfBoundsException("Invalid range, bytes.length: " + bytes.length + " offset: " + offset + " length: " + length);
+      throw new IndexOutOfBoundsException(
+          "Invalid range, bytes.length: "
+              + bytes.length
+              + " offset: "
+              + offset
+              + " length: "
+              + length);
     }
     char[] chars = new char[length * 2];
     for (int i = 0; i < length; i++) {
diff --git a/lib/java/src/test/java/org/apache/thrift/Fixtures.java b/lib/java/src/test/java/org/apache/thrift/Fixtures.java
index a8b0518..eace853 100644
--- a/lib/java/src/test/java/org/apache/thrift/Fixtures.java
+++ b/lib/java/src/test/java/org/apache/thrift/Fixtures.java
@@ -25,7 +25,6 @@
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
-
 import thrift.test.Bonk;
 import thrift.test.CompactProtoTestStruct;
 import thrift.test.HolyMoley;
@@ -70,221 +69,1064 @@
   // These byte arrays are serialized versions of the above structs.
   // They were serialized in binary protocol using thrift 0.6.x and are used to
   // test backwards compatibility with respect to the standard scheme.
-  private static final byte[] persistentBytesOneOfEach = new byte[] { (byte) 0x02, (byte) 0x00,
-    (byte) 0x01, (byte) 0x01, (byte) 0x02, (byte) 0x00, (byte) 0x02,
-    (byte) 0x00, (byte) 0x03, (byte) 0x00, (byte) 0x03, (byte) 0xD6,
-    (byte) 0x06, (byte) 0x00, (byte) 0x04, (byte) 0x69, (byte) 0x78,
-    (byte) 0x08, (byte) 0x00, (byte) 0x05, (byte) 0x01, (byte) 0x00,
-    (byte) 0x00, (byte) 0x00, (byte) 0x0A, (byte) 0x00, (byte) 0x06,
-    (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x01, (byte) 0x65,
-    (byte) 0xA0, (byte) 0xBC, (byte) 0x00, (byte) 0x04, (byte) 0x00,
-    (byte) 0x07, (byte) 0x40, (byte) 0x09, (byte) 0x21, (byte) 0xFB,
-    (byte) 0x54, (byte) 0x44, (byte) 0x2D, (byte) 0x18, (byte) 0x0B,
-    (byte) 0x00, (byte) 0x08, (byte) 0x00, (byte) 0x00, (byte) 0x00,
-    (byte) 0x0D, (byte) 0x4A, (byte) 0x53, (byte) 0x4F, (byte) 0x4E,
-    (byte) 0x20, (byte) 0x54, (byte) 0x48, (byte) 0x49, (byte) 0x53,
-    (byte) 0x21, (byte) 0x20, (byte) 0x22, (byte) 0x01, (byte) 0x0B,
-    (byte) 0x00, (byte) 0x09, (byte) 0x00, (byte) 0x00, (byte) 0x00,
-    (byte) 0x2E, (byte) 0xD3, (byte) 0x80, (byte) 0xE2, (byte) 0x85,
-    (byte) 0xAE, (byte) 0xCE, (byte) 0x9D, (byte) 0x20, (byte) 0xD0,
-    (byte) 0x9D, (byte) 0xCE, (byte) 0xBF, (byte) 0xE2, (byte) 0x85,
-    (byte) 0xBF, (byte) 0xD0, (byte) 0xBE, (byte) 0xC9, (byte) 0xA1,
-    (byte) 0xD0, (byte) 0xB3, (byte) 0xD0, (byte) 0xB0, (byte) 0xCF,
-    (byte) 0x81, (byte) 0xE2, (byte) 0x84, (byte) 0x8E, (byte) 0x20,
-    (byte) 0xCE, (byte) 0x91, (byte) 0x74, (byte) 0x74, (byte) 0xCE,
-    (byte) 0xB1, (byte) 0xE2, (byte) 0x85, (byte) 0xBD, (byte) 0xCE,
-    (byte) 0xBA, (byte) 0xEF, (byte) 0xBF, (byte) 0xBD, (byte) 0xE2,
-    (byte) 0x80, (byte) 0xBC, (byte) 0x02, (byte) 0x00, (byte) 0x0A,
-    (byte) 0x00, (byte) 0x0B, (byte) 0x00, (byte) 0x0B, (byte) 0x00,
-    (byte) 0x00, (byte) 0x00, (byte) 0x06, (byte) 0x62, (byte) 0x61,
-    (byte) 0x73, (byte) 0x65, (byte) 0x36, (byte) 0x34, (byte) 0x0F,
-    (byte) 0x00, (byte) 0x0C, (byte) 0x03, (byte) 0x00, (byte) 0x00,
-    (byte) 0x00, (byte) 0x03, (byte) 0x01, (byte) 0x02, (byte) 0x03,
-    (byte) 0x0F, (byte) 0x00, (byte) 0x0D, (byte) 0x06, (byte) 0x00,
-    (byte) 0x00, (byte) 0x00, (byte) 0x03, (byte) 0x00, (byte) 0x01,
-    (byte) 0x00, (byte) 0x02, (byte) 0x00, (byte) 0x03, (byte) 0x0F,
-    (byte) 0x00, (byte) 0x0E, (byte) 0x0A, (byte) 0x00, (byte) 0x00,
-    (byte) 0x00, (byte) 0x03, (byte) 0x00, (byte) 0x00, (byte) 0x00,
-    (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x01,
-    (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00,
-    (byte) 0x00, (byte) 0x00, (byte) 0x02, (byte) 0x00, (byte) 0x00,
-    (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00,
-    (byte) 0x03, (byte) 0x00 };
-  private static final byte[] persistentBytesNesting = new byte[] { (byte) 0x0C, (byte) 0x00,
-    (byte) 0x01, (byte) 0x08, (byte) 0x00, (byte) 0x01, (byte) 0x00,
-    (byte) 0x00, (byte) 0x7A, (byte) 0x69, (byte) 0x0B, (byte) 0x00,
-    (byte) 0x02, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x13,
-    (byte) 0x49, (byte) 0x20, (byte) 0x61, (byte) 0x6D, (byte) 0x20,
-    (byte) 0x61, (byte) 0x20, (byte) 0x62, (byte) 0x6F, (byte) 0x6E,
-    (byte) 0x6B, (byte) 0x2E, (byte) 0x2E, (byte) 0x2E, (byte) 0x20,
-    (byte) 0x78, (byte) 0x6F, (byte) 0x72, (byte) 0x21, (byte) 0x00,
-    (byte) 0x0C, (byte) 0x00, (byte) 0x02, (byte) 0x02, (byte) 0x00,
-    (byte) 0x01, (byte) 0x01, (byte) 0x02, (byte) 0x00, (byte) 0x02,
-    (byte) 0x00, (byte) 0x03, (byte) 0x00, (byte) 0x03, (byte) 0xD6,
-    (byte) 0x06, (byte) 0x00, (byte) 0x04, (byte) 0x69, (byte) 0x78,
-    (byte) 0x08, (byte) 0x00, (byte) 0x05, (byte) 0x01, (byte) 0x00,
-    (byte) 0x00, (byte) 0x00, (byte) 0x0A, (byte) 0x00, (byte) 0x06,
-    (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x01, (byte) 0x65,
-    (byte) 0xA0, (byte) 0xBC, (byte) 0x00, (byte) 0x04, (byte) 0x00,
-    (byte) 0x07, (byte) 0x40, (byte) 0x09, (byte) 0x21, (byte) 0xFB,
-    (byte) 0x54, (byte) 0x44, (byte) 0x2D, (byte) 0x18, (byte) 0x0B,
-    (byte) 0x00, (byte) 0x08, (byte) 0x00, (byte) 0x00, (byte) 0x00,
-    (byte) 0x0D, (byte) 0x4A, (byte) 0x53, (byte) 0x4F, (byte) 0x4E,
-    (byte) 0x20, (byte) 0x54, (byte) 0x48, (byte) 0x49, (byte) 0x53,
-    (byte) 0x21, (byte) 0x20, (byte) 0x22, (byte) 0x01, (byte) 0x0B,
-    (byte) 0x00, (byte) 0x09, (byte) 0x00, (byte) 0x00, (byte) 0x00,
-    (byte) 0x2E, (byte) 0xD3, (byte) 0x80, (byte) 0xE2, (byte) 0x85,
-    (byte) 0xAE, (byte) 0xCE, (byte) 0x9D, (byte) 0x20, (byte) 0xD0,
-    (byte) 0x9D, (byte) 0xCE, (byte) 0xBF, (byte) 0xE2, (byte) 0x85,
-    (byte) 0xBF, (byte) 0xD0, (byte) 0xBE, (byte) 0xC9, (byte) 0xA1,
-    (byte) 0xD0, (byte) 0xB3, (byte) 0xD0, (byte) 0xB0, (byte) 0xCF,
-    (byte) 0x81, (byte) 0xE2, (byte) 0x84, (byte) 0x8E, (byte) 0x20,
-    (byte) 0xCE, (byte) 0x91, (byte) 0x74, (byte) 0x74, (byte) 0xCE,
-    (byte) 0xB1, (byte) 0xE2, (byte) 0x85, (byte) 0xBD, (byte) 0xCE,
-    (byte) 0xBA, (byte) 0xEF, (byte) 0xBF, (byte) 0xBD, (byte) 0xE2,
-    (byte) 0x80, (byte) 0xBC, (byte) 0x02, (byte) 0x00, (byte) 0x0A,
-    (byte) 0x00, (byte) 0x0B, (byte) 0x00, (byte) 0x0B, (byte) 0x00,
-    (byte) 0x00, (byte) 0x00, (byte) 0x06, (byte) 0x62, (byte) 0x61,
-    (byte) 0x73, (byte) 0x65, (byte) 0x36, (byte) 0x34, (byte) 0x0F,
-    (byte) 0x00, (byte) 0x0C, (byte) 0x03, (byte) 0x00, (byte) 0x00,
-    (byte) 0x00, (byte) 0x03, (byte) 0x01, (byte) 0x02, (byte) 0x03,
-    (byte) 0x0F, (byte) 0x00, (byte) 0x0D, (byte) 0x06, (byte) 0x00,
-    (byte) 0x00, (byte) 0x00, (byte) 0x03, (byte) 0x00, (byte) 0x01,
-    (byte) 0x00, (byte) 0x02, (byte) 0x00, (byte) 0x03, (byte) 0x0F,
-    (byte) 0x00, (byte) 0x0E, (byte) 0x0A, (byte) 0x00, (byte) 0x00,
-    (byte) 0x00, (byte) 0x03, (byte) 0x00, (byte) 0x00, (byte) 0x00,
-    (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x01,
-    (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00,
-    (byte) 0x00, (byte) 0x00, (byte) 0x02, (byte) 0x00, (byte) 0x00,
-    (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00,
-    (byte) 0x03, (byte) 0x00, (byte) 0x00 };
-  private static final byte[] persistentBytesHolyMoley = new byte[] { (byte) 0x0F, (byte) 0x00,
-    (byte) 0x01, (byte) 0x0C, (byte) 0x00, (byte) 0x00, (byte) 0x00,
-    (byte) 0x02, (byte) 0x02, (byte) 0x00, (byte) 0x01, (byte) 0x01,
-    (byte) 0x02, (byte) 0x00, (byte) 0x02, (byte) 0x00, (byte) 0x03,
-    (byte) 0x00, (byte) 0x03, (byte) 0x23, (byte) 0x06, (byte) 0x00,
-    (byte) 0x04, (byte) 0x69, (byte) 0x78, (byte) 0x08, (byte) 0x00,
-    (byte) 0x05, (byte) 0x01, (byte) 0x00, (byte) 0x00, (byte) 0x00,
-    (byte) 0x0A, (byte) 0x00, (byte) 0x06, (byte) 0x00, (byte) 0x00,
-    (byte) 0x00, (byte) 0x01, (byte) 0x65, (byte) 0xA0, (byte) 0xBC,
-    (byte) 0x00, (byte) 0x04, (byte) 0x00, (byte) 0x07, (byte) 0x40,
-    (byte) 0x09, (byte) 0x21, (byte) 0xFB, (byte) 0x54, (byte) 0x44,
-    (byte) 0x2D, (byte) 0x18, (byte) 0x0B, (byte) 0x00, (byte) 0x08,
-    (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x0D, (byte) 0x4A,
-    (byte) 0x53, (byte) 0x4F, (byte) 0x4E, (byte) 0x20, (byte) 0x54,
-    (byte) 0x48, (byte) 0x49, (byte) 0x53, (byte) 0x21, (byte) 0x20,
-    (byte) 0x22, (byte) 0x01, (byte) 0x0B, (byte) 0x00, (byte) 0x09,
-    (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x2E, (byte) 0xD3,
-    (byte) 0x80, (byte) 0xE2, (byte) 0x85, (byte) 0xAE, (byte) 0xCE,
-    (byte) 0x9D, (byte) 0x20, (byte) 0xD0, (byte) 0x9D, (byte) 0xCE,
-    (byte) 0xBF, (byte) 0xE2, (byte) 0x85, (byte) 0xBF, (byte) 0xD0,
-    (byte) 0xBE, (byte) 0xC9, (byte) 0xA1, (byte) 0xD0, (byte) 0xB3,
-    (byte) 0xD0, (byte) 0xB0, (byte) 0xCF, (byte) 0x81, (byte) 0xE2,
-    (byte) 0x84, (byte) 0x8E, (byte) 0x20, (byte) 0xCE, (byte) 0x91,
-    (byte) 0x74, (byte) 0x74, (byte) 0xCE, (byte) 0xB1, (byte) 0xE2,
-    (byte) 0x85, (byte) 0xBD, (byte) 0xCE, (byte) 0xBA, (byte) 0xEF,
-    (byte) 0xBF, (byte) 0xBD, (byte) 0xE2, (byte) 0x80, (byte) 0xBC,
-    (byte) 0x02, (byte) 0x00, (byte) 0x0A, (byte) 0x00, (byte) 0x0B,
-    (byte) 0x00, (byte) 0x0B, (byte) 0x00, (byte) 0x00, (byte) 0x00,
-    (byte) 0x06, (byte) 0x62, (byte) 0x61, (byte) 0x73, (byte) 0x65,
-    (byte) 0x36, (byte) 0x34, (byte) 0x0F, (byte) 0x00, (byte) 0x0C,
-    (byte) 0x03, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x03,
-    (byte) 0x01, (byte) 0x02, (byte) 0x03, (byte) 0x0F, (byte) 0x00,
-    (byte) 0x0D, (byte) 0x06, (byte) 0x00, (byte) 0x00, (byte) 0x00,
-    (byte) 0x03, (byte) 0x00, (byte) 0x01, (byte) 0x00, (byte) 0x02,
-    (byte) 0x00, (byte) 0x03, (byte) 0x0F, (byte) 0x00, (byte) 0x0E,
-    (byte) 0x0A, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x03,
-    (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00,
-    (byte) 0x00, (byte) 0x00, (byte) 0x01, (byte) 0x00, (byte) 0x00,
-    (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00,
-    (byte) 0x02, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00,
-    (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x03, (byte) 0x00,
-    (byte) 0x02, (byte) 0x00, (byte) 0x01, (byte) 0x01, (byte) 0x02,
-    (byte) 0x00, (byte) 0x02, (byte) 0x00, (byte) 0x03, (byte) 0x00,
-    (byte) 0x03, (byte) 0xD6, (byte) 0x06, (byte) 0x00, (byte) 0x04,
-    (byte) 0x69, (byte) 0x78, (byte) 0x08, (byte) 0x00, (byte) 0x05,
-    (byte) 0x01, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x0A,
-    (byte) 0x00, (byte) 0x06, (byte) 0x00, (byte) 0x00, (byte) 0x00,
-    (byte) 0x01, (byte) 0x65, (byte) 0xA0, (byte) 0xBC, (byte) 0x00,
-    (byte) 0x04, (byte) 0x00, (byte) 0x07, (byte) 0x40, (byte) 0x09,
-    (byte) 0x21, (byte) 0xFB, (byte) 0x54, (byte) 0x44, (byte) 0x2D,
-    (byte) 0x18, (byte) 0x0B, (byte) 0x00, (byte) 0x08, (byte) 0x00,
-    (byte) 0x00, (byte) 0x00, (byte) 0x0D, (byte) 0x4A, (byte) 0x53,
-    (byte) 0x4F, (byte) 0x4E, (byte) 0x20, (byte) 0x54, (byte) 0x48,
-    (byte) 0x49, (byte) 0x53, (byte) 0x21, (byte) 0x20, (byte) 0x22,
-    (byte) 0x01, (byte) 0x0B, (byte) 0x00, (byte) 0x09, (byte) 0x00,
-    (byte) 0x00, (byte) 0x00, (byte) 0x2E, (byte) 0xD3, (byte) 0x80,
-    (byte) 0xE2, (byte) 0x85, (byte) 0xAE, (byte) 0xCE, (byte) 0x9D,
-    (byte) 0x20, (byte) 0xD0, (byte) 0x9D, (byte) 0xCE, (byte) 0xBF,
-    (byte) 0xE2, (byte) 0x85, (byte) 0xBF, (byte) 0xD0, (byte) 0xBE,
-    (byte) 0xC9, (byte) 0xA1, (byte) 0xD0, (byte) 0xB3, (byte) 0xD0,
-    (byte) 0xB0, (byte) 0xCF, (byte) 0x81, (byte) 0xE2, (byte) 0x84,
-    (byte) 0x8E, (byte) 0x20, (byte) 0xCE, (byte) 0x91, (byte) 0x74,
-    (byte) 0x74, (byte) 0xCE, (byte) 0xB1, (byte) 0xE2, (byte) 0x85,
-    (byte) 0xBD, (byte) 0xCE, (byte) 0xBA, (byte) 0xEF, (byte) 0xBF,
-    (byte) 0xBD, (byte) 0xE2, (byte) 0x80, (byte) 0xBC, (byte) 0x02,
-    (byte) 0x00, (byte) 0x0A, (byte) 0x00, (byte) 0x0B, (byte) 0x00,
-    (byte) 0x0B, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x06,
-    (byte) 0x62, (byte) 0x61, (byte) 0x73, (byte) 0x65, (byte) 0x36,
-    (byte) 0x34, (byte) 0x0F, (byte) 0x00, (byte) 0x0C, (byte) 0x03,
-    (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x03, (byte) 0x01,
-    (byte) 0x02, (byte) 0x03, (byte) 0x0F, (byte) 0x00, (byte) 0x0D,
-    (byte) 0x06, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x03,
-    (byte) 0x00, (byte) 0x01, (byte) 0x00, (byte) 0x02, (byte) 0x00,
-    (byte) 0x03, (byte) 0x0F, (byte) 0x00, (byte) 0x0E, (byte) 0x0A,
-    (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x03, (byte) 0x00,
-    (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00,
-    (byte) 0x00, (byte) 0x01, (byte) 0x00, (byte) 0x00, (byte) 0x00,
-    (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x02,
-    (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00,
-    (byte) 0x00, (byte) 0x00, (byte) 0x03, (byte) 0x00, (byte) 0x0E,
-    (byte) 0x00, (byte) 0x02, (byte) 0x0F, (byte) 0x00, (byte) 0x00,
-    (byte) 0x00, (byte) 0x03, (byte) 0x0B, (byte) 0x00, (byte) 0x00,
-    (byte) 0x00, (byte) 0x00, (byte) 0x0B, (byte) 0x00, (byte) 0x00,
-    (byte) 0x00, (byte) 0x03, (byte) 0x00, (byte) 0x00, (byte) 0x00,
-    (byte) 0x0F, (byte) 0x74, (byte) 0x68, (byte) 0x65, (byte) 0x6E,
-    (byte) 0x20, (byte) 0x61, (byte) 0x20, (byte) 0x6F, (byte) 0x6E,
-    (byte) 0x65, (byte) 0x2C, (byte) 0x20, (byte) 0x74, (byte) 0x77,
-    (byte) 0x6F, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x06,
-    (byte) 0x74, (byte) 0x68, (byte) 0x72, (byte) 0x65, (byte) 0x65,
-    (byte) 0x21, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x06,
-    (byte) 0x46, (byte) 0x4F, (byte) 0x55, (byte) 0x52, (byte) 0x21,
-    (byte) 0x21, (byte) 0x0B, (byte) 0x00, (byte) 0x00, (byte) 0x00,
-    (byte) 0x02, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x09,
-    (byte) 0x61, (byte) 0x6E, (byte) 0x64, (byte) 0x20, (byte) 0x61,
-    (byte) 0x20, (byte) 0x6F, (byte) 0x6E, (byte) 0x65, (byte) 0x00,
-    (byte) 0x00, (byte) 0x00, (byte) 0x09, (byte) 0x61, (byte) 0x6E,
-    (byte) 0x64, (byte) 0x20, (byte) 0x61, (byte) 0x20, (byte) 0x74,
-    (byte) 0x77, (byte) 0x6F, (byte) 0x0D, (byte) 0x00, (byte) 0x03,
-    (byte) 0x0B, (byte) 0x0F, (byte) 0x00, (byte) 0x00, (byte) 0x00,
-    (byte) 0x03, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x03,
-    (byte) 0x74, (byte) 0x77, (byte) 0x6F, (byte) 0x0C, (byte) 0x00,
-    (byte) 0x00, (byte) 0x00, (byte) 0x02, (byte) 0x08, (byte) 0x00,
-    (byte) 0x01, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x01,
-    (byte) 0x0B, (byte) 0x00, (byte) 0x02, (byte) 0x00, (byte) 0x00,
-    (byte) 0x00, (byte) 0x05, (byte) 0x57, (byte) 0x61, (byte) 0x69,
-    (byte) 0x74, (byte) 0x2E, (byte) 0x00, (byte) 0x08, (byte) 0x00,
-    (byte) 0x01, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x02,
-    (byte) 0x0B, (byte) 0x00, (byte) 0x02, (byte) 0x00, (byte) 0x00,
-    (byte) 0x00, (byte) 0x05, (byte) 0x57, (byte) 0x68, (byte) 0x61,
-    (byte) 0x74, (byte) 0x3F, (byte) 0x00, (byte) 0x00, (byte) 0x00,
-    (byte) 0x00, (byte) 0x05, (byte) 0x74, (byte) 0x68, (byte) 0x72,
-    (byte) 0x65, (byte) 0x65, (byte) 0x0C, (byte) 0x00, (byte) 0x00,
-    (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00,
-    (byte) 0x04, (byte) 0x7A, (byte) 0x65, (byte) 0x72, (byte) 0x6F,
-    (byte) 0x0C, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00,
-    (byte) 0x00 };
+  private static final byte[] persistentBytesOneOfEach =
+      new byte[] {
+        (byte) 0x02,
+        (byte) 0x00,
+        (byte) 0x01,
+        (byte) 0x01,
+        (byte) 0x02,
+        (byte) 0x00,
+        (byte) 0x02,
+        (byte) 0x00,
+        (byte) 0x03,
+        (byte) 0x00,
+        (byte) 0x03,
+        (byte) 0xD6,
+        (byte) 0x06,
+        (byte) 0x00,
+        (byte) 0x04,
+        (byte) 0x69,
+        (byte) 0x78,
+        (byte) 0x08,
+        (byte) 0x00,
+        (byte) 0x05,
+        (byte) 0x01,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x0A,
+        (byte) 0x00,
+        (byte) 0x06,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x01,
+        (byte) 0x65,
+        (byte) 0xA0,
+        (byte) 0xBC,
+        (byte) 0x00,
+        (byte) 0x04,
+        (byte) 0x00,
+        (byte) 0x07,
+        (byte) 0x40,
+        (byte) 0x09,
+        (byte) 0x21,
+        (byte) 0xFB,
+        (byte) 0x54,
+        (byte) 0x44,
+        (byte) 0x2D,
+        (byte) 0x18,
+        (byte) 0x0B,
+        (byte) 0x00,
+        (byte) 0x08,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x0D,
+        (byte) 0x4A,
+        (byte) 0x53,
+        (byte) 0x4F,
+        (byte) 0x4E,
+        (byte) 0x20,
+        (byte) 0x54,
+        (byte) 0x48,
+        (byte) 0x49,
+        (byte) 0x53,
+        (byte) 0x21,
+        (byte) 0x20,
+        (byte) 0x22,
+        (byte) 0x01,
+        (byte) 0x0B,
+        (byte) 0x00,
+        (byte) 0x09,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x2E,
+        (byte) 0xD3,
+        (byte) 0x80,
+        (byte) 0xE2,
+        (byte) 0x85,
+        (byte) 0xAE,
+        (byte) 0xCE,
+        (byte) 0x9D,
+        (byte) 0x20,
+        (byte) 0xD0,
+        (byte) 0x9D,
+        (byte) 0xCE,
+        (byte) 0xBF,
+        (byte) 0xE2,
+        (byte) 0x85,
+        (byte) 0xBF,
+        (byte) 0xD0,
+        (byte) 0xBE,
+        (byte) 0xC9,
+        (byte) 0xA1,
+        (byte) 0xD0,
+        (byte) 0xB3,
+        (byte) 0xD0,
+        (byte) 0xB0,
+        (byte) 0xCF,
+        (byte) 0x81,
+        (byte) 0xE2,
+        (byte) 0x84,
+        (byte) 0x8E,
+        (byte) 0x20,
+        (byte) 0xCE,
+        (byte) 0x91,
+        (byte) 0x74,
+        (byte) 0x74,
+        (byte) 0xCE,
+        (byte) 0xB1,
+        (byte) 0xE2,
+        (byte) 0x85,
+        (byte) 0xBD,
+        (byte) 0xCE,
+        (byte) 0xBA,
+        (byte) 0xEF,
+        (byte) 0xBF,
+        (byte) 0xBD,
+        (byte) 0xE2,
+        (byte) 0x80,
+        (byte) 0xBC,
+        (byte) 0x02,
+        (byte) 0x00,
+        (byte) 0x0A,
+        (byte) 0x00,
+        (byte) 0x0B,
+        (byte) 0x00,
+        (byte) 0x0B,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x06,
+        (byte) 0x62,
+        (byte) 0x61,
+        (byte) 0x73,
+        (byte) 0x65,
+        (byte) 0x36,
+        (byte) 0x34,
+        (byte) 0x0F,
+        (byte) 0x00,
+        (byte) 0x0C,
+        (byte) 0x03,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x03,
+        (byte) 0x01,
+        (byte) 0x02,
+        (byte) 0x03,
+        (byte) 0x0F,
+        (byte) 0x00,
+        (byte) 0x0D,
+        (byte) 0x06,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x03,
+        (byte) 0x00,
+        (byte) 0x01,
+        (byte) 0x00,
+        (byte) 0x02,
+        (byte) 0x00,
+        (byte) 0x03,
+        (byte) 0x0F,
+        (byte) 0x00,
+        (byte) 0x0E,
+        (byte) 0x0A,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x03,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x01,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x02,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x03,
+        (byte) 0x00
+      };
+  private static final byte[] persistentBytesNesting =
+      new byte[] {
+        (byte) 0x0C,
+        (byte) 0x00,
+        (byte) 0x01,
+        (byte) 0x08,
+        (byte) 0x00,
+        (byte) 0x01,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x7A,
+        (byte) 0x69,
+        (byte) 0x0B,
+        (byte) 0x00,
+        (byte) 0x02,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x13,
+        (byte) 0x49,
+        (byte) 0x20,
+        (byte) 0x61,
+        (byte) 0x6D,
+        (byte) 0x20,
+        (byte) 0x61,
+        (byte) 0x20,
+        (byte) 0x62,
+        (byte) 0x6F,
+        (byte) 0x6E,
+        (byte) 0x6B,
+        (byte) 0x2E,
+        (byte) 0x2E,
+        (byte) 0x2E,
+        (byte) 0x20,
+        (byte) 0x78,
+        (byte) 0x6F,
+        (byte) 0x72,
+        (byte) 0x21,
+        (byte) 0x00,
+        (byte) 0x0C,
+        (byte) 0x00,
+        (byte) 0x02,
+        (byte) 0x02,
+        (byte) 0x00,
+        (byte) 0x01,
+        (byte) 0x01,
+        (byte) 0x02,
+        (byte) 0x00,
+        (byte) 0x02,
+        (byte) 0x00,
+        (byte) 0x03,
+        (byte) 0x00,
+        (byte) 0x03,
+        (byte) 0xD6,
+        (byte) 0x06,
+        (byte) 0x00,
+        (byte) 0x04,
+        (byte) 0x69,
+        (byte) 0x78,
+        (byte) 0x08,
+        (byte) 0x00,
+        (byte) 0x05,
+        (byte) 0x01,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x0A,
+        (byte) 0x00,
+        (byte) 0x06,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x01,
+        (byte) 0x65,
+        (byte) 0xA0,
+        (byte) 0xBC,
+        (byte) 0x00,
+        (byte) 0x04,
+        (byte) 0x00,
+        (byte) 0x07,
+        (byte) 0x40,
+        (byte) 0x09,
+        (byte) 0x21,
+        (byte) 0xFB,
+        (byte) 0x54,
+        (byte) 0x44,
+        (byte) 0x2D,
+        (byte) 0x18,
+        (byte) 0x0B,
+        (byte) 0x00,
+        (byte) 0x08,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x0D,
+        (byte) 0x4A,
+        (byte) 0x53,
+        (byte) 0x4F,
+        (byte) 0x4E,
+        (byte) 0x20,
+        (byte) 0x54,
+        (byte) 0x48,
+        (byte) 0x49,
+        (byte) 0x53,
+        (byte) 0x21,
+        (byte) 0x20,
+        (byte) 0x22,
+        (byte) 0x01,
+        (byte) 0x0B,
+        (byte) 0x00,
+        (byte) 0x09,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x2E,
+        (byte) 0xD3,
+        (byte) 0x80,
+        (byte) 0xE2,
+        (byte) 0x85,
+        (byte) 0xAE,
+        (byte) 0xCE,
+        (byte) 0x9D,
+        (byte) 0x20,
+        (byte) 0xD0,
+        (byte) 0x9D,
+        (byte) 0xCE,
+        (byte) 0xBF,
+        (byte) 0xE2,
+        (byte) 0x85,
+        (byte) 0xBF,
+        (byte) 0xD0,
+        (byte) 0xBE,
+        (byte) 0xC9,
+        (byte) 0xA1,
+        (byte) 0xD0,
+        (byte) 0xB3,
+        (byte) 0xD0,
+        (byte) 0xB0,
+        (byte) 0xCF,
+        (byte) 0x81,
+        (byte) 0xE2,
+        (byte) 0x84,
+        (byte) 0x8E,
+        (byte) 0x20,
+        (byte) 0xCE,
+        (byte) 0x91,
+        (byte) 0x74,
+        (byte) 0x74,
+        (byte) 0xCE,
+        (byte) 0xB1,
+        (byte) 0xE2,
+        (byte) 0x85,
+        (byte) 0xBD,
+        (byte) 0xCE,
+        (byte) 0xBA,
+        (byte) 0xEF,
+        (byte) 0xBF,
+        (byte) 0xBD,
+        (byte) 0xE2,
+        (byte) 0x80,
+        (byte) 0xBC,
+        (byte) 0x02,
+        (byte) 0x00,
+        (byte) 0x0A,
+        (byte) 0x00,
+        (byte) 0x0B,
+        (byte) 0x00,
+        (byte) 0x0B,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x06,
+        (byte) 0x62,
+        (byte) 0x61,
+        (byte) 0x73,
+        (byte) 0x65,
+        (byte) 0x36,
+        (byte) 0x34,
+        (byte) 0x0F,
+        (byte) 0x00,
+        (byte) 0x0C,
+        (byte) 0x03,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x03,
+        (byte) 0x01,
+        (byte) 0x02,
+        (byte) 0x03,
+        (byte) 0x0F,
+        (byte) 0x00,
+        (byte) 0x0D,
+        (byte) 0x06,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x03,
+        (byte) 0x00,
+        (byte) 0x01,
+        (byte) 0x00,
+        (byte) 0x02,
+        (byte) 0x00,
+        (byte) 0x03,
+        (byte) 0x0F,
+        (byte) 0x00,
+        (byte) 0x0E,
+        (byte) 0x0A,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x03,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x01,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x02,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x03,
+        (byte) 0x00,
+        (byte) 0x00
+      };
+  private static final byte[] persistentBytesHolyMoley =
+      new byte[] {
+        (byte) 0x0F,
+        (byte) 0x00,
+        (byte) 0x01,
+        (byte) 0x0C,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x02,
+        (byte) 0x02,
+        (byte) 0x00,
+        (byte) 0x01,
+        (byte) 0x01,
+        (byte) 0x02,
+        (byte) 0x00,
+        (byte) 0x02,
+        (byte) 0x00,
+        (byte) 0x03,
+        (byte) 0x00,
+        (byte) 0x03,
+        (byte) 0x23,
+        (byte) 0x06,
+        (byte) 0x00,
+        (byte) 0x04,
+        (byte) 0x69,
+        (byte) 0x78,
+        (byte) 0x08,
+        (byte) 0x00,
+        (byte) 0x05,
+        (byte) 0x01,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x0A,
+        (byte) 0x00,
+        (byte) 0x06,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x01,
+        (byte) 0x65,
+        (byte) 0xA0,
+        (byte) 0xBC,
+        (byte) 0x00,
+        (byte) 0x04,
+        (byte) 0x00,
+        (byte) 0x07,
+        (byte) 0x40,
+        (byte) 0x09,
+        (byte) 0x21,
+        (byte) 0xFB,
+        (byte) 0x54,
+        (byte) 0x44,
+        (byte) 0x2D,
+        (byte) 0x18,
+        (byte) 0x0B,
+        (byte) 0x00,
+        (byte) 0x08,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x0D,
+        (byte) 0x4A,
+        (byte) 0x53,
+        (byte) 0x4F,
+        (byte) 0x4E,
+        (byte) 0x20,
+        (byte) 0x54,
+        (byte) 0x48,
+        (byte) 0x49,
+        (byte) 0x53,
+        (byte) 0x21,
+        (byte) 0x20,
+        (byte) 0x22,
+        (byte) 0x01,
+        (byte) 0x0B,
+        (byte) 0x00,
+        (byte) 0x09,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x2E,
+        (byte) 0xD3,
+        (byte) 0x80,
+        (byte) 0xE2,
+        (byte) 0x85,
+        (byte) 0xAE,
+        (byte) 0xCE,
+        (byte) 0x9D,
+        (byte) 0x20,
+        (byte) 0xD0,
+        (byte) 0x9D,
+        (byte) 0xCE,
+        (byte) 0xBF,
+        (byte) 0xE2,
+        (byte) 0x85,
+        (byte) 0xBF,
+        (byte) 0xD0,
+        (byte) 0xBE,
+        (byte) 0xC9,
+        (byte) 0xA1,
+        (byte) 0xD0,
+        (byte) 0xB3,
+        (byte) 0xD0,
+        (byte) 0xB0,
+        (byte) 0xCF,
+        (byte) 0x81,
+        (byte) 0xE2,
+        (byte) 0x84,
+        (byte) 0x8E,
+        (byte) 0x20,
+        (byte) 0xCE,
+        (byte) 0x91,
+        (byte) 0x74,
+        (byte) 0x74,
+        (byte) 0xCE,
+        (byte) 0xB1,
+        (byte) 0xE2,
+        (byte) 0x85,
+        (byte) 0xBD,
+        (byte) 0xCE,
+        (byte) 0xBA,
+        (byte) 0xEF,
+        (byte) 0xBF,
+        (byte) 0xBD,
+        (byte) 0xE2,
+        (byte) 0x80,
+        (byte) 0xBC,
+        (byte) 0x02,
+        (byte) 0x00,
+        (byte) 0x0A,
+        (byte) 0x00,
+        (byte) 0x0B,
+        (byte) 0x00,
+        (byte) 0x0B,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x06,
+        (byte) 0x62,
+        (byte) 0x61,
+        (byte) 0x73,
+        (byte) 0x65,
+        (byte) 0x36,
+        (byte) 0x34,
+        (byte) 0x0F,
+        (byte) 0x00,
+        (byte) 0x0C,
+        (byte) 0x03,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x03,
+        (byte) 0x01,
+        (byte) 0x02,
+        (byte) 0x03,
+        (byte) 0x0F,
+        (byte) 0x00,
+        (byte) 0x0D,
+        (byte) 0x06,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x03,
+        (byte) 0x00,
+        (byte) 0x01,
+        (byte) 0x00,
+        (byte) 0x02,
+        (byte) 0x00,
+        (byte) 0x03,
+        (byte) 0x0F,
+        (byte) 0x00,
+        (byte) 0x0E,
+        (byte) 0x0A,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x03,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x01,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x02,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x03,
+        (byte) 0x00,
+        (byte) 0x02,
+        (byte) 0x00,
+        (byte) 0x01,
+        (byte) 0x01,
+        (byte) 0x02,
+        (byte) 0x00,
+        (byte) 0x02,
+        (byte) 0x00,
+        (byte) 0x03,
+        (byte) 0x00,
+        (byte) 0x03,
+        (byte) 0xD6,
+        (byte) 0x06,
+        (byte) 0x00,
+        (byte) 0x04,
+        (byte) 0x69,
+        (byte) 0x78,
+        (byte) 0x08,
+        (byte) 0x00,
+        (byte) 0x05,
+        (byte) 0x01,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x0A,
+        (byte) 0x00,
+        (byte) 0x06,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x01,
+        (byte) 0x65,
+        (byte) 0xA0,
+        (byte) 0xBC,
+        (byte) 0x00,
+        (byte) 0x04,
+        (byte) 0x00,
+        (byte) 0x07,
+        (byte) 0x40,
+        (byte) 0x09,
+        (byte) 0x21,
+        (byte) 0xFB,
+        (byte) 0x54,
+        (byte) 0x44,
+        (byte) 0x2D,
+        (byte) 0x18,
+        (byte) 0x0B,
+        (byte) 0x00,
+        (byte) 0x08,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x0D,
+        (byte) 0x4A,
+        (byte) 0x53,
+        (byte) 0x4F,
+        (byte) 0x4E,
+        (byte) 0x20,
+        (byte) 0x54,
+        (byte) 0x48,
+        (byte) 0x49,
+        (byte) 0x53,
+        (byte) 0x21,
+        (byte) 0x20,
+        (byte) 0x22,
+        (byte) 0x01,
+        (byte) 0x0B,
+        (byte) 0x00,
+        (byte) 0x09,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x2E,
+        (byte) 0xD3,
+        (byte) 0x80,
+        (byte) 0xE2,
+        (byte) 0x85,
+        (byte) 0xAE,
+        (byte) 0xCE,
+        (byte) 0x9D,
+        (byte) 0x20,
+        (byte) 0xD0,
+        (byte) 0x9D,
+        (byte) 0xCE,
+        (byte) 0xBF,
+        (byte) 0xE2,
+        (byte) 0x85,
+        (byte) 0xBF,
+        (byte) 0xD0,
+        (byte) 0xBE,
+        (byte) 0xC9,
+        (byte) 0xA1,
+        (byte) 0xD0,
+        (byte) 0xB3,
+        (byte) 0xD0,
+        (byte) 0xB0,
+        (byte) 0xCF,
+        (byte) 0x81,
+        (byte) 0xE2,
+        (byte) 0x84,
+        (byte) 0x8E,
+        (byte) 0x20,
+        (byte) 0xCE,
+        (byte) 0x91,
+        (byte) 0x74,
+        (byte) 0x74,
+        (byte) 0xCE,
+        (byte) 0xB1,
+        (byte) 0xE2,
+        (byte) 0x85,
+        (byte) 0xBD,
+        (byte) 0xCE,
+        (byte) 0xBA,
+        (byte) 0xEF,
+        (byte) 0xBF,
+        (byte) 0xBD,
+        (byte) 0xE2,
+        (byte) 0x80,
+        (byte) 0xBC,
+        (byte) 0x02,
+        (byte) 0x00,
+        (byte) 0x0A,
+        (byte) 0x00,
+        (byte) 0x0B,
+        (byte) 0x00,
+        (byte) 0x0B,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x06,
+        (byte) 0x62,
+        (byte) 0x61,
+        (byte) 0x73,
+        (byte) 0x65,
+        (byte) 0x36,
+        (byte) 0x34,
+        (byte) 0x0F,
+        (byte) 0x00,
+        (byte) 0x0C,
+        (byte) 0x03,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x03,
+        (byte) 0x01,
+        (byte) 0x02,
+        (byte) 0x03,
+        (byte) 0x0F,
+        (byte) 0x00,
+        (byte) 0x0D,
+        (byte) 0x06,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x03,
+        (byte) 0x00,
+        (byte) 0x01,
+        (byte) 0x00,
+        (byte) 0x02,
+        (byte) 0x00,
+        (byte) 0x03,
+        (byte) 0x0F,
+        (byte) 0x00,
+        (byte) 0x0E,
+        (byte) 0x0A,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x03,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x01,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x02,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x03,
+        (byte) 0x00,
+        (byte) 0x0E,
+        (byte) 0x00,
+        (byte) 0x02,
+        (byte) 0x0F,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x03,
+        (byte) 0x0B,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x0B,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x03,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x0F,
+        (byte) 0x74,
+        (byte) 0x68,
+        (byte) 0x65,
+        (byte) 0x6E,
+        (byte) 0x20,
+        (byte) 0x61,
+        (byte) 0x20,
+        (byte) 0x6F,
+        (byte) 0x6E,
+        (byte) 0x65,
+        (byte) 0x2C,
+        (byte) 0x20,
+        (byte) 0x74,
+        (byte) 0x77,
+        (byte) 0x6F,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x06,
+        (byte) 0x74,
+        (byte) 0x68,
+        (byte) 0x72,
+        (byte) 0x65,
+        (byte) 0x65,
+        (byte) 0x21,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x06,
+        (byte) 0x46,
+        (byte) 0x4F,
+        (byte) 0x55,
+        (byte) 0x52,
+        (byte) 0x21,
+        (byte) 0x21,
+        (byte) 0x0B,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x02,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x09,
+        (byte) 0x61,
+        (byte) 0x6E,
+        (byte) 0x64,
+        (byte) 0x20,
+        (byte) 0x61,
+        (byte) 0x20,
+        (byte) 0x6F,
+        (byte) 0x6E,
+        (byte) 0x65,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x09,
+        (byte) 0x61,
+        (byte) 0x6E,
+        (byte) 0x64,
+        (byte) 0x20,
+        (byte) 0x61,
+        (byte) 0x20,
+        (byte) 0x74,
+        (byte) 0x77,
+        (byte) 0x6F,
+        (byte) 0x0D,
+        (byte) 0x00,
+        (byte) 0x03,
+        (byte) 0x0B,
+        (byte) 0x0F,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x03,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x03,
+        (byte) 0x74,
+        (byte) 0x77,
+        (byte) 0x6F,
+        (byte) 0x0C,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x02,
+        (byte) 0x08,
+        (byte) 0x00,
+        (byte) 0x01,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x01,
+        (byte) 0x0B,
+        (byte) 0x00,
+        (byte) 0x02,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x05,
+        (byte) 0x57,
+        (byte) 0x61,
+        (byte) 0x69,
+        (byte) 0x74,
+        (byte) 0x2E,
+        (byte) 0x00,
+        (byte) 0x08,
+        (byte) 0x00,
+        (byte) 0x01,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x02,
+        (byte) 0x0B,
+        (byte) 0x00,
+        (byte) 0x02,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x05,
+        (byte) 0x57,
+        (byte) 0x68,
+        (byte) 0x61,
+        (byte) 0x74,
+        (byte) 0x3F,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x05,
+        (byte) 0x74,
+        (byte) 0x68,
+        (byte) 0x72,
+        (byte) 0x65,
+        (byte) 0x65,
+        (byte) 0x0C,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x04,
+        (byte) 0x7A,
+        (byte) 0x65,
+        (byte) 0x72,
+        (byte) 0x6F,
+        (byte) 0x0C,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00,
+        (byte) 0x00
+      };
 
-  private static final byte[] kUnicodeBytes = { (byte) 0xd3, (byte) 0x80,
-      (byte) 0xe2, (byte) 0x85, (byte) 0xae, (byte) 0xce, (byte) 0x9d,
-      (byte) 0x20, (byte) 0xd0, (byte) 0x9d, (byte) 0xce, (byte) 0xbf,
-      (byte) 0xe2, (byte) 0x85, (byte) 0xbf, (byte) 0xd0, (byte) 0xbe,
-      (byte) 0xc9, (byte) 0xa1, (byte) 0xd0, (byte) 0xb3, (byte) 0xd0,
-      (byte) 0xb0, (byte) 0xcf, (byte) 0x81, (byte) 0xe2, (byte) 0x84,
-      (byte) 0x8e, (byte) 0x20, (byte) 0xce, (byte) 0x91, (byte) 0x74,
-      (byte) 0x74, (byte) 0xce, (byte) 0xb1, (byte) 0xe2, (byte) 0x85,
-      (byte) 0xbd, (byte) 0xce, (byte) 0xba, (byte) 0x83, (byte) 0xe2,
-      (byte) 0x80, (byte) 0xbc };
+  private static final byte[] kUnicodeBytes = {
+    (byte) 0xd3,
+    (byte) 0x80,
+    (byte) 0xe2,
+    (byte) 0x85,
+    (byte) 0xae,
+    (byte) 0xce,
+    (byte) 0x9d,
+    (byte) 0x20,
+    (byte) 0xd0,
+    (byte) 0x9d,
+    (byte) 0xce,
+    (byte) 0xbf,
+    (byte) 0xe2,
+    (byte) 0x85,
+    (byte) 0xbf,
+    (byte) 0xd0,
+    (byte) 0xbe,
+    (byte) 0xc9,
+    (byte) 0xa1,
+    (byte) 0xd0,
+    (byte) 0xb3,
+    (byte) 0xd0,
+    (byte) 0xb0,
+    (byte) 0xcf,
+    (byte) 0x81,
+    (byte) 0xe2,
+    (byte) 0x84,
+    (byte) 0x8e,
+    (byte) 0x20,
+    (byte) 0xce,
+    (byte) 0x91,
+    (byte) 0x74,
+    (byte) 0x74,
+    (byte) 0xce,
+    (byte) 0xb1,
+    (byte) 0xe2,
+    (byte) 0x85,
+    (byte) 0xbd,
+    (byte) 0xce,
+    (byte) 0xba,
+    (byte) 0x83,
+    (byte) 0xe2,
+    (byte) 0x80,
+    (byte) 0xbc
+  };
 
   static {
     try {
@@ -358,10 +1200,9 @@
       holyMoley.getBonks().put("three", stage2);
 
       // superhuge compact proto test struct
-      compactProtoTestStruct = new CompactProtoTestStruct(
-          thrift.test.DebugProtoTestConstants.COMPACT_TEST);
-      compactProtoTestStruct.setA_binary(ByteBuffer.wrap(new byte[] { 0, 1, 2,
-          3, 4, 5, 6, 7, 8 }));
+      compactProtoTestStruct =
+          new CompactProtoTestStruct(thrift.test.DebugProtoTestConstants.COMPACT_TEST);
+      compactProtoTestStruct.setA_binary(ByteBuffer.wrap(new byte[] {0, 1, 2, 3, 4, 5, 6, 7, 8}));
     } catch (Exception e) {
       throw new RuntimeException(e);
     }
diff --git a/lib/java/src/test/java/org/apache/thrift/TestAnnotationMetadata.java b/lib/java/src/test/java/org/apache/thrift/TestAnnotationMetadata.java
index 83be6b9..c40c49b 100644
--- a/lib/java/src/test/java/org/apache/thrift/TestAnnotationMetadata.java
+++ b/lib/java/src/test/java/org/apache/thrift/TestAnnotationMetadata.java
@@ -19,44 +19,51 @@
 
 package org.apache.thrift;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
-
 import org.apache.thrift.meta_data.FieldMetaData;
 import org.junit.jupiter.api.Test;
 import thrift.test.OneOfEachBeans;
 import thrift.test.annotations.OneOfEachBeansWithAnnotations;
 
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
 public class TestAnnotationMetadata {
 
-    @Test
-    public void testWithoutParamShouldGenerateEmpty() {
-        Map<? extends TFieldIdEnum, FieldMetaData> structMetaDataMap = FieldMetaData.getStructMetaDataMap(OneOfEachBeans.class);
-        {
-            Map<String, String> metadata = structMetaDataMap.get(OneOfEachBeans._Fields.I16_LIST).getFieldAnnotations();
-            assertEquals(Collections.emptyMap(), metadata);
-        }
-        {
-            Map<String, String> metadata = structMetaDataMap.get(OneOfEachBeans._Fields.A_BITE).getFieldAnnotations();
-            assertEquals(Collections.emptyMap(), metadata);
-        }
+  @Test
+  public void testWithoutParamShouldGenerateEmpty() {
+    Map<? extends TFieldIdEnum, FieldMetaData> structMetaDataMap =
+        FieldMetaData.getStructMetaDataMap(OneOfEachBeans.class);
+    {
+      Map<String, String> metadata =
+          structMetaDataMap.get(OneOfEachBeans._Fields.I16_LIST).getFieldAnnotations();
+      assertEquals(Collections.emptyMap(), metadata);
     }
+    {
+      Map<String, String> metadata =
+          structMetaDataMap.get(OneOfEachBeans._Fields.A_BITE).getFieldAnnotations();
+      assertEquals(Collections.emptyMap(), metadata);
+    }
+  }
 
-    @Test
-    public void testGeneratedAnnotations() {
-        Map<? extends TFieldIdEnum, FieldMetaData> structMetaDataMap = FieldMetaData.getStructMetaDataMap(OneOfEachBeansWithAnnotations.class);
-        {
-            Map<String, String> metadata = structMetaDataMap.get(OneOfEachBeansWithAnnotations._Fields.I16_LIST).getFieldAnnotations();
-            assertEquals(Collections.emptyMap(), metadata);
-        }
-        {
-            Map<String, String> metadata = structMetaDataMap.get(OneOfEachBeansWithAnnotations._Fields.A_BITE).getFieldAnnotations();
-            Map<String, String> expected = new HashMap<>();
-            expected.put("compression", "false");
-            assertEquals(expected, metadata);
-        }
+  @Test
+  public void testGeneratedAnnotations() {
+    Map<? extends TFieldIdEnum, FieldMetaData> structMetaDataMap =
+        FieldMetaData.getStructMetaDataMap(OneOfEachBeansWithAnnotations.class);
+    {
+      Map<String, String> metadata =
+          structMetaDataMap
+              .get(OneOfEachBeansWithAnnotations._Fields.I16_LIST)
+              .getFieldAnnotations();
+      assertEquals(Collections.emptyMap(), metadata);
     }
+    {
+      Map<String, String> metadata =
+          structMetaDataMap.get(OneOfEachBeansWithAnnotations._Fields.A_BITE).getFieldAnnotations();
+      Map<String, String> expected = new HashMap<>();
+      expected.put("compression", "false");
+      assertEquals(expected, metadata);
+    }
+  }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/TestDeepCopy.java b/lib/java/src/test/java/org/apache/thrift/TestDeepCopy.java
index 8fd9a97..7f243b3 100644
--- a/lib/java/src/test/java/org/apache/thrift/TestDeepCopy.java
+++ b/lib/java/src/test/java/org/apache/thrift/TestDeepCopy.java
@@ -1,12 +1,12 @@
 package org.apache.thrift;
 
+import static org.junit.jupiter.api.Assertions.assertNotSame;
+
 import org.junit.jupiter.api.Test;
 import thrift.test.DeepCopyBar;
 import thrift.test.DeepCopyFoo;
 
-import static org.junit.jupiter.api.Assertions.assertNotSame;
-
-public class TestDeepCopy  {
+public class TestDeepCopy {
 
   @Test
   public void testDeepCopy() throws Exception {
@@ -26,12 +26,16 @@
 
     assertNotSame(foo.getBar(), deepCopyFoo.getBar());
 
-    assertNotSame(foo.getL().get(0),                          deepCopyFoo.getL().get(0));
-    assertNotSame(foo.getS().toArray(new DeepCopyBar[0])[0],  deepCopyFoo.getS().toArray(new DeepCopyBar[0])[0]);
-    assertNotSame(foo.getM().get("test 3"),                   deepCopyFoo.getM().get("test 3"));
+    assertNotSame(foo.getL().get(0), deepCopyFoo.getL().get(0));
+    assertNotSame(
+        foo.getS().toArray(new DeepCopyBar[0])[0],
+        deepCopyFoo.getS().toArray(new DeepCopyBar[0])[0]);
+    assertNotSame(foo.getM().get("test 3"), deepCopyFoo.getM().get("test 3"));
 
-    assertNotSame(foo.getLi().get(0),                                 deepCopyFoo.getLi().get(0));
-    assertNotSame(foo.getSi().toArray(new thrift.test.Object[0])[0],  deepCopyFoo.getSi().toArray(new thrift.test.Object[0])[0]);
-    assertNotSame(foo.getMi().get("test 3"),                          deepCopyFoo.getMi().get("test 3"));
+    assertNotSame(foo.getLi().get(0), deepCopyFoo.getLi().get(0));
+    assertNotSame(
+        foo.getSi().toArray(new thrift.test.Object[0])[0],
+        deepCopyFoo.getSi().toArray(new thrift.test.Object[0])[0]);
+    assertNotSame(foo.getMi().get("test 3"), deepCopyFoo.getMi().get("test 3"));
   }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/TestEnumContainers.java b/lib/java/src/test/java/org/apache/thrift/TestEnumContainers.java
index b7b2913..5e3a993 100644
--- a/lib/java/src/test/java/org/apache/thrift/TestEnumContainers.java
+++ b/lib/java/src/test/java/org/apache/thrift/TestEnumContainers.java
@@ -19,70 +19,70 @@
 
 package org.apache.thrift;
 
-import org.junit.jupiter.api.Test;
-import thrift.test.enumcontainers.EnumContainersTestConstants;
-import thrift.test.enumcontainers.GodBean;
-import thrift.test.enumcontainers.GreekGodGoddess;
-
-import java.util.EnumMap;
-import java.util.EnumSet;
-import java.util.HashMap;
-import java.util.HashSet;
-
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertNotSame;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-public class TestEnumContainers  {
+import java.util.EnumMap;
+import java.util.EnumSet;
+import java.util.HashMap;
+import java.util.HashSet;
+import org.junit.jupiter.api.Test;
+import thrift.test.enumcontainers.EnumContainersTestConstants;
+import thrift.test.enumcontainers.GodBean;
+import thrift.test.enumcontainers.GreekGodGoddess;
 
-    @Test
-    public void testEnumContainers() throws Exception {
-        final GodBean b1 = new GodBean();
-        b1.addToGoddess(GreekGodGoddess.HERA);
-        b1.getGoddess().add(GreekGodGoddess.APHRODITE);
-        b1.putToPower(GreekGodGoddess.ZEUS, 1000);
-        b1.getPower().put(GreekGodGoddess.HERA, 333);
-        b1.putToByAlias("Mr. Z", GreekGodGoddess.ZEUS);
-        b1.addToImages("Baths of Aphrodite 01.jpeg");
+public class TestEnumContainers {
 
-        final GodBean b2 = new GodBean(b1);
+  @Test
+  public void testEnumContainers() throws Exception {
+    final GodBean b1 = new GodBean();
+    b1.addToGoddess(GreekGodGoddess.HERA);
+    b1.getGoddess().add(GreekGodGoddess.APHRODITE);
+    b1.putToPower(GreekGodGoddess.ZEUS, 1000);
+    b1.getPower().put(GreekGodGoddess.HERA, 333);
+    b1.putToByAlias("Mr. Z", GreekGodGoddess.ZEUS);
+    b1.addToImages("Baths of Aphrodite 01.jpeg");
 
-        final GodBean b3 = new GodBean();
-        {
-            final TSerializer serializer = new TSerializer();
-            final TDeserializer deserializer = new TDeserializer();
+    final GodBean b2 = new GodBean(b1);
 
-            final byte[] bytes = serializer.serialize(b1);
-            deserializer.deserialize(b3, bytes);
-        }
+    final GodBean b3 = new GodBean();
+    {
+      final TSerializer serializer = new TSerializer();
+      final TDeserializer deserializer = new TDeserializer();
 
-        assertNotSame(b1.getGoddess(), b2.getGoddess());
-        assertNotSame(b1.getPower(), b2.getPower());
-
-        assertNotSame(b1.getGoddess(), b3.getGoddess());
-        assertNotSame(b1.getPower(), b3.getPower());
-
-        for (GodBean each : new GodBean[]{b1, b2, b3}) {
-            assertTrue(each.getGoddess().contains(GreekGodGoddess.HERA));
-            assertFalse(each.getGoddess().contains(GreekGodGoddess.POSEIDON));
-            assertTrue(each.getGoddess() instanceof EnumSet);
-
-            assertEquals(Integer.valueOf(1000), each.getPower().get(GreekGodGoddess.ZEUS));
-            assertEquals(Integer.valueOf(333), each.getPower().get(GreekGodGoddess.HERA));
-            assertTrue(each.getPower() instanceof EnumMap);
-
-            assertTrue(each.getByAlias() instanceof HashMap);
-            assertTrue(each.getImages() instanceof HashSet);
-        }
+      final byte[] bytes = serializer.serialize(b1);
+      deserializer.deserialize(b3, bytes);
     }
 
-    @Test
-    public void testEnumConstants() {
-        assertEquals("lightning bolt", EnumContainersTestConstants.ATTRIBUTES.get(GreekGodGoddess.ZEUS));
-        assertTrue(EnumContainersTestConstants.ATTRIBUTES instanceof EnumMap);
+    assertNotSame(b1.getGoddess(), b2.getGoddess());
+    assertNotSame(b1.getPower(), b2.getPower());
 
-        assertTrue(EnumContainersTestConstants.BEAUTY.contains(GreekGodGoddess.APHRODITE));
-        assertTrue(EnumContainersTestConstants.BEAUTY instanceof EnumSet);
+    assertNotSame(b1.getGoddess(), b3.getGoddess());
+    assertNotSame(b1.getPower(), b3.getPower());
+
+    for (GodBean each : new GodBean[] {b1, b2, b3}) {
+      assertTrue(each.getGoddess().contains(GreekGodGoddess.HERA));
+      assertFalse(each.getGoddess().contains(GreekGodGoddess.POSEIDON));
+      assertTrue(each.getGoddess() instanceof EnumSet);
+
+      assertEquals(Integer.valueOf(1000), each.getPower().get(GreekGodGoddess.ZEUS));
+      assertEquals(Integer.valueOf(333), each.getPower().get(GreekGodGoddess.HERA));
+      assertTrue(each.getPower() instanceof EnumMap);
+
+      assertTrue(each.getByAlias() instanceof HashMap);
+      assertTrue(each.getImages() instanceof HashSet);
     }
+  }
+
+  @Test
+  public void testEnumConstants() {
+    assertEquals(
+        "lightning bolt", EnumContainersTestConstants.ATTRIBUTES.get(GreekGodGoddess.ZEUS));
+    assertTrue(EnumContainersTestConstants.ATTRIBUTES instanceof EnumMap);
+
+    assertTrue(EnumContainersTestConstants.BEAUTY.contains(GreekGodGoddess.APHRODITE));
+    assertTrue(EnumContainersTestConstants.BEAUTY instanceof EnumSet);
+  }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/TestFullCamel.java b/lib/java/src/test/java/org/apache/thrift/TestFullCamel.java
index 4566204..008195c 100644
--- a/lib/java/src/test/java/org/apache/thrift/TestFullCamel.java
+++ b/lib/java/src/test/java/org/apache/thrift/TestFullCamel.java
@@ -19,21 +19,21 @@
 
 package org.apache.thrift;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
 import org.apache.thrift.protocol.TBinaryProtocol;
 import org.junit.jupiter.api.Test;
 import thrift.test.fullcamel.OneOfEachZZ;
 import thrift.test.fullcamel.UnderscoreSrv;
 
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
 // Sanity check for the code generated by 'fullcamel'.
 //
-public class TestFullCamel  {
+public class TestFullCamel {
 
   @Test
   public void testCamelCaseSyntax() throws Exception {
-    TSerializer   binarySerializer   = new   TSerializer(new TBinaryProtocol.Factory());
+    TSerializer binarySerializer = new TSerializer(new TBinaryProtocol.Factory());
     TDeserializer binaryDeserializer = new TDeserializer(new TBinaryProtocol.Factory());
 
     OneOfEachZZ obj = new OneOfEachZZ();
@@ -47,13 +47,13 @@
 
   @Test
   public void testCamelCaseRpcMethods() throws Exception {
-    final UnderscoreSrv.Iface srv = new UnderscoreSrv.Iface() {
-      @Override
-      public long someRpcCall(String message) {
-        return 1l;
-      }
-    };
+    final UnderscoreSrv.Iface srv =
+        new UnderscoreSrv.Iface() {
+          @Override
+          public long someRpcCall(String message) {
+            return 1l;
+          }
+        };
     assertTrue(1l == srv.someRpcCall("test"));
   }
 }
-
diff --git a/lib/java/src/test/java/org/apache/thrift/TestMultiplexedProcessor.java b/lib/java/src/test/java/org/apache/thrift/TestMultiplexedProcessor.java
index 7b00cca..efd1882 100644
--- a/lib/java/src/test/java/org/apache/thrift/TestMultiplexedProcessor.java
+++ b/lib/java/src/test/java/org/apache/thrift/TestMultiplexedProcessor.java
@@ -19,18 +19,18 @@
 
 package org.apache.thrift;
 
-import org.apache.thrift.protocol.TMessage;
-import org.apache.thrift.protocol.TMessageType;
-import org.apache.thrift.protocol.TProtocol;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.mockito.Matchers.any;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import org.apache.thrift.protocol.TMessage;
+import org.apache.thrift.protocol.TMessageType;
+import org.apache.thrift.protocol.TProtocol;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
 public class TestMultiplexedProcessor {
   private TMultiplexedProcessor mp;
   private TProtocol iprot;
@@ -45,22 +45,22 @@
 
   @Test
   public void testWrongMessageType() throws TException {
-    when (iprot.readMessageBegin()).thenReturn(new TMessage("service:func", TMessageType.REPLY, 42));
-    assertThrows(TException.class, ()->mp.process(iprot, oprot));
+    when(iprot.readMessageBegin()).thenReturn(new TMessage("service:func", TMessageType.REPLY, 42));
+    assertThrows(TException.class, () -> mp.process(iprot, oprot));
   }
 
   @Test
   public void testNoSuchService() throws TException {
     when(iprot.readMessageBegin()).thenReturn(new TMessage("service:func", TMessageType.CALL, 42));
 
-    assertThrows(TException.class, ()->mp.process(iprot, oprot));
+    assertThrows(TException.class, () -> mp.process(iprot, oprot));
   }
 
   static class StubProcessor implements TProcessor {
     @Override
     public void process(TProtocol in, TProtocol out) throws TException {
       TMessage msg = in.readMessageBegin();
-      if (!"func".equals(msg.name) || msg.type!=TMessageType.CALL || msg.seqid!=42) {
+      if (!"func".equals(msg.name) || msg.type != TMessageType.CALL || msg.seqid != 42) {
         throw new TException("incorrect parameters");
       }
       out.writeMessageBegin(new TMessage("func", TMessageType.REPLY, 42));
@@ -82,5 +82,4 @@
     mp.process(iprot, oprot);
     verify(oprot).writeMessageBegin(any(TMessage.class));
   }
-
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/TestOptionType.java b/lib/java/src/test/java/org/apache/thrift/TestOptionType.java
index 6365203..e0ac9cb 100644
--- a/lib/java/src/test/java/org/apache/thrift/TestOptionType.java
+++ b/lib/java/src/test/java/org/apache/thrift/TestOptionType.java
@@ -19,49 +19,49 @@
 
 package org.apache.thrift;
 
-import org.junit.jupiter.api.Test;
-
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
+import org.junit.jupiter.api.Test;
+
 // Tests and documents behavior for the "Option<T>" type
-public class TestOptionType  {
-    @Test
-    public void testSome() {
-        String name = "Chuck Norris";
-        Option<String> option = Option.fromNullable(name);
+public class TestOptionType {
+  @Test
+  public void testSome() {
+    String name = "Chuck Norris";
+    Option<String> option = Option.fromNullable(name);
 
-        assertTrue(option instanceof Option.Some);
-        assertTrue(option.isDefined());
-        assertEquals("Some(Chuck Norris)", option.toString());
-        assertEquals(option.or("default value"), "Chuck Norris");
-        assertEquals(option.get(),"Chuck Norris");
-    }
+    assertTrue(option instanceof Option.Some);
+    assertTrue(option.isDefined());
+    assertEquals("Some(Chuck Norris)", option.toString());
+    assertEquals(option.or("default value"), "Chuck Norris");
+    assertEquals(option.get(), "Chuck Norris");
+  }
 
-    @Test
-    public void testNone() throws Exception {
-        String name = null;
-        Option<String> option = Option.fromNullable(name);
+  @Test
+  public void testNone() throws Exception {
+    String name = null;
+    Option<String> option = Option.fromNullable(name);
 
-        assertTrue(option instanceof Option.None);
-        assertFalse(option.isDefined());
-        assertEquals("None", option.toString());
-        assertEquals(option.or("default value"), "default value");
-        // Expect exception
-        assertThrows(IllegalStateException.class, option::get);
-    }
+    assertTrue(option instanceof Option.None);
+    assertFalse(option.isDefined());
+    assertEquals("None", option.toString());
+    assertEquals(option.or("default value"), "default value");
+    // Expect exception
+    assertThrows(IllegalStateException.class, option::get);
+  }
 
-    @Test
-    public void testMakeSome() throws Exception {
-        Option<String> some = Option.some("wee");
-        assertTrue(some.isDefined());
-    }
+  @Test
+  public void testMakeSome() throws Exception {
+    Option<String> some = Option.some("wee");
+    assertTrue(some.isDefined());
+  }
 
-    @Test
-    public void testMakeNone() throws Exception {
-        Option<Integer> none = Option.none();
-        assertFalse(none.isDefined());
-    }
+  @Test
+  public void testMakeNone() throws Exception {
+    Option<Integer> none = Option.none();
+    assertFalse(none.isDefined());
+  }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/TestOptionals.java b/lib/java/src/test/java/org/apache/thrift/TestOptionals.java
index 38322ee..5d83a1b 100644
--- a/lib/java/src/test/java/org/apache/thrift/TestOptionals.java
+++ b/lib/java/src/test/java/org/apache/thrift/TestOptionals.java
@@ -19,27 +19,27 @@
 
 package org.apache.thrift;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
 import org.junit.jupiter.api.Test;
 import thrift.test.Opt30;
 import thrift.test.Opt4;
 import thrift.test.Opt64;
 import thrift.test.Opt80;
 
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
 // Exercises the isSet methods using structs from ManyOptionals.thrift
-public class TestOptionals  {
+public class TestOptionals {
   @Test
   public void testEncodingUtils() throws Exception {
-    assertEquals((short)0x8, EncodingUtils.setBit((short)0, 3, true));
-    assertEquals((short)0, EncodingUtils.setBit((short)0x8, 3, false));
+    assertEquals((short) 0x8, EncodingUtils.setBit((short) 0, 3, true));
+    assertEquals((short) 0, EncodingUtils.setBit((short) 0x8, 3, false));
     assertTrue(EncodingUtils.testBit((short) 0x8, 3));
     assertFalse(EncodingUtils.testBit((short) 0x8, 4));
 
-    assertEquals(Short.MIN_VALUE, EncodingUtils.setBit((short)0, 15, true));
-    assertEquals((short)0, EncodingUtils.setBit(Short.MIN_VALUE, 15, false));
+    assertEquals(Short.MIN_VALUE, EncodingUtils.setBit((short) 0, 15, true));
+    assertEquals((short) 0, EncodingUtils.setBit(Short.MIN_VALUE, 15, false));
     assertTrue(EncodingUtils.testBit(Short.MIN_VALUE, 15));
     assertFalse(EncodingUtils.testBit(Short.MIN_VALUE, 14));
   }
diff --git a/lib/java/src/test/java/org/apache/thrift/TestOptionalsWithJdk8.java b/lib/java/src/test/java/org/apache/thrift/TestOptionalsWithJdk8.java
index 2f3cf3b..e025910 100644
--- a/lib/java/src/test/java/org/apache/thrift/TestOptionalsWithJdk8.java
+++ b/lib/java/src/test/java/org/apache/thrift/TestOptionalsWithJdk8.java
@@ -19,52 +19,52 @@
 
 package org.apache.thrift;
 
-import org.junit.jupiter.api.Test;
-import thrift.test.optiontypejdk8.Person;
-
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
+import org.junit.jupiter.api.Test;
+import thrift.test.optiontypejdk8.Person;
+
 // Tests and documents behavior for the JDK8 "Option<T>" type
-public class TestOptionalsWithJdk8  {
+public class TestOptionalsWithJdk8 {
 
-    @Test
-    public void testConstruction() {
-        Person person = new Person(1L, "name");
-        assertFalse(person.getAge().isPresent());
-        assertFalse(person.isSetAge());
-        assertFalse(person.getPhone().isPresent());
-        assertFalse(person.isSetPhone());
-        assertEquals(1L, person.getId());
-        assertTrue(person.isSetId());
-        assertEquals("name", person.getName());
-        assertTrue(person.isSetName());
+  @Test
+  public void testConstruction() {
+    Person person = new Person(1L, "name");
+    assertFalse(person.getAge().isPresent());
+    assertFalse(person.isSetAge());
+    assertFalse(person.getPhone().isPresent());
+    assertFalse(person.isSetPhone());
+    assertEquals(1L, person.getId());
+    assertTrue(person.isSetId());
+    assertEquals("name", person.getName());
+    assertTrue(person.isSetName());
 
-        assertFalse(person.getAddresses().isPresent());
-        assertEquals(Integer.valueOf(0), person.getAddressesSize().orElse(0));
-        assertFalse(person.getPets().isPresent());
-        assertEquals(Integer.valueOf(0), person.getPetsSize().orElse(0));
-    }
+    assertFalse(person.getAddresses().isPresent());
+    assertEquals(Integer.valueOf(0), person.getAddressesSize().orElse(0));
+    assertFalse(person.getPets().isPresent());
+    assertEquals(Integer.valueOf(0), person.getPetsSize().orElse(0));
+  }
 
-    @Test
-    public void testEmpty() {
-        Person person = new Person();
-        person.setPhone("phone");
-        assertFalse(person.getAge().isPresent());
-        assertFalse(person.isSetAge());
-        assertTrue(person.getPhone().isPresent());
-        assertEquals("phone", person.getPhone().get());
-        assertTrue(person.isSetPhone());
-        assertEquals(0L, person.getId());
-        assertFalse(person.isSetId());
-        assertNull(person.getName());
-        assertFalse(person.isSetName());
+  @Test
+  public void testEmpty() {
+    Person person = new Person();
+    person.setPhone("phone");
+    assertFalse(person.getAge().isPresent());
+    assertFalse(person.isSetAge());
+    assertTrue(person.getPhone().isPresent());
+    assertEquals("phone", person.getPhone().get());
+    assertTrue(person.isSetPhone());
+    assertEquals(0L, person.getId());
+    assertFalse(person.isSetId());
+    assertNull(person.getName());
+    assertFalse(person.isSetName());
 
-        assertFalse(person.getAddresses().isPresent());
-        assertEquals(Integer.valueOf(0), person.getAddressesSize().orElse(0));
-        assertFalse(person.getPets().isPresent());
-        assertEquals(Integer.valueOf(0), person.getPetsSize().orElse(0));
-    }
+    assertFalse(person.getAddresses().isPresent());
+    assertEquals(Integer.valueOf(0), person.getAddressesSize().orElse(0));
+    assertFalse(person.getPets().isPresent());
+    assertEquals(Integer.valueOf(0), person.getPetsSize().orElse(0));
+  }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/TestRenderedDoubleConstants.java b/lib/java/src/test/java/org/apache/thrift/TestRenderedDoubleConstants.java
index b38f39c..2afc6ff 100644
--- a/lib/java/src/test/java/org/apache/thrift/TestRenderedDoubleConstants.java
+++ b/lib/java/src/test/java/org/apache/thrift/TestRenderedDoubleConstants.java
@@ -19,163 +19,209 @@
 
 package org.apache.thrift;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import org.junit.jupiter.api.Test;
 import thrift.test.DoubleConstantsTestConstants;
 
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
 public class TestRenderedDoubleConstants {
-    private static final double EPSILON = 0.0000001;
-    private static final String ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST =
-            "failed to verify a double constant generated by Thrift (expected = %f, got = %f)";
-    private static final String ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_LIST_TEST =
-            "failed to verify a list item by Thrift (expected = %f, got = %f)";
-    private static final String ASSERTION_MESSAGE_FOR_TYPE_CHECKS =
-            "the rendered variable with name %s is not of double type";
+  private static final double EPSILON = 0.0000001;
+  private static final String ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST =
+      "failed to verify a double constant generated by Thrift (expected = %f, got = %f)";
+  private static final String ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_LIST_TEST =
+      "failed to verify a list item by Thrift (expected = %f, got = %f)";
+  private static final String ASSERTION_MESSAGE_FOR_TYPE_CHECKS =
+      "the rendered variable with name %s is not of double type";
 
-    // to make sure lists containing doubles are generated correctly
-    @Test
-    public void testRenderedDoubleList() throws Exception {
-        final double[] EXPECTED_LIST =
-                {1d, -100d, 100d, 9223372036854775807d, -9223372036854775807d, 3.14159265359, 1000000.1, -1000000.1, 1.7e+308,
-                        -1.7e+308, 9223372036854775816.43, -9223372036854775816.43};
-        assertEquals(EXPECTED_LIST.length, DoubleConstantsTestConstants.DOUBLE_LIST_TEST.size());
-        for (int i = 0; i < EXPECTED_LIST.length; ++i) {
-            assertEquals(
-                    EXPECTED_LIST[i],
-                    DoubleConstantsTestConstants.DOUBLE_LIST_TEST.get(i), EPSILON, String.format(
-                            ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_LIST_TEST,
-                            EXPECTED_LIST[i],
-                            DoubleConstantsTestConstants.DOUBLE_LIST_TEST.get(i)));
-        }
+  // to make sure lists containing doubles are generated correctly
+  @Test
+  public void testRenderedDoubleList() throws Exception {
+    final double[] EXPECTED_LIST = {
+      1d,
+      -100d,
+      100d,
+      9223372036854775807d,
+      -9223372036854775807d,
+      3.14159265359,
+      1000000.1,
+      -1000000.1,
+      1.7e+308,
+      -1.7e+308,
+      9223372036854775816.43,
+      -9223372036854775816.43
+    };
+    assertEquals(EXPECTED_LIST.length, DoubleConstantsTestConstants.DOUBLE_LIST_TEST.size());
+    for (int i = 0; i < EXPECTED_LIST.length; ++i) {
+      assertEquals(
+          EXPECTED_LIST[i],
+          DoubleConstantsTestConstants.DOUBLE_LIST_TEST.get(i),
+          EPSILON,
+          String.format(
+              ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_LIST_TEST,
+              EXPECTED_LIST[i],
+              DoubleConstantsTestConstants.DOUBLE_LIST_TEST.get(i)));
     }
+  }
 
-    // to make sure the variables inside Thrift files are generated correctly
-    @Test
-    public void testRenderedDoubleConstants() throws Exception {
-        final double EXPECTED_DOUBLE_ASSIGNED_TO_INT_CONSTANT = 1.0;
-        final double EXPECTED_DOUBLE_ASSIGNED_TO_NEGATIVE_INT_CONSTANT = -100.0;
-        final double EXPECTED_DOUBLE_ASSIGNED_TO_LARGEST_INT_CONSTANT = 9223372036854775807.0;
-        final double EXPECTED_DOUBLE_ASSIGNED_TO_SMALLEST_INT_CONSTANT = -9223372036854775807.0;
-        final double EXPECTED_DOUBLE_ASSIGNED_TO_DOUBLE_WITH_MANY_DECIMALS = 3.14159265359;
-        final double EXPECTED_DOUBLE_ASSIGNED_TO_FRACTIONAL_DOUBLE = 1000000.1;
-        final double EXPECTED_DOUBLE_ASSIGNED_TO_NEGATIVE_FRACTIONAL_DOUBLE = -1000000.1;
-        final double EXPECTED_DOUBLE_ASSIGNED_TO_LARGE_DOUBLE = 1.7e+308;
-        final double EXPECTED_DOUBLE_ASSIGNED_TO_LARGE_FRACTIONAL_DOUBLE = 9223372036854775816.43;
-        final double EXPECTED_DOUBLE_ASSIGNED_TO_SMALL_DOUBLE = -1.7e+308;
-        final double EXPECTED_DOUBLE_ASSIGNED_TO_NEGATIVE_BUT_LARGE_FRACTIONAL_DOUBLE = -9223372036854775816.43;
-        assertEquals(
-                EXPECTED_DOUBLE_ASSIGNED_TO_INT_CONSTANT,
-                DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_INT_CONSTANT_TEST, EPSILON,
-                String.format(
-                        ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST,
-                        EXPECTED_DOUBLE_ASSIGNED_TO_INT_CONSTANT,
-                        DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_INT_CONSTANT_TEST));
-        assertEquals(
-                EXPECTED_DOUBLE_ASSIGNED_TO_NEGATIVE_INT_CONSTANT,
-                DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_NEGATIVE_INT_CONSTANT_TEST, EPSILON,
-                String.format(
-                        ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST,
-                        EXPECTED_DOUBLE_ASSIGNED_TO_NEGATIVE_INT_CONSTANT,
-                        DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_NEGATIVE_INT_CONSTANT_TEST));
-        assertEquals(
-                EXPECTED_DOUBLE_ASSIGNED_TO_LARGEST_INT_CONSTANT,
-                DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_LARGEST_INT_CONSTANT_TEST, EPSILON,
-                String.format(
-                        ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST,
-                        EXPECTED_DOUBLE_ASSIGNED_TO_LARGEST_INT_CONSTANT,
-                        DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_LARGEST_INT_CONSTANT_TEST));
-        assertEquals(
-                EXPECTED_DOUBLE_ASSIGNED_TO_SMALLEST_INT_CONSTANT,
-                DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_SMALLEST_INT_CONSTANT_TEST, EPSILON,
-                String.format(
-                        ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST,
-                        EXPECTED_DOUBLE_ASSIGNED_TO_SMALLEST_INT_CONSTANT,
-                        DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_SMALLEST_INT_CONSTANT_TEST));
-        assertEquals(
-                EXPECTED_DOUBLE_ASSIGNED_TO_DOUBLE_WITH_MANY_DECIMALS,
-                DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_DOUBLE_WITH_MANY_DECIMALS_TEST, EPSILON,
-                String.format(
-                        ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST,
-                        EXPECTED_DOUBLE_ASSIGNED_TO_DOUBLE_WITH_MANY_DECIMALS,
-                        DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_DOUBLE_WITH_MANY_DECIMALS_TEST));
-        assertEquals(
-                EXPECTED_DOUBLE_ASSIGNED_TO_FRACTIONAL_DOUBLE,
-                DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_FRACTIONAL_DOUBLE_TEST, EPSILON,
-                String.format(
-                        ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST,
-                        EXPECTED_DOUBLE_ASSIGNED_TO_FRACTIONAL_DOUBLE,
-                        DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_FRACTIONAL_DOUBLE_TEST));
-        assertEquals(
-                EXPECTED_DOUBLE_ASSIGNED_TO_NEGATIVE_FRACTIONAL_DOUBLE,
-                DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_NEGATIVE_FRACTIONAL_DOUBLE_TEST, EPSILON, String.format(
-                        ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST,
-                        EXPECTED_DOUBLE_ASSIGNED_TO_NEGATIVE_FRACTIONAL_DOUBLE,
-                        DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_NEGATIVE_FRACTIONAL_DOUBLE_TEST));
-        assertEquals(
-                EXPECTED_DOUBLE_ASSIGNED_TO_LARGE_DOUBLE,
-                DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_LARGE_DOUBLE_TEST, EPSILON,
-                String.format(
-                        ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST,
-                        EXPECTED_DOUBLE_ASSIGNED_TO_LARGE_DOUBLE,
-                        DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_LARGE_DOUBLE_TEST));
-        assertEquals(
-                EXPECTED_DOUBLE_ASSIGNED_TO_LARGE_FRACTIONAL_DOUBLE,
-                DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_LARGE_FRACTIONAL_DOUBLE_TEST, EPSILON,
-                String.format(
-                        ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST,
-                        EXPECTED_DOUBLE_ASSIGNED_TO_LARGE_FRACTIONAL_DOUBLE,
-                        DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_LARGE_FRACTIONAL_DOUBLE_TEST));
-        assertEquals(
-                EXPECTED_DOUBLE_ASSIGNED_TO_SMALL_DOUBLE,
-                DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_SMALL_DOUBLE_TEST, EPSILON,
-                String.format(
-                        ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST,
-                        EXPECTED_DOUBLE_ASSIGNED_TO_SMALL_DOUBLE,
-                        DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_SMALL_DOUBLE_TEST));
-        assertEquals(
-                EXPECTED_DOUBLE_ASSIGNED_TO_NEGATIVE_BUT_LARGE_FRACTIONAL_DOUBLE,
-                DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_NEGATIVE_BUT_LARGE_FRACTIONAL_DOUBLE_TEST, EPSILON,
-                String.format(
-                        ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST,
-                        EXPECTED_DOUBLE_ASSIGNED_TO_NEGATIVE_BUT_LARGE_FRACTIONAL_DOUBLE,
-                        DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_NEGATIVE_BUT_LARGE_FRACTIONAL_DOUBLE_TEST));
-        assertTrue(
-                Double.class.isInstance(DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_INT_CONSTANT_TEST),
-                String.format(ASSERTION_MESSAGE_FOR_TYPE_CHECKS, "DOUBLE_ASSIGNED_TO_INT_CONSTANT_TEST"));
-        assertTrue(
-                Double.class.isInstance(DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_NEGATIVE_INT_CONSTANT_TEST),
-                String.format(ASSERTION_MESSAGE_FOR_TYPE_CHECKS, "DOUBLE_ASSIGNED_TO_NEGATIVE_INT_CONSTANT_TEST"));
-        assertTrue(
-                Double.class.isInstance(DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_LARGEST_INT_CONSTANT_TEST),
-                String.format(ASSERTION_MESSAGE_FOR_TYPE_CHECKS, "DOUBLE_ASSIGNED_TO_LARGEST_INT_CONSTANT_TEST"));
-        assertTrue(
-                Double.class.isInstance(DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_SMALLEST_INT_CONSTANT_TEST),
-                String.format(ASSERTION_MESSAGE_FOR_TYPE_CHECKS, "DOUBLE_ASSIGNED_TO_SMALLEST_INT_CONSTANT_TEST"));
-        assertTrue(
-                Double.class.isInstance(DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_DOUBLE_WITH_MANY_DECIMALS_TEST),
-                String.format(ASSERTION_MESSAGE_FOR_TYPE_CHECKS, "DOUBLE_ASSIGNED_TO_DOUBLE_WITH_MANY_DECIMALS_TEST"));
-        assertTrue(
-                Double.class.isInstance(DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_FRACTIONAL_DOUBLE_TEST),
-                String.format(ASSERTION_MESSAGE_FOR_TYPE_CHECKS, "DOUBLE_ASSIGNED_TO_FRACTIONAL_DOUBLE_TEST"));
-        assertTrue(
-                Double.class.isInstance(DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_NEGATIVE_FRACTIONAL_DOUBLE_TEST),
-                String.format(ASSERTION_MESSAGE_FOR_TYPE_CHECKS, "DOUBLE_ASSIGNED_TO_NEGATIVE_FRACTIONAL_DOUBLE_TEST"));
-        //assertTrue(
-        //    String.format(ASSERTION_MESSAGE_FOR_TYPE_CHECKS, "DOUBLE_ASSIGNED_TO_LARGE_DOUBLE_TEST"),
-        //    Double.class.isInstance(DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_LARGE_DOUBLE_TEST));
-        assertTrue(
-                Double.class.isInstance(DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_LARGE_FRACTIONAL_DOUBLE_TEST),
-                String.format(ASSERTION_MESSAGE_FOR_TYPE_CHECKS, "DOUBLE_ASSIGNED_TO_LARGE_FRACTIONAL_DOUBLE_TEST"));
-        //assertTrue(
-        //    String.format(ASSERTION_MESSAGE_FOR_TYPE_CHECKS, "DOUBLE_ASSIGNED_TO_SMALL_DOUBLE_TEST"),
-        //    Double.class.isInstance(DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_SMALL_DOUBLE_TEST));
-        assertTrue(
-                Double.class.isInstance(
-                                DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_NEGATIVE_BUT_LARGE_FRACTIONAL_DOUBLE_TEST),
-                String.format(
-                                ASSERTION_MESSAGE_FOR_TYPE_CHECKS, "DOUBLE_ASSIGNED_TO_NEGATIVE_BUT_LARGE_FRACTIONAL_DOUBLE_TEST"));
-    }
+  // to make sure the variables inside Thrift files are generated correctly
+  @Test
+  public void testRenderedDoubleConstants() throws Exception {
+    final double EXPECTED_DOUBLE_ASSIGNED_TO_INT_CONSTANT = 1.0;
+    final double EXPECTED_DOUBLE_ASSIGNED_TO_NEGATIVE_INT_CONSTANT = -100.0;
+    final double EXPECTED_DOUBLE_ASSIGNED_TO_LARGEST_INT_CONSTANT = 9223372036854775807.0;
+    final double EXPECTED_DOUBLE_ASSIGNED_TO_SMALLEST_INT_CONSTANT = -9223372036854775807.0;
+    final double EXPECTED_DOUBLE_ASSIGNED_TO_DOUBLE_WITH_MANY_DECIMALS = 3.14159265359;
+    final double EXPECTED_DOUBLE_ASSIGNED_TO_FRACTIONAL_DOUBLE = 1000000.1;
+    final double EXPECTED_DOUBLE_ASSIGNED_TO_NEGATIVE_FRACTIONAL_DOUBLE = -1000000.1;
+    final double EXPECTED_DOUBLE_ASSIGNED_TO_LARGE_DOUBLE = 1.7e+308;
+    final double EXPECTED_DOUBLE_ASSIGNED_TO_LARGE_FRACTIONAL_DOUBLE = 9223372036854775816.43;
+    final double EXPECTED_DOUBLE_ASSIGNED_TO_SMALL_DOUBLE = -1.7e+308;
+    final double EXPECTED_DOUBLE_ASSIGNED_TO_NEGATIVE_BUT_LARGE_FRACTIONAL_DOUBLE =
+        -9223372036854775816.43;
+    assertEquals(
+        EXPECTED_DOUBLE_ASSIGNED_TO_INT_CONSTANT,
+        DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_INT_CONSTANT_TEST,
+        EPSILON,
+        String.format(
+            ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST,
+            EXPECTED_DOUBLE_ASSIGNED_TO_INT_CONSTANT,
+            DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_INT_CONSTANT_TEST));
+    assertEquals(
+        EXPECTED_DOUBLE_ASSIGNED_TO_NEGATIVE_INT_CONSTANT,
+        DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_NEGATIVE_INT_CONSTANT_TEST,
+        EPSILON,
+        String.format(
+            ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST,
+            EXPECTED_DOUBLE_ASSIGNED_TO_NEGATIVE_INT_CONSTANT,
+            DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_NEGATIVE_INT_CONSTANT_TEST));
+    assertEquals(
+        EXPECTED_DOUBLE_ASSIGNED_TO_LARGEST_INT_CONSTANT,
+        DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_LARGEST_INT_CONSTANT_TEST,
+        EPSILON,
+        String.format(
+            ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST,
+            EXPECTED_DOUBLE_ASSIGNED_TO_LARGEST_INT_CONSTANT,
+            DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_LARGEST_INT_CONSTANT_TEST));
+    assertEquals(
+        EXPECTED_DOUBLE_ASSIGNED_TO_SMALLEST_INT_CONSTANT,
+        DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_SMALLEST_INT_CONSTANT_TEST,
+        EPSILON,
+        String.format(
+            ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST,
+            EXPECTED_DOUBLE_ASSIGNED_TO_SMALLEST_INT_CONSTANT,
+            DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_SMALLEST_INT_CONSTANT_TEST));
+    assertEquals(
+        EXPECTED_DOUBLE_ASSIGNED_TO_DOUBLE_WITH_MANY_DECIMALS,
+        DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_DOUBLE_WITH_MANY_DECIMALS_TEST,
+        EPSILON,
+        String.format(
+            ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST,
+            EXPECTED_DOUBLE_ASSIGNED_TO_DOUBLE_WITH_MANY_DECIMALS,
+            DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_DOUBLE_WITH_MANY_DECIMALS_TEST));
+    assertEquals(
+        EXPECTED_DOUBLE_ASSIGNED_TO_FRACTIONAL_DOUBLE,
+        DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_FRACTIONAL_DOUBLE_TEST,
+        EPSILON,
+        String.format(
+            ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST,
+            EXPECTED_DOUBLE_ASSIGNED_TO_FRACTIONAL_DOUBLE,
+            DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_FRACTIONAL_DOUBLE_TEST));
+    assertEquals(
+        EXPECTED_DOUBLE_ASSIGNED_TO_NEGATIVE_FRACTIONAL_DOUBLE,
+        DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_NEGATIVE_FRACTIONAL_DOUBLE_TEST,
+        EPSILON,
+        String.format(
+            ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST,
+            EXPECTED_DOUBLE_ASSIGNED_TO_NEGATIVE_FRACTIONAL_DOUBLE,
+            DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_NEGATIVE_FRACTIONAL_DOUBLE_TEST));
+    assertEquals(
+        EXPECTED_DOUBLE_ASSIGNED_TO_LARGE_DOUBLE,
+        DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_LARGE_DOUBLE_TEST,
+        EPSILON,
+        String.format(
+            ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST,
+            EXPECTED_DOUBLE_ASSIGNED_TO_LARGE_DOUBLE,
+            DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_LARGE_DOUBLE_TEST));
+    assertEquals(
+        EXPECTED_DOUBLE_ASSIGNED_TO_LARGE_FRACTIONAL_DOUBLE,
+        DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_LARGE_FRACTIONAL_DOUBLE_TEST,
+        EPSILON,
+        String.format(
+            ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST,
+            EXPECTED_DOUBLE_ASSIGNED_TO_LARGE_FRACTIONAL_DOUBLE,
+            DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_LARGE_FRACTIONAL_DOUBLE_TEST));
+    assertEquals(
+        EXPECTED_DOUBLE_ASSIGNED_TO_SMALL_DOUBLE,
+        DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_SMALL_DOUBLE_TEST,
+        EPSILON,
+        String.format(
+            ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST,
+            EXPECTED_DOUBLE_ASSIGNED_TO_SMALL_DOUBLE,
+            DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_SMALL_DOUBLE_TEST));
+    assertEquals(
+        EXPECTED_DOUBLE_ASSIGNED_TO_NEGATIVE_BUT_LARGE_FRACTIONAL_DOUBLE,
+        DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_NEGATIVE_BUT_LARGE_FRACTIONAL_DOUBLE_TEST,
+        EPSILON,
+        String.format(
+            ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST,
+            EXPECTED_DOUBLE_ASSIGNED_TO_NEGATIVE_BUT_LARGE_FRACTIONAL_DOUBLE,
+            DoubleConstantsTestConstants
+                .DOUBLE_ASSIGNED_TO_NEGATIVE_BUT_LARGE_FRACTIONAL_DOUBLE_TEST));
+    assertTrue(
+        Double.class.isInstance(DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_INT_CONSTANT_TEST),
+        String.format(ASSERTION_MESSAGE_FOR_TYPE_CHECKS, "DOUBLE_ASSIGNED_TO_INT_CONSTANT_TEST"));
+    assertTrue(
+        Double.class.isInstance(
+            DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_NEGATIVE_INT_CONSTANT_TEST),
+        String.format(
+            ASSERTION_MESSAGE_FOR_TYPE_CHECKS, "DOUBLE_ASSIGNED_TO_NEGATIVE_INT_CONSTANT_TEST"));
+    assertTrue(
+        Double.class.isInstance(
+            DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_LARGEST_INT_CONSTANT_TEST),
+        String.format(
+            ASSERTION_MESSAGE_FOR_TYPE_CHECKS, "DOUBLE_ASSIGNED_TO_LARGEST_INT_CONSTANT_TEST"));
+    assertTrue(
+        Double.class.isInstance(
+            DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_SMALLEST_INT_CONSTANT_TEST),
+        String.format(
+            ASSERTION_MESSAGE_FOR_TYPE_CHECKS, "DOUBLE_ASSIGNED_TO_SMALLEST_INT_CONSTANT_TEST"));
+    assertTrue(
+        Double.class.isInstance(
+            DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_DOUBLE_WITH_MANY_DECIMALS_TEST),
+        String.format(
+            ASSERTION_MESSAGE_FOR_TYPE_CHECKS,
+            "DOUBLE_ASSIGNED_TO_DOUBLE_WITH_MANY_DECIMALS_TEST"));
+    assertTrue(
+        Double.class.isInstance(
+            DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_FRACTIONAL_DOUBLE_TEST),
+        String.format(
+            ASSERTION_MESSAGE_FOR_TYPE_CHECKS, "DOUBLE_ASSIGNED_TO_FRACTIONAL_DOUBLE_TEST"));
+    assertTrue(
+        Double.class.isInstance(
+            DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_NEGATIVE_FRACTIONAL_DOUBLE_TEST),
+        String.format(
+            ASSERTION_MESSAGE_FOR_TYPE_CHECKS,
+            "DOUBLE_ASSIGNED_TO_NEGATIVE_FRACTIONAL_DOUBLE_TEST"));
+    // assertTrue(
+    //    String.format(ASSERTION_MESSAGE_FOR_TYPE_CHECKS, "DOUBLE_ASSIGNED_TO_LARGE_DOUBLE_TEST"),
+    //
+    // Double.class.isInstance(DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_LARGE_DOUBLE_TEST));
+    assertTrue(
+        Double.class.isInstance(
+            DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_LARGE_FRACTIONAL_DOUBLE_TEST),
+        String.format(
+            ASSERTION_MESSAGE_FOR_TYPE_CHECKS, "DOUBLE_ASSIGNED_TO_LARGE_FRACTIONAL_DOUBLE_TEST"));
+    // assertTrue(
+    //    String.format(ASSERTION_MESSAGE_FOR_TYPE_CHECKS, "DOUBLE_ASSIGNED_TO_SMALL_DOUBLE_TEST"),
+    //
+    // Double.class.isInstance(DoubleConstantsTestConstants.DOUBLE_ASSIGNED_TO_SMALL_DOUBLE_TEST));
+    assertTrue(
+        Double.class.isInstance(
+            DoubleConstantsTestConstants
+                .DOUBLE_ASSIGNED_TO_NEGATIVE_BUT_LARGE_FRACTIONAL_DOUBLE_TEST),
+        String.format(
+            ASSERTION_MESSAGE_FOR_TYPE_CHECKS,
+            "DOUBLE_ASSIGNED_TO_NEGATIVE_BUT_LARGE_FRACTIONAL_DOUBLE_TEST"));
+  }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/TestReuse.java b/lib/java/src/test/java/org/apache/thrift/TestReuse.java
index 56dc1d4..4fa81db 100644
--- a/lib/java/src/test/java/org/apache/thrift/TestReuse.java
+++ b/lib/java/src/test/java/org/apache/thrift/TestReuse.java
@@ -19,22 +19,21 @@
 
 package org.apache.thrift;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertSame;
+
+import java.util.HashSet;
 import org.apache.thrift.protocol.TBinaryProtocol;
 import org.junit.jupiter.api.Test;
 import thrift.test.Reuse;
 
-import java.util.HashSet;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertSame;
-
 // Tests reusing objects for deserialization.
 //
 public class TestReuse extends TestStruct {
 
   @Test
   public void testReuseObject() throws Exception {
-    TSerializer   binarySerializer   = new   TSerializer(new TBinaryProtocol.Factory());
+    TSerializer binarySerializer = new TSerializer(new TBinaryProtocol.Factory());
     TDeserializer binaryDeserializer = new TDeserializer(new TBinaryProtocol.Factory());
 
     Reuse ru1 = new Reuse();
@@ -57,5 +56,4 @@
     assertSame(hs1, ru1.getVal2());
     assertEquals(2, hs1.size());
   }
-
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/TestStruct.java b/lib/java/src/test/java/org/apache/thrift/TestStruct.java
index 84b00b4..17a00f1 100644
--- a/lib/java/src/test/java/org/apache/thrift/TestStruct.java
+++ b/lib/java/src/test/java/org/apache/thrift/TestStruct.java
@@ -18,6 +18,21 @@
  */
 package org.apache.thrift;
 
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.nio.ByteBuffer;
+import java.util.HashMap;
+import java.util.Map;
 import org.apache.thrift.meta_data.FieldMetaData;
 import org.apache.thrift.meta_data.ListMetaData;
 import org.apache.thrift.meta_data.MapMetaData;
@@ -38,26 +53,10 @@
 import thrift.test.StructB;
 import thrift.test.Xtruct;
 
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.nio.ByteBuffer;
-import java.util.HashMap;
-import java.util.Map;
-
-import static org.junit.jupiter.api.Assertions.assertArrayEquals;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertNull;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
 public class TestStruct {
   @Test
   public void testIdentity() throws Exception {
-    TSerializer   binarySerializer   = new   TSerializer(new TBinaryProtocol.Factory());
+    TSerializer binarySerializer = new TSerializer(new TBinaryProtocol.Factory());
     TDeserializer binaryDeserializer = new TDeserializer(new TBinaryProtocol.Factory());
 
     OneOfEach ooe = Fixtures.getOneOfEach();
@@ -67,37 +66,31 @@
     n.my_ooe.integer16 = 16;
     n.my_ooe.integer32 = 32;
     n.my_ooe.integer64 = 64;
-    n.my_ooe.double_precision = (Math.sqrt(5)+1)/2;
-    n.my_ooe.some_characters  = ":R (me going \"rrrr\")";
-    n.my_ooe.zomg_unicode     = "\u04c0\u216e\u039d\u0020\u041d\u03bf\u217f"+
-                                "\u043e\u0261\u0433\u0430\u03c1\u210e\u0020"+
-                                "\u0391\u0074\u0074\u03b1\u217d\u03ba\u01c3"+
-                                "\u203c";
+    n.my_ooe.double_precision = (Math.sqrt(5) + 1) / 2;
+    n.my_ooe.some_characters = ":R (me going \"rrrr\")";
+    n.my_ooe.zomg_unicode =
+        "\u04c0\u216e\u039d\u0020\u041d\u03bf\u217f"
+            + "\u043e\u0261\u0433\u0430\u03c1\u210e\u0020"
+            + "\u0391\u0074\u0074\u03b1\u217d\u03ba\u01c3"
+            + "\u203c";
     n.my_bonk = Fixtures.getNesting().my_bonk;
 
     HolyMoley hm = Fixtures.getHolyMoley();
 
     OneOfEach ooe2 = new OneOfEach();
-    binaryDeserializer.deserialize(
-        ooe2,
-        binarySerializer.serialize(ooe));
+    binaryDeserializer.deserialize(ooe2, binarySerializer.serialize(ooe));
 
     assertEquals(ooe, ooe2);
     assertEquals(ooe.hashCode(), ooe2.hashCode());
 
-
     Nesting n2 = new Nesting();
-    binaryDeserializer.deserialize(
-        n2,
-        binarySerializer.serialize(n));
+    binaryDeserializer.deserialize(n2, binarySerializer.serialize(n));
 
     assertEquals(n, n2);
     assertEquals(n.hashCode(), n2.hashCode());
 
     HolyMoley hm2 = new HolyMoley();
-    binaryDeserializer.deserialize(
-        hm2,
-        binarySerializer.serialize(hm));
+    binaryDeserializer.deserialize(hm2, binarySerializer.serialize(hm));
 
     assertEquals(hm, hm2);
     assertEquals(hm.hashCode(), hm2.hashCode());
@@ -105,7 +98,7 @@
 
   @Test
   public void testDeepCopy() throws Exception {
-    TSerializer   binarySerializer   = new   TSerializer(new TBinaryProtocol.Factory());
+    TSerializer binarySerializer = new TSerializer(new TBinaryProtocol.Factory());
     TDeserializer binaryDeserializer = new TDeserializer(new TBinaryProtocol.Factory());
 
     HolyMoley hm = Fixtures.getHolyMoley();
@@ -195,17 +188,21 @@
 
   private void expectLessThan(Insanity insanity1, Insanity insanity2) {
     int compareTo = insanity1.compareTo(insanity2);
-    assertTrue(compareTo < 0, insanity1 + " should be less than " + insanity2 + ", but is: " + compareTo);
+    assertTrue(
+        compareTo < 0, insanity1 + " should be less than " + insanity2 + ", but is: " + compareTo);
   }
 
   private void expectGreaterThan(Insanity insanity1, Insanity insanity2) {
     int compareTo = insanity1.compareTo(insanity2);
-    assertTrue(compareTo > 0, insanity1 + " should be greater than " + insanity2 + ", but is: " + compareTo);
+    assertTrue(
+        compareTo > 0,
+        insanity1 + " should be greater than " + insanity2 + ", but is: " + compareTo);
   }
 
   private void expectEquals(Insanity insanity1, Insanity insanity2) {
     int compareTo = insanity1.compareTo(insanity2);
-    assertEquals(0, compareTo, insanity1 + " should be equal to " + insanity2 + ", but is: " + compareTo);
+    assertEquals(
+        0, compareTo, insanity1 + " should be equal to " + insanity2 + ", but is: " + compareTo);
   }
 
   @Test
@@ -225,9 +222,13 @@
     assertEquals("set_field", mdMap.get(CrazyNesting._Fields.SET_FIELD).fieldName);
     assertEquals("binary_field", mdMap.get(CrazyNesting._Fields.BINARY_FIELD).fieldName);
 
-    assertEquals(TFieldRequirementType.DEFAULT, mdMap.get(CrazyNesting._Fields.STRING_FIELD).requirementType);
-    assertEquals(TFieldRequirementType.REQUIRED, mdMap.get(CrazyNesting._Fields.LIST_FIELD).requirementType);
-    assertEquals(TFieldRequirementType.OPTIONAL, mdMap.get(CrazyNesting._Fields.SET_FIELD).requirementType);
+    assertEquals(
+        TFieldRequirementType.DEFAULT,
+        mdMap.get(CrazyNesting._Fields.STRING_FIELD).requirementType);
+    assertEquals(
+        TFieldRequirementType.REQUIRED, mdMap.get(CrazyNesting._Fields.LIST_FIELD).requirementType);
+    assertEquals(
+        TFieldRequirementType.OPTIONAL, mdMap.get(CrazyNesting._Fields.SET_FIELD).requirementType);
 
     assertEquals(TType.STRING, mdMap.get(CrazyNesting._Fields.STRING_FIELD).valueMetaData.type);
     assertFalse(mdMap.get(CrazyNesting._Fields.STRING_FIELD).valueMetaData.isBinary());
@@ -241,9 +242,44 @@
 
     assertFalse(mdMap.get(CrazyNesting._Fields.LIST_FIELD).valueMetaData.isStruct());
 
-    assertEquals(TType.STRUCT, ((MapMetaData)((ListMetaData)((SetMetaData)((MapMetaData)((MapMetaData)((ListMetaData)mdMap.get(CrazyNesting._Fields.LIST_FIELD).valueMetaData).elemMetaData).valueMetaData).valueMetaData).elemMetaData).elemMetaData).keyMetaData.type);
+    assertEquals(
+        TType.STRUCT,
+        ((MapMetaData)
+                ((ListMetaData)
+                        ((SetMetaData)
+                                ((MapMetaData)
+                                        ((MapMetaData)
+                                                ((ListMetaData)
+                                                        mdMap.get(CrazyNesting._Fields.LIST_FIELD)
+                                                            .valueMetaData)
+                                                    .elemMetaData)
+                                            .valueMetaData)
+                                    .valueMetaData)
+                            .elemMetaData)
+                    .elemMetaData)
+            .keyMetaData
+            .type);
 
-    assertEquals(Insanity.class, ((StructMetaData)((MapMetaData)((ListMetaData)((SetMetaData)((MapMetaData)((MapMetaData)((ListMetaData)mdMap.get(CrazyNesting._Fields.LIST_FIELD).valueMetaData).elemMetaData).valueMetaData).valueMetaData).elemMetaData).elemMetaData).keyMetaData).structClass);
+    assertEquals(
+        Insanity.class,
+        ((StructMetaData)
+                ((MapMetaData)
+                        ((ListMetaData)
+                                ((SetMetaData)
+                                        ((MapMetaData)
+                                                ((MapMetaData)
+                                                        ((ListMetaData)
+                                                                mdMap.get(
+                                                                        CrazyNesting._Fields
+                                                                            .LIST_FIELD)
+                                                                    .valueMetaData)
+                                                            .elemMetaData)
+                                                    .valueMetaData)
+                                            .valueMetaData)
+                                    .elemMetaData)
+                            .elemMetaData)
+                    .keyMetaData)
+            .structClass);
 
     // Check that FieldMetaData contains a map with metadata for all generated struct classes
     assertNotNull(FieldMetaData.getStructMetaDataMap(CrazyNesting.class));
@@ -257,7 +293,8 @@
       assertEquals(mdEntry.getKey(), CrazyNesting._Fields.findByName(mdEntry.getValue().fieldName));
     }
 
-    MapMetaData vmd = (MapMetaData)Insanity.metaDataMap.get(Insanity._Fields.USER_MAP).valueMetaData;
+    MapMetaData vmd =
+        (MapMetaData) Insanity.metaDataMap.get(Insanity._Fields.USER_MAP).valueMetaData;
     assertTrue(vmd.valueMetaData.isTypedef());
     assertFalse(vmd.keyMetaData.isTypedef());
   }
@@ -268,56 +305,56 @@
     object.req_int = 0;
     object.req_obj = "";
 
-    object.req_bin = ByteBuffer.wrap(new byte[] {
-      0, -1, 2, -3, 4, -5, 6, -7, 8, -9, 10, -11, 12, -13, 14, -15,
-      16, -17, 18, -19, 20, -21, 22, -23, 24, -25, 26, -27, 28, -29,
-      30, -31, 32, -33, 34, -35, 36, -37, 38, -39, 40, -41, 42, -43, 44,
-      -45, 46, -47, 48, -49, 50, -51, 52, -53, 54, -55, 56, -57, 58, -59,
-      60, -61, 62, -63, 64, -65, 66, -67, 68, -69, 70, -71, 72, -73, 74,
-      -75, 76, -77, 78, -79, 80, -81, 82, -83, 84, -85, 86, -87, 88, -89,
-      90, -91, 92, -93, 94, -95, 96, -97, 98, -99, 100, -101, 102, -103,
-      104, -105, 106, -107, 108, -109, 110, -111, 112, -113, 114, -115,
-      116, -117, 118, -119, 120, -121, 122, -123, 124, -125, 126, -127,
-    });
+    object.req_bin =
+        ByteBuffer.wrap(
+            new byte[] {
+              0, -1, 2, -3, 4, -5, 6, -7, 8, -9, 10, -11, 12, -13, 14, -15, 16, -17, 18, -19, 20,
+              -21, 22, -23, 24, -25, 26, -27, 28, -29, 30, -31, 32, -33, 34, -35, 36, -37, 38, -39,
+              40, -41, 42, -43, 44, -45, 46, -47, 48, -49, 50, -51, 52, -53, 54, -55, 56, -57, 58,
+              -59, 60, -61, 62, -63, 64, -65, 66, -67, 68, -69, 70, -71, 72, -73, 74, -75, 76, -77,
+              78, -79, 80, -81, 82, -83, 84, -85, 86, -87, 88, -89, 90, -91, 92, -93, 94, -95, 96,
+              -97, 98, -99, 100, -101, 102, -103, 104, -105, 106, -107, 108, -109, 110, -111, 112,
+              -113, 114, -115, 116, -117, 118, -119, 120, -121, 122, -123, 124, -125, 126, -127,
+            });
 
-    assertEquals("JavaTestHelper(req_int:0, req_obj:, req_bin:"+
-        "00 FF 02 FD 04 FB 06 F9 08 F7 0A F5 0C F3 0E F1 10 EF 12 ED 14 "+
-        "EB 16 E9 18 E7 1A E5 1C E3 1E E1 20 DF 22 DD 24 DB 26 D9 28 D7 "+
-        "2A D5 2C D3 2E D1 30 CF 32 CD 34 CB 36 C9 38 C7 3A C5 3C C3 3E "+
-        "C1 40 BF 42 BD 44 BB 46 B9 48 B7 4A B5 4C B3 4E B1 50 AF 52 AD "+
-        "54 AB 56 A9 58 A7 5A A5 5C A3 5E A1 60 9F 62 9D 64 9B 66 99 68 "+
-        "97 6A 95 6C 93 6E 91 70 8F 72 8D 74 8B 76 89 78 87 7A 85 7C 83 "+
-        "7E 81)",
+    assertEquals(
+        "JavaTestHelper(req_int:0, req_obj:, req_bin:"
+            + "00 FF 02 FD 04 FB 06 F9 08 F7 0A F5 0C F3 0E F1 10 EF 12 ED 14 "
+            + "EB 16 E9 18 E7 1A E5 1C E3 1E E1 20 DF 22 DD 24 DB 26 D9 28 D7 "
+            + "2A D5 2C D3 2E D1 30 CF 32 CD 34 CB 36 C9 38 C7 3A C5 3C C3 3E "
+            + "C1 40 BF 42 BD 44 BB 46 B9 48 B7 4A B5 4C B3 4E B1 50 AF 52 AD "
+            + "54 AB 56 A9 58 A7 5A A5 5C A3 5E A1 60 9F 62 9D 64 9B 66 99 68 "
+            + "97 6A 95 6C 93 6E 91 70 8F 72 8D 74 8B 76 89 78 87 7A 85 7C 83 "
+            + "7E 81)",
         object.toString());
 
-    object.req_bin = ByteBuffer.wrap(new byte[] {
-      0, -1, 2, -3, 4, -5, 6, -7, 8, -9, 10, -11, 12, -13, 14, -15,
-      16, -17, 18, -19, 20, -21, 22, -23, 24, -25, 26, -27, 28, -29,
-      30, -31, 32, -33, 34, -35, 36, -37, 38, -39, 40, -41, 42, -43, 44,
-      -45, 46, -47, 48, -49, 50, -51, 52, -53, 54, -55, 56, -57, 58, -59,
-      60, -61, 62, -63, 64, -65, 66, -67, 68, -69, 70, -71, 72, -73, 74,
-      -75, 76, -77, 78, -79, 80, -81, 82, -83, 84, -85, 86, -87, 88, -89,
-      90, -91, 92, -93, 94, -95, 96, -97, 98, -99, 100, -101, 102, -103,
-      104, -105, 106, -107, 108, -109, 110, -111, 112, -113, 114, -115,
-      116, -117, 118, -119, 120, -121, 122, -123, 124, -125, 126, -127,
-      0,
-    });
+    object.req_bin =
+        ByteBuffer.wrap(
+            new byte[] {
+              0, -1, 2, -3, 4, -5, 6, -7, 8, -9, 10, -11, 12, -13, 14, -15, 16, -17, 18, -19, 20,
+              -21, 22, -23, 24, -25, 26, -27, 28, -29, 30, -31, 32, -33, 34, -35, 36, -37, 38, -39,
+              40, -41, 42, -43, 44, -45, 46, -47, 48, -49, 50, -51, 52, -53, 54, -55, 56, -57, 58,
+              -59, 60, -61, 62, -63, 64, -65, 66, -67, 68, -69, 70, -71, 72, -73, 74, -75, 76, -77,
+              78, -79, 80, -81, 82, -83, 84, -85, 86, -87, 88, -89, 90, -91, 92, -93, 94, -95, 96,
+              -97, 98, -99, 100, -101, 102, -103, 104, -105, 106, -107, 108, -109, 110, -111, 112,
+              -113, 114, -115, 116, -117, 118, -119, 120, -121, 122, -123, 124, -125, 126, -127, 0,
+            });
 
-    assertEquals("JavaTestHelper(req_int:0, req_obj:, req_bin:"+
-        "00 FF 02 FD 04 FB 06 F9 08 F7 0A F5 0C F3 0E F1 10 EF 12 ED 14 "+
-        "EB 16 E9 18 E7 1A E5 1C E3 1E E1 20 DF 22 DD 24 DB 26 D9 28 D7 "+
-        "2A D5 2C D3 2E D1 30 CF 32 CD 34 CB 36 C9 38 C7 3A C5 3C C3 3E "+
-        "C1 40 BF 42 BD 44 BB 46 B9 48 B7 4A B5 4C B3 4E B1 50 AF 52 AD "+
-        "54 AB 56 A9 58 A7 5A A5 5C A3 5E A1 60 9F 62 9D 64 9B 66 99 68 "+
-        "97 6A 95 6C 93 6E 91 70 8F 72 8D 74 8B 76 89 78 87 7A 85 7C 83 "+
-        "7E 81...)",
+    assertEquals(
+        "JavaTestHelper(req_int:0, req_obj:, req_bin:"
+            + "00 FF 02 FD 04 FB 06 F9 08 F7 0A F5 0C F3 0E F1 10 EF 12 ED 14 "
+            + "EB 16 E9 18 E7 1A E5 1C E3 1E E1 20 DF 22 DD 24 DB 26 D9 28 D7 "
+            + "2A D5 2C D3 2E D1 30 CF 32 CD 34 CB 36 C9 38 C7 3A C5 3C C3 3E "
+            + "C1 40 BF 42 BD 44 BB 46 B9 48 B7 4A B5 4C B3 4E B1 50 AF 52 AD "
+            + "54 AB 56 A9 58 A7 5A A5 5C A3 5E A1 60 9F 62 9D 64 9B 66 99 68 "
+            + "97 6A 95 6C 93 6E 91 70 8F 72 8D 74 8B 76 89 78 87 7A 85 7C 83 "
+            + "7E 81...)",
         object.toString());
 
     object.req_bin = ByteBuffer.wrap(new byte[] {});
     object.setOpt_binIsSet(true);
 
-    assertEquals("JavaTestHelper(req_int:0, req_obj:, req_bin:)",
-        object.toString());
+    assertEquals("JavaTestHelper(req_int:0, req_obj:, req_bin:)", object.toString());
   }
 
   @Test
@@ -326,13 +363,13 @@
     final String testString = "testBytesBufferFeatures";
     final JavaTestHelper o = new JavaTestHelper();
 
-    o.setReq_bin((ByteBuffer)null);
+    o.setReq_bin((ByteBuffer) null);
     assertNull(o.getReq_bin());
 
     o.setReq_bin(ByteBuffer.wrap(testString.getBytes()));
     assertArrayEquals(testString.getBytes(), o.getReq_bin());
 
-    o.setReq_bin((byte[])null);
+    o.setReq_bin((byte[]) null);
     assertNull(o.getReq_bin());
 
     o.setReq_bin(testString.getBytes());
diff --git a/lib/java/src/test/java/org/apache/thrift/TestTBaseHelper.java b/lib/java/src/test/java/org/apache/thrift/TestTBaseHelper.java
index b877afa..90ed6fd 100644
--- a/lib/java/src/test/java/org/apache/thrift/TestTBaseHelper.java
+++ b/lib/java/src/test/java/org/apache/thrift/TestTBaseHelper.java
@@ -18,7 +18,10 @@
  */
 package org.apache.thrift;
 
-import org.junit.jupiter.api.Test;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotSame;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.nio.ByteBuffer;
 import java.util.Arrays;
@@ -27,18 +30,12 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotSame;
-import static org.junit.jupiter.api.Assertions.assertNull;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-
-
-public class TestTBaseHelper  {
+public class TestTBaseHelper {
   @Test
   public void testByteArrayComparison() {
-    assertTrue(TBaseHelper.compareTo(new byte[]{'a','b'}, new byte[]{'a','c'}) < 0);
+    assertTrue(TBaseHelper.compareTo(new byte[] {'a', 'b'}, new byte[] {'a', 'c'}) < 0);
   }
 
   @Test
@@ -70,10 +67,10 @@
     Set<List<String>> a = new HashSet<>();
     Set<List<String>> b = new HashSet<>();
 
-    a.add(Arrays.asList("a","b"));
-    b.add(Arrays.asList("a","b", "c"));
-    a.add(Arrays.asList("a","b"));
-    b.add(Arrays.asList("a","b", "c"));
+    a.add(Arrays.asList("a", "b"));
+    b.add(Arrays.asList("a", "b", "c"));
+    a.add(Arrays.asList("a", "b"));
+    b.add(Arrays.asList("a", "b", "c"));
 
     assertTrue(TBaseHelper.compareTo(a, b) < 0);
   }
@@ -103,10 +100,10 @@
 
     assertEquals(0, TBaseHelper.compareTo(a, b));
 
-    a.put(new byte[]{'a','b'}, 1000L);
-    b.put(new byte[]{'a','b'}, 1000L);
-    a.put(new byte[]{'a','b', 'd'}, 1000L);
-    b.put(new byte[]{'a','b', 'a'}, 1000L);
+    a.put(new byte[] {'a', 'b'}, 1000L);
+    b.put(new byte[] {'a', 'b'}, 1000L);
+    a.put(new byte[] {'a', 'b', 'd'}, 1000L);
+    b.put(new byte[] {'a', 'b', 'a'}, 1000L);
     assertTrue(TBaseHelper.compareTo(a, b) > 0);
   }
 
@@ -150,16 +147,16 @@
     if (TBaseHelper.compareTo(a, b) != 0)
       throw new RuntimeException("Set compare failed:" + a + " vs. " + b);
 
-    a.add(new byte[]{'a','b'});
-    b.add(new byte[]{'a','b'});
-    a.add(new byte[]{'a','b', 'd'});
-    b.add(new byte[]{'a','b', 'a'});
+    a.add(new byte[] {'a', 'b'});
+    b.add(new byte[] {'a', 'b'});
+    a.add(new byte[] {'a', 'b', 'd'});
+    b.add(new byte[] {'a', 'b', 'a'});
     assertTrue(TBaseHelper.compareTo(a, b) > 0);
   }
 
   @Test
   public void testByteBufferToByteArray() throws Exception {
-    byte[] b1 = {10,9,8,7,6,5,4,3,2,1,0};
+    byte[] b1 = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0};
     byte[] b2 = TBaseHelper.byteBufferToByteArray(ByteBuffer.wrap(b1));
     assertEquals(b1, b2, "b1 and b2 should be the exact same array (identity) due to fast path");
 
@@ -175,7 +172,7 @@
 
   @Test
   public void testByteBufferToString() {
-    byte[] array = new byte[]{1, 2, 3};
+    byte[] array = new byte[] {1, 2, 3};
     ByteBuffer bb = ByteBuffer.wrap(array, 1, 2);
     StringBuilder sb = new StringBuilder();
     TBaseHelper.toString(bb, sb);
@@ -193,7 +190,7 @@
 
   @Test
   public void testCopyBinaryWithByteBuffer() throws Exception {
-    byte[] bytes = new byte[]{0, 1, 2, 3, 4, 5};
+    byte[] bytes = new byte[] {0, 1, 2, 3, 4, 5};
     ByteBuffer b = ByteBuffer.wrap(bytes);
     ByteBuffer bCopy = TBaseHelper.copyBinary(b);
     assertEquals(b, bCopy);
@@ -215,16 +212,16 @@
     b.reset();
     assertEquals(0, b.position());
 
-    assertNull(TBaseHelper.copyBinary((ByteBuffer)null));
+    assertNull(TBaseHelper.copyBinary((ByteBuffer) null));
   }
 
   @Test
   public void testCopyBinaryWithByteArray() throws Exception {
-    byte[] bytes = new byte[]{0, 1, 2, 3, 4, 5};
+    byte[] bytes = new byte[] {0, 1, 2, 3, 4, 5};
     byte[] copy = TBaseHelper.copyBinary(bytes);
     assertEquals(ByteBuffer.wrap(bytes), ByteBuffer.wrap(copy));
     assertNotSame(bytes, copy);
 
-    assertNull(TBaseHelper.copyBinary((byte[])null));
+    assertNull(TBaseHelper.copyBinary((byte[]) null));
   }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/TestTDeserializer.java b/lib/java/src/test/java/org/apache/thrift/TestTDeserializer.java
index c3b588e..8a02e3a 100644
--- a/lib/java/src/test/java/org/apache/thrift/TestTDeserializer.java
+++ b/lib/java/src/test/java/org/apache/thrift/TestTDeserializer.java
@@ -18,6 +18,9 @@
  */
 package org.apache.thrift;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+import java.nio.ByteBuffer;
 import org.apache.thrift.protocol.TBinaryProtocol;
 import org.apache.thrift.protocol.TCompactProtocol;
 import org.apache.thrift.protocol.TJSONProtocol;
@@ -29,21 +32,16 @@
 import thrift.test.StructWithAUnion;
 import thrift.test.TestUnion;
 
-import java.nio.ByteBuffer;
+public class TestTDeserializer {
 
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-public class TestTDeserializer  {
-
-  private static final TProtocolFactory[] PROTOCOLS = new TProtocolFactory[] {
-    new TBinaryProtocol.Factory(),
-    new TCompactProtocol.Factory(),
-    new TJSONProtocol.Factory()
-  };
+  private static final TProtocolFactory[] PROTOCOLS =
+      new TProtocolFactory[] {
+        new TBinaryProtocol.Factory(), new TCompactProtocol.Factory(), new TJSONProtocol.Factory()
+      };
 
   @Test
   public void testPartialDeserialize() throws Exception {
-    //Root:StructWithAUnion
+    // Root:StructWithAUnion
     //  1:Union
     //    1.3:OneOfEach
     OneOfEach level3OneOfEach = Fixtures.getOneOfEach();
@@ -55,73 +53,149 @@
 
     for (TProtocolFactory factory : PROTOCOLS) {
 
-      //Level 2 test
-      testPartialDeserialize(factory, level1SWU, new TestUnion(), level2TestUnion, StructWithAUnion._Fields.TEST_UNION);
+      // Level 2 test
+      testPartialDeserialize(
+          factory,
+          level1SWU,
+          new TestUnion(),
+          level2TestUnion,
+          StructWithAUnion._Fields.TEST_UNION);
 
-      //Level 3 on 3rd field test
-      testPartialDeserialize(factory, level1SWU, new OneOfEach(), level3OneOfEach, StructWithAUnion._Fields.TEST_UNION, TestUnion._Fields.STRUCT_FIELD);
+      // Level 3 on 3rd field test
+      testPartialDeserialize(
+          factory,
+          level1SWU,
+          new OneOfEach(),
+          level3OneOfEach,
+          StructWithAUnion._Fields.TEST_UNION,
+          TestUnion._Fields.STRUCT_FIELD);
 
-      //Test early termination when traversed path Field.id exceeds the one being searched for
-      testPartialDeserialize(factory, level1SWU, new OneOfEach(), new OneOfEach(), StructWithAUnion._Fields.TEST_UNION, TestUnion._Fields.I32_FIELD);
+      // Test early termination when traversed path Field.id exceeds the one being searched for
+      testPartialDeserialize(
+          factory,
+          level1SWU,
+          new OneOfEach(),
+          new OneOfEach(),
+          StructWithAUnion._Fields.TEST_UNION,
+          TestUnion._Fields.I32_FIELD);
 
-      //Test that readStructBegin isn't called on primitive
+      // Test that readStructBegin isn't called on primitive
       testPartialDeserialize(factory, pts, new Backwards(), bw, PrimitiveThenStruct._Fields.BW);
 
-      //Test primitive types
+      // Test primitive types
       TDeserializer deserializer = new TDeserializer(factory);
 
       Boolean expectedBool = level3OneOfEach.isIm_true();
-      Boolean resultBool = deserializer.partialDeserializeBool(serialize(level1SWU, factory), StructWithAUnion._Fields.TEST_UNION, TestUnion._Fields.STRUCT_FIELD, OneOfEach._Fields.IM_TRUE);
+      Boolean resultBool =
+          deserializer.partialDeserializeBool(
+              serialize(level1SWU, factory),
+              StructWithAUnion._Fields.TEST_UNION,
+              TestUnion._Fields.STRUCT_FIELD,
+              OneOfEach._Fields.IM_TRUE);
       assertEquals(expectedBool, resultBool);
 
       Byte expectedByte = level3OneOfEach.getA_bite();
-      Byte resultByte = deserializer.partialDeserializeByte(serialize(level1SWU, factory), StructWithAUnion._Fields.TEST_UNION, TestUnion._Fields.STRUCT_FIELD, OneOfEach._Fields.A_BITE);
+      Byte resultByte =
+          deserializer.partialDeserializeByte(
+              serialize(level1SWU, factory),
+              StructWithAUnion._Fields.TEST_UNION,
+              TestUnion._Fields.STRUCT_FIELD,
+              OneOfEach._Fields.A_BITE);
       assertEquals(expectedByte, resultByte);
 
       Double expectedDouble = level3OneOfEach.getDouble_precision();
-      Double resultDouble = deserializer.partialDeserializeDouble(serialize(level1SWU, factory), StructWithAUnion._Fields.TEST_UNION, TestUnion._Fields.STRUCT_FIELD, OneOfEach._Fields.DOUBLE_PRECISION);
+      Double resultDouble =
+          deserializer.partialDeserializeDouble(
+              serialize(level1SWU, factory),
+              StructWithAUnion._Fields.TEST_UNION,
+              TestUnion._Fields.STRUCT_FIELD,
+              OneOfEach._Fields.DOUBLE_PRECISION);
       assertEquals(expectedDouble, resultDouble);
 
       Short expectedI16 = level3OneOfEach.getInteger16();
-      Short resultI16 = deserializer.partialDeserializeI16(serialize(level1SWU, factory), StructWithAUnion._Fields.TEST_UNION, TestUnion._Fields.STRUCT_FIELD, OneOfEach._Fields.INTEGER16);
+      Short resultI16 =
+          deserializer.partialDeserializeI16(
+              serialize(level1SWU, factory),
+              StructWithAUnion._Fields.TEST_UNION,
+              TestUnion._Fields.STRUCT_FIELD,
+              OneOfEach._Fields.INTEGER16);
       assertEquals(expectedI16, resultI16);
 
       Integer expectedI32 = level3OneOfEach.getInteger32();
-      Integer resultI32 = deserializer.partialDeserializeI32(serialize(level1SWU, factory), StructWithAUnion._Fields.TEST_UNION, TestUnion._Fields.STRUCT_FIELD, OneOfEach._Fields.INTEGER32);
+      Integer resultI32 =
+          deserializer.partialDeserializeI32(
+              serialize(level1SWU, factory),
+              StructWithAUnion._Fields.TEST_UNION,
+              TestUnion._Fields.STRUCT_FIELD,
+              OneOfEach._Fields.INTEGER32);
       assertEquals(expectedI32, resultI32);
 
       Long expectedI64 = level3OneOfEach.getInteger64();
-      Long resultI64= deserializer.partialDeserializeI64(serialize(level1SWU, factory), StructWithAUnion._Fields.TEST_UNION, TestUnion._Fields.STRUCT_FIELD, OneOfEach._Fields.INTEGER64);
+      Long resultI64 =
+          deserializer.partialDeserializeI64(
+              serialize(level1SWU, factory),
+              StructWithAUnion._Fields.TEST_UNION,
+              TestUnion._Fields.STRUCT_FIELD,
+              OneOfEach._Fields.INTEGER64);
       assertEquals(expectedI64, resultI64);
 
       String expectedString = level3OneOfEach.getSome_characters();
-      String resultString = deserializer.partialDeserializeString(serialize(level1SWU, factory), StructWithAUnion._Fields.TEST_UNION, TestUnion._Fields.STRUCT_FIELD, OneOfEach._Fields.SOME_CHARACTERS);
+      String resultString =
+          deserializer.partialDeserializeString(
+              serialize(level1SWU, factory),
+              StructWithAUnion._Fields.TEST_UNION,
+              TestUnion._Fields.STRUCT_FIELD,
+              OneOfEach._Fields.SOME_CHARACTERS);
       assertEquals(expectedString, resultString);
 
       byte[] expectedBinary = level3OneOfEach.getBase64();
-      ByteBuffer resultBinary = deserializer.partialDeserializeByteArray(serialize(level1SWU, factory), StructWithAUnion._Fields.TEST_UNION, TestUnion._Fields.STRUCT_FIELD, OneOfEach._Fields.BASE64);
-      assertEquals(expectedBinary.length, resultBinary.limit() - resultBinary.position() - resultBinary.arrayOffset());
+      ByteBuffer resultBinary =
+          deserializer.partialDeserializeByteArray(
+              serialize(level1SWU, factory),
+              StructWithAUnion._Fields.TEST_UNION,
+              TestUnion._Fields.STRUCT_FIELD,
+              OneOfEach._Fields.BASE64);
+      assertEquals(
+          expectedBinary.length,
+          resultBinary.limit() - resultBinary.position() - resultBinary.arrayOffset());
       assertEquals(ByteBuffer.wrap(expectedBinary), resultBinary);
 
       // Test field id in Union
-      short id = deserializer.partialDeserializeSetFieldIdInUnion(serialize(level1SWU, factory), StructWithAUnion._Fields.TEST_UNION);
+      short id =
+          deserializer.partialDeserializeSetFieldIdInUnion(
+              serialize(level1SWU, factory), StructWithAUnion._Fields.TEST_UNION);
       assertEquals(level2TestUnion.getSetField().getThriftFieldId(), id);
     }
   }
 
-  private void testPartialDeserialize(TProtocolFactory protocolFactory, TBase input, TBase output, TBase expected, TFieldIdEnum fieldIdPathFirst, TFieldIdEnum ... fieldIdPathRest) throws TException {
+  private void testPartialDeserialize(
+      TProtocolFactory protocolFactory,
+      TBase input,
+      TBase output,
+      TBase expected,
+      TFieldIdEnum fieldIdPathFirst,
+      TFieldIdEnum... fieldIdPathRest)
+      throws TException {
     byte[] record = serialize(input, protocolFactory);
     TDeserializer deserializer = new TDeserializer(protocolFactory);
     for (int i = 0; i < 2; i++) {
       TBase outputCopy = output.deepCopy();
       deserializer.partialDeserialize(outputCopy, record, fieldIdPathFirst, fieldIdPathRest);
-      assertEquals(expected,
-              outputCopy, "on attempt " + i + ", with " + protocolFactory
-                + ", expected " + expected + " but got " + outputCopy);
+      assertEquals(
+          expected,
+          outputCopy,
+          "on attempt "
+              + i
+              + ", with "
+              + protocolFactory
+              + ", expected "
+              + expected
+              + " but got "
+              + outputCopy);
     }
   }
 
-  private static byte[] serialize(TBase input, TProtocolFactory protocolFactory) throws TException{
+  private static byte[] serialize(TBase input, TProtocolFactory protocolFactory) throws TException {
     return new TSerializer(protocolFactory).serialize(input);
   }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/TestTEnumHelper.java b/lib/java/src/test/java/org/apache/thrift/TestTEnumHelper.java
index e61b179..a059103 100644
--- a/lib/java/src/test/java/org/apache/thrift/TestTEnumHelper.java
+++ b/lib/java/src/test/java/org/apache/thrift/TestTEnumHelper.java
@@ -18,17 +18,17 @@
  */
 package org.apache.thrift;
 
-import org.junit.jupiter.api.Test;
-import thrift.test.Numberz;
-
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNull;
 
-public class TestTEnumHelper  {
+import org.junit.jupiter.api.Test;
+import thrift.test.Numberz;
+
+public class TestTEnumHelper {
 
   @Test
   public void testGetByValue_ValidValues() {
-    for (Numberz n: Numberz.values()) {
+    for (Numberz n : Numberz.values()) {
       int value = n.getValue();
       assertEquals(n, TEnumHelper.getByValue(Numberz.class, value));
     }
diff --git a/lib/java/src/test/java/org/apache/thrift/TestTUnion.java b/lib/java/src/test/java/org/apache/thrift/TestTUnion.java
index 36e87c0..9018f47 100644
--- a/lib/java/src/test/java/org/apache/thrift/TestTUnion.java
+++ b/lib/java/src/test/java/org/apache/thrift/TestTUnion.java
@@ -18,6 +18,24 @@
  */
 package org.apache.thrift;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotSame;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.nio.ByteBuffer;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
 import org.apache.thrift.protocol.TBinaryProtocol;
 import org.apache.thrift.protocol.TProtocol;
 import org.apache.thrift.protocol.TTupleProtocol;
@@ -31,26 +49,7 @@
 import thrift.test.TestUnion;
 import thrift.test.TestUnionMinusStringField;
 
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.nio.ByteBuffer;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertNotSame;
-import static org.junit.jupiter.api.Assertions.assertNull;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-public class TestTUnion  {
+public class TestTUnion {
 
   @Test
   public void testBasic() throws Exception {
@@ -65,7 +64,9 @@
       assertEquals(25, union.getFieldValue());
       assertEquals(25, union.getFieldValue(TestUnion._Fields.I32_FIELD));
       assertTrue(union.isSetI32_field());
-      assertThrows(IllegalArgumentException.class, () -> union.getFieldValue(TestUnion._Fields.STRING_FIELD));
+      assertThrows(
+          IllegalArgumentException.class,
+          () -> union.getFieldValue(TestUnion._Fields.STRING_FIELD));
     }
     {
       TestUnion union = new TestUnion();
@@ -104,12 +105,12 @@
     assertTrue(cu.compareTo(cu2) < 0);
     assertTrue(cu2.compareTo(cu) > 0);
 
-    cu2 = ComparableUnion.binary_field(ByteBuffer.wrap(new byte[]{2}));
+    cu2 = ComparableUnion.binary_field(ByteBuffer.wrap(new byte[] {2}));
 
     assertTrue(cu.compareTo(cu2) < 0);
     assertTrue(cu2.compareTo(cu) > 0);
 
-    cu = ComparableUnion.binary_field(ByteBuffer.wrap(new byte[]{1}));
+    cu = ComparableUnion.binary_field(ByteBuffer.wrap(new byte[] {1}));
 
     assertTrue(cu.compareTo(cu2) < 0);
     assertTrue(cu2.compareTo(cu) > 0);
@@ -125,7 +126,7 @@
     assertTrue(union3.compareTo(union4) < 0);
 
     Map<Integer, Integer> i32_map = new HashMap<Integer, Integer>();
-    i32_map.put(1,1);
+    i32_map.put(1, 1);
     TestUnion union5 = new TestUnion(TestUnion._Fields.I32_MAP, i32_map);
     TestUnion union6 = new TestUnion(TestUnion._Fields.I32_MAP, new HashMap<Integer, Integer>());
     assertTrue(union5.compareTo(union6) > 0);
@@ -185,7 +186,7 @@
   }
 
   @Test
-  public void testTupleProtocolSerialization () throws Exception {
+  public void testTupleProtocolSerialization() throws Exception {
     TestUnion union = new TestUnion(TestUnion._Fields.I32_FIELD, 25);
     union.setI32_set(Collections.singleton(42));
 
diff --git a/lib/java/src/test/java/org/apache/thrift/TestUnsafeBinaries.java b/lib/java/src/test/java/org/apache/thrift/TestUnsafeBinaries.java
index 7e7fc4b..15acf9a 100644
--- a/lib/java/src/test/java/org/apache/thrift/TestUnsafeBinaries.java
+++ b/lib/java/src/test/java/org/apache/thrift/TestUnsafeBinaries.java
@@ -19,20 +19,19 @@
 
 package org.apache.thrift;
 
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+
+import java.nio.ByteBuffer;
 import org.junit.jupiter.api.Test;
 import thrift.test.SafeBytes;
 import thrift.test.UnsafeBytes;
 
-import java.nio.ByteBuffer;
-
-import static org.junit.jupiter.api.Assertions.assertArrayEquals;
-
 //  test generating types with un-copied byte[]/ByteBuffer input/output
 //
 public class TestUnsafeBinaries {
 
   private static byte[] input() {
-    return new byte[]{1, 1};
+    return new byte[] {1, 1};
   }
 
   //
@@ -48,27 +47,26 @@
 
     input[0] = 2;
 
-    assertArrayEquals(new byte[]{2, 1}, struct.getBytes());
-
+    assertArrayEquals(new byte[] {2, 1}, struct.getBytes());
   }
 
   //  getter doesn't copy
-  //  note: this behavior is the same with/without the flag, but if this default ever changes, the current behavior
+  //  note: this behavior is the same with/without the flag, but if this default ever changes, the
+  // current behavior
   //        should be retained when using this flag
   @Test
-  public void testUnsafeGetter(){
+  public void testUnsafeGetter() {
     UnsafeBytes struct = new UnsafeBytes(ByteBuffer.wrap(input()));
 
     byte[] val = struct.getBytes();
     val[0] = 2;
 
-    assertArrayEquals(new byte[]{2, 1}, struct.getBytes());
-
+    assertArrayEquals(new byte[] {2, 1}, struct.getBytes());
   }
 
   //  setter doesn't copy
   @Test
-  public void testUnsafeSetter(){
+  public void testUnsafeSetter() {
     UnsafeBytes struct = new UnsafeBytes();
 
     byte[] val = input();
@@ -76,20 +74,18 @@
 
     val[0] = 2;
 
-    assertArrayEquals(new byte[]{2, 1}, struct.getBytes());
-
+    assertArrayEquals(new byte[] {2, 1}, struct.getBytes());
   }
 
   //  buffer doens't copy
   @Test
-  public void testUnsafeBufferFor(){
+  public void testUnsafeBufferFor() {
     UnsafeBytes struct = new UnsafeBytes(ByteBuffer.wrap(input()));
 
     ByteBuffer val = struct.bufferForBytes();
     val.array()[0] = 2;
 
-    assertArrayEquals(new byte[]{2, 1}, struct.getBytes());
-
+    assertArrayEquals(new byte[] {2, 1}, struct.getBytes());
   }
 
   //
@@ -104,8 +100,7 @@
 
     input[0] = 2;
 
-    assertArrayEquals(new byte[]{1, 1}, struct.getBytes());
-
+    assertArrayEquals(new byte[] {1, 1}, struct.getBytes());
   }
 
   @Test
@@ -116,19 +111,16 @@
 
     input[0] = 2;
 
-    assertArrayEquals(new byte[]{1, 1}, struct.getBytes());
-
+    assertArrayEquals(new byte[] {1, 1}, struct.getBytes());
   }
 
   @Test
-  public void testSafeBufferFor(){
+  public void testSafeBufferFor() {
     SafeBytes struct = new SafeBytes(ByteBuffer.wrap(input()));
 
     ByteBuffer val = struct.bufferForBytes();
     val.array()[0] = 2;
 
-    assertArrayEquals(new byte[]{1, 1}, struct.getBytes());
-
+    assertArrayEquals(new byte[] {1, 1}, struct.getBytes());
   }
-
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/async/TestTAsyncClient.java b/lib/java/src/test/java/org/apache/thrift/async/TestTAsyncClient.java
index 9a755d3..863c42e 100644
--- a/lib/java/src/test/java/org/apache/thrift/async/TestTAsyncClient.java
+++ b/lib/java/src/test/java/org/apache/thrift/async/TestTAsyncClient.java
@@ -1,23 +1,22 @@
 package org.apache.thrift.async;
 
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
 import org.apache.thrift.TException;
 import org.junit.jupiter.api.Test;
 import thrift.test.Srv;
 import thrift.test.Srv.AsyncClient;
 
-import static org.junit.jupiter.api.Assertions.assertThrows;
-
-
 public class TestTAsyncClient {
   @Test
   public void testRaisesExceptionWhenUsedConcurrently() throws Exception {
-    TAsyncClientManager mockClientManager = new TAsyncClientManager() {
-      @Override
-      public void call(TAsyncMethodCall method) throws TException {
-        // do nothing
-      }
-    };
+    TAsyncClientManager mockClientManager =
+        new TAsyncClientManager() {
+          @Override
+          public void call(TAsyncMethodCall method) throws TException {
+            // do nothing
+          }
+        };
 
     Srv.AsyncClient c = new AsyncClient(null, mockClientManager, null);
     c.Janky(0, null);
diff --git a/lib/java/src/test/java/org/apache/thrift/async/TestTAsyncClientManager.java b/lib/java/src/test/java/org/apache/thrift/async/TestTAsyncClientManager.java
index 8d12429..4dacb0f 100644
--- a/lib/java/src/test/java/org/apache/thrift/async/TestTAsyncClientManager.java
+++ b/lib/java/src/test/java/org/apache/thrift/async/TestTAsyncClientManager.java
@@ -18,6 +18,23 @@
  */
 package org.apache.thrift.async;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertSame;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicReference;
 import org.apache.thrift.TException;
 import org.apache.thrift.protocol.TBinaryProtocol;
 import org.apache.thrift.server.ServerTestBase;
@@ -35,363 +52,358 @@
 import thrift.test.Srv;
 import thrift.test.Srv.Iface;
 
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.atomic.AtomicReference;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertSame;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
 public class TestTAsyncClientManager {
 
-    private THsHaServer server_;
-    private Thread serverThread_;
-    private TAsyncClientManager clientManager_;
+  private THsHaServer server_;
+  private Thread serverThread_;
+  private TAsyncClientManager clientManager_;
 
-    @BeforeEach
-    public void setUp() throws Exception {
-        server_ = new THsHaServer(new Args(new TNonblockingServerSocket(
-                new TNonblockingServerSocket.NonblockingAbstractServerSocketArgs().port(ServerTestBase.PORT))).
-                processor(new Srv.Processor(new SrvHandler())));
-        serverThread_ = new Thread(new Runnable() {
-            public void run() {
+  @BeforeEach
+  public void setUp() throws Exception {
+    server_ =
+        new THsHaServer(
+            new Args(
+                    new TNonblockingServerSocket(
+                        new TNonblockingServerSocket.NonblockingAbstractServerSocketArgs()
+                            .port(ServerTestBase.PORT)))
+                .processor(new Srv.Processor(new SrvHandler())));
+    serverThread_ =
+        new Thread(
+            new Runnable() {
+              public void run() {
                 server_.serve();
-            }
-        });
-        serverThread_.start();
-        clientManager_ = new TAsyncClientManager();
-        Thread.sleep(500);
-    }
+              }
+            });
+    serverThread_.start();
+    clientManager_ = new TAsyncClientManager();
+    Thread.sleep(500);
+  }
 
-    @AfterEach
-    public void tearDown() throws Exception {
-        server_.stop();
-        clientManager_.stop();
-        serverThread_.join();
-    }
+  @AfterEach
+  public void tearDown() throws Exception {
+    server_.stop();
+    clientManager_.stop();
+    serverThread_.join();
+  }
 
-    @Test
-    public void testBasicCall() throws Exception {
-        Srv.AsyncClient client = getClient();
-        basicCall(client);
-    }
+  @Test
+  public void testBasicCall() throws Exception {
+    Srv.AsyncClient client = getClient();
+    basicCall(client);
+  }
 
-    @Test
-    public void testBasicCallWithTimeout() throws Exception {
-        Srv.AsyncClient client = getClient();
-        client.setTimeout(5000);
-        basicCall(client);
-    }
+  @Test
+  public void testBasicCallWithTimeout() throws Exception {
+    Srv.AsyncClient client = getClient();
+    client.setTimeout(5000);
+    basicCall(client);
+  }
 
-    private static abstract class ErrorCallTest<C extends TAsyncClient, R> {
-        final void runTest() throws Exception {
-            final CountDownLatch latch = new CountDownLatch(1);
-            final AtomicReference<Exception> error = new AtomicReference<Exception>();
-            C client = executeErroringCall(new AsyncMethodCallback<R>() {
+  private abstract static class ErrorCallTest<C extends TAsyncClient, R> {
+    final void runTest() throws Exception {
+      final CountDownLatch latch = new CountDownLatch(1);
+      final AtomicReference<Exception> error = new AtomicReference<Exception>();
+      C client =
+          executeErroringCall(
+              new AsyncMethodCallback<R>() {
                 @Override
                 public void onComplete(R response) {
-                    latch.countDown();
+                  latch.countDown();
                 }
 
                 @Override
                 public void onError(Exception exception) {
-                    error.set(exception);
-                    latch.countDown();
+                  error.set(exception);
+                  latch.countDown();
                 }
-            });
-            latch.await(2, TimeUnit.SECONDS);
-            assertTrue(client.hasError());
-            Exception exception = error.get();
-            assertNotNull(exception);
-            assertSame(exception, client.getError());
-            validateError(client, exception);
-        }
-
-        /**
-         * Executes a call that is expected to raise an exception.
-         *
-         * @param callback The testing callback that should be installed.
-         * @return The client the call was made against.
-         * @throws Exception if there was a problem setting up the client or making the call.
-         */
-        abstract C executeErroringCall(AsyncMethodCallback<R> callback) throws Exception;
-
-        /**
-         * Further validates the properties of the error raised in the remote call and the state of the
-         * client after that call.
-         *
-         * @param client The client returned from {@link #executeErroringCall(AsyncMethodCallback)}.
-         * @param error  The exception raised by the remote call.
-         */
-        abstract void validateError(C client, Exception error);
+              });
+      latch.await(2, TimeUnit.SECONDS);
+      assertTrue(client.hasError());
+      Exception exception = error.get();
+      assertNotNull(exception);
+      assertSame(exception, client.getError());
+      validateError(client, exception);
     }
 
-    @Test
-    public void testUnexpectedRemoteExceptionCall() throws Exception {
-        new ErrorCallTest<Srv.AsyncClient, Boolean>() {
-            @Override
-            Srv.AsyncClient executeErroringCall(AsyncMethodCallback<Boolean> callback) throws Exception {
-                Srv.AsyncClient client = getClient();
-                client.declaredExceptionMethod(false, callback);
-                return client;
-            }
+    /**
+     * Executes a call that is expected to raise an exception.
+     *
+     * @param callback The testing callback that should be installed.
+     * @return The client the call was made against.
+     * @throws Exception if there was a problem setting up the client or making the call.
+     */
+    abstract C executeErroringCall(AsyncMethodCallback<R> callback) throws Exception;
 
-            @Override
-            void validateError(Srv.AsyncClient client, Exception error) {
-                assertFalse(client.hasTimeout());
-                assertTrue(error instanceof TException);
-            }
-        }.runTest();
-    }
+    /**
+     * Further validates the properties of the error raised in the remote call and the state of the
+     * client after that call.
+     *
+     * @param client The client returned from {@link #executeErroringCall(AsyncMethodCallback)}.
+     * @param error The exception raised by the remote call.
+     */
+    abstract void validateError(C client, Exception error);
+  }
 
-    @Test
-    public void testDeclaredRemoteExceptionCall() throws Exception {
-        new ErrorCallTest<Srv.AsyncClient, Boolean>() {
-            @Override
-            Srv.AsyncClient executeErroringCall(AsyncMethodCallback<Boolean> callback) throws Exception {
-                Srv.AsyncClient client = getClient();
-                client.declaredExceptionMethod(true, callback);
-                return client;
-            }
-
-            @Override
-            void validateError(Srv.AsyncClient client, Exception error) {
-                assertFalse(client.hasTimeout());
-                assertEquals(ExceptionWithAMap.class, error.getClass());
-                ExceptionWithAMap exceptionWithAMap = (ExceptionWithAMap) error;
-                assertEquals("blah", exceptionWithAMap.getBlah());
-                assertEquals(new HashMap<String, String>(), exceptionWithAMap.getMap_field());
-            }
-        }.runTest();
-    }
-
-    @Test
-    public void testTimeoutCall() throws Exception {
-        new ErrorCallTest<Srv.AsyncClient, Integer>() {
-            @Override
-            Srv.AsyncClient executeErroringCall(AsyncMethodCallback<Integer> callback) throws Exception {
-                Srv.AsyncClient client = getClient();
-                client.setTimeout(100);
-                client.primitiveMethod(callback);
-                return client;
-            }
-
-            @Override
-            void validateError(Srv.AsyncClient client, Exception error) {
-                assertTrue(client.hasTimeout());
-                assertTrue(error instanceof TimeoutException);
-            }
-        }.runTest();
-    }
-
-    @Test
-    public void testVoidCall() throws Exception {
-        final CountDownLatch latch = new CountDownLatch(1);
-        final AtomicBoolean returned = new AtomicBoolean(false);
+  @Test
+  public void testUnexpectedRemoteExceptionCall() throws Exception {
+    new ErrorCallTest<Srv.AsyncClient, Boolean>() {
+      @Override
+      Srv.AsyncClient executeErroringCall(AsyncMethodCallback<Boolean> callback) throws Exception {
         Srv.AsyncClient client = getClient();
-        client.voidMethod(new FailureLessCallback<Void>() {
-            @Override
-            public void onComplete(Void response) {
-                returned.set(true);
-                latch.countDown();
-            }
-        });
-        latch.await(1, TimeUnit.SECONDS);
-        assertTrue(returned.get());
-    }
+        client.declaredExceptionMethod(false, callback);
+        return client;
+      }
 
-    @Test
-    public void testOnewayCall() throws Exception {
-        final CountDownLatch latch = new CountDownLatch(1);
-        final AtomicBoolean returned = new AtomicBoolean(false);
+      @Override
+      void validateError(Srv.AsyncClient client, Exception error) {
+        assertFalse(client.hasTimeout());
+        assertTrue(error instanceof TException);
+      }
+    }.runTest();
+  }
+
+  @Test
+  public void testDeclaredRemoteExceptionCall() throws Exception {
+    new ErrorCallTest<Srv.AsyncClient, Boolean>() {
+      @Override
+      Srv.AsyncClient executeErroringCall(AsyncMethodCallback<Boolean> callback) throws Exception {
         Srv.AsyncClient client = getClient();
-        client.onewayMethod(new FailureLessCallback<Void>() {
-            @Override
-            public void onComplete(Void response) {
-                returned.set(true);
-                latch.countDown();
-            }
+        client.declaredExceptionMethod(true, callback);
+        return client;
+      }
+
+      @Override
+      void validateError(Srv.AsyncClient client, Exception error) {
+        assertFalse(client.hasTimeout());
+        assertEquals(ExceptionWithAMap.class, error.getClass());
+        ExceptionWithAMap exceptionWithAMap = (ExceptionWithAMap) error;
+        assertEquals("blah", exceptionWithAMap.getBlah());
+        assertEquals(new HashMap<String, String>(), exceptionWithAMap.getMap_field());
+      }
+    }.runTest();
+  }
+
+  @Test
+  public void testTimeoutCall() throws Exception {
+    new ErrorCallTest<Srv.AsyncClient, Integer>() {
+      @Override
+      Srv.AsyncClient executeErroringCall(AsyncMethodCallback<Integer> callback) throws Exception {
+        Srv.AsyncClient client = getClient();
+        client.setTimeout(100);
+        client.primitiveMethod(callback);
+        return client;
+      }
+
+      @Override
+      void validateError(Srv.AsyncClient client, Exception error) {
+        assertTrue(client.hasTimeout());
+        assertTrue(error instanceof TimeoutException);
+      }
+    }.runTest();
+  }
+
+  @Test
+  public void testVoidCall() throws Exception {
+    final CountDownLatch latch = new CountDownLatch(1);
+    final AtomicBoolean returned = new AtomicBoolean(false);
+    Srv.AsyncClient client = getClient();
+    client.voidMethod(
+        new FailureLessCallback<Void>() {
+          @Override
+          public void onComplete(Void response) {
+            returned.set(true);
+            latch.countDown();
+          }
         });
-        latch.await(1, TimeUnit.SECONDS);
-        assertTrue(returned.get());
-    }
+    latch.await(1, TimeUnit.SECONDS);
+    assertTrue(returned.get());
+  }
 
-    @Test
-    public void testParallelCalls() throws Exception {
-        // make multiple calls with deserialization in the selector thread (repro Eric's issue)
-        int numThreads = 50;
-        int numCallsPerThread = 100;
-        List<JankyRunnable> runnables = new ArrayList<JankyRunnable>();
-        List<Thread> threads = new ArrayList<Thread>();
-        for (int i = 0; i < numThreads; i++) {
-            JankyRunnable runnable = new JankyRunnable(numCallsPerThread);
-            Thread thread = new Thread(runnable);
-            thread.start();
-            threads.add(thread);
-            runnables.add(runnable);
-        }
-        for (Thread thread : threads) {
-            thread.join();
-        }
-        int numSuccesses = 0;
-        for (JankyRunnable runnable : runnables) {
-            numSuccesses += runnable.getNumSuccesses();
-        }
-        assertEquals(numThreads * numCallsPerThread, numSuccesses);
-    }
+  @Test
+  public void testOnewayCall() throws Exception {
+    final CountDownLatch latch = new CountDownLatch(1);
+    final AtomicBoolean returned = new AtomicBoolean(false);
+    Srv.AsyncClient client = getClient();
+    client.onewayMethod(
+        new FailureLessCallback<Void>() {
+          @Override
+          public void onComplete(Void response) {
+            returned.set(true);
+            latch.countDown();
+          }
+        });
+    latch.await(1, TimeUnit.SECONDS);
+    assertTrue(returned.get());
+  }
 
-    private Srv.AsyncClient getClient() throws IOException, TTransportException {
-        TNonblockingSocket clientSocket = new TNonblockingSocket(ServerTestBase.HOST, ServerTestBase.PORT);
-        return new Srv.AsyncClient(new TBinaryProtocol.Factory(), clientManager_, clientSocket);
+  @Test
+  public void testParallelCalls() throws Exception {
+    // make multiple calls with deserialization in the selector thread (repro Eric's issue)
+    int numThreads = 50;
+    int numCallsPerThread = 100;
+    List<JankyRunnable> runnables = new ArrayList<JankyRunnable>();
+    List<Thread> threads = new ArrayList<Thread>();
+    for (int i = 0; i < numThreads; i++) {
+      JankyRunnable runnable = new JankyRunnable(numCallsPerThread);
+      Thread thread = new Thread(runnable);
+      thread.start();
+      threads.add(thread);
+      runnables.add(runnable);
     }
+    for (Thread thread : threads) {
+      thread.join();
+    }
+    int numSuccesses = 0;
+    for (JankyRunnable runnable : runnables) {
+      numSuccesses += runnable.getNumSuccesses();
+    }
+    assertEquals(numThreads * numCallsPerThread, numSuccesses);
+  }
 
-    private void basicCall(Srv.AsyncClient client) throws Exception {
-        final CountDownLatch latch = new CountDownLatch(1);
-        final AtomicBoolean returned = new AtomicBoolean(false);
-        client.Janky(1, new FailureLessCallback<Integer>() {
-            @Override
-            public void onComplete(Integer response) {
-                assertEquals(3, response.intValue());
-                returned.set(true);
-                latch.countDown();
+  private Srv.AsyncClient getClient() throws IOException, TTransportException {
+    TNonblockingSocket clientSocket =
+        new TNonblockingSocket(ServerTestBase.HOST, ServerTestBase.PORT);
+    return new Srv.AsyncClient(new TBinaryProtocol.Factory(), clientManager_, clientSocket);
+  }
+
+  private void basicCall(Srv.AsyncClient client) throws Exception {
+    final CountDownLatch latch = new CountDownLatch(1);
+    final AtomicBoolean returned = new AtomicBoolean(false);
+    client.Janky(
+        1,
+        new FailureLessCallback<Integer>() {
+          @Override
+          public void onComplete(Integer response) {
+            assertEquals(3, response.intValue());
+            returned.set(true);
+            latch.countDown();
+          }
+
+          @Override
+          public void onError(Exception exception) {
+            try {
+              StringWriter sink = new StringWriter();
+              exception.printStackTrace(new PrintWriter(sink, true));
+              Assertions.fail("unexpected onError with exception " + sink.toString());
+            } finally {
+              latch.countDown();
             }
+          }
+        });
+    latch.await(100, TimeUnit.SECONDS);
+    assertTrue(returned.get());
+  }
 
-            @Override
-            public void onError(Exception exception) {
-                try {
+  public static class SrvHandler implements Iface {
+    // Use this method for a standard call testing
+    @Override
+    public int Janky(int arg) throws TException {
+      assertEquals(1, arg);
+      return 3;
+    }
+
+    // Using this method for timeout testing - sleeps for 1 second before returning
+    @Override
+    public int primitiveMethod() throws TException {
+      try {
+        Thread.sleep(1000);
+      } catch (InterruptedException e) {
+        e.printStackTrace();
+      }
+      return 0;
+    }
+
+    @Override
+    public void methodWithDefaultArgs(int something) throws TException {}
+
+    @Override
+    public CompactProtoTestStruct structMethod() throws TException {
+      return null;
+    }
+
+    @Override
+    public void voidMethod() throws TException {}
+
+    @Override
+    public void onewayMethod() throws TException {}
+
+    @Override
+    public boolean declaredExceptionMethod(boolean shouldThrowDeclared) throws TException {
+      if (shouldThrowDeclared) {
+        throw new ExceptionWithAMap("blah", new HashMap<String, String>());
+      } else {
+        throw new TException("Unexpected!");
+      }
+    }
+  }
+
+  private abstract static class FailureLessCallback<T> implements AsyncMethodCallback<T> {
+    @Override
+    public void onError(Exception exception) {
+      fail(exception);
+    }
+  }
+
+  private static void fail(Exception exception) {
+    StringWriter sink = new StringWriter();
+    exception.printStackTrace(new PrintWriter(sink, true));
+    Assertions.fail("unexpected error " + sink);
+  }
+
+  private class JankyRunnable implements Runnable {
+    private final int numCalls_;
+    private int numSuccesses_ = 0;
+    private final Srv.AsyncClient client_;
+
+    public JankyRunnable(int numCalls) throws Exception {
+      numCalls_ = numCalls;
+      client_ = getClient();
+      client_.setTimeout(20000);
+    }
+
+    public int getNumSuccesses() {
+      return numSuccesses_;
+    }
+
+    public void run() {
+      for (int i = 0; i < numCalls_ && !client_.hasError(); i++) {
+        final int iteration = i;
+        try {
+          // connect an async client
+          final CountDownLatch latch = new CountDownLatch(1);
+          final AtomicBoolean returned = new AtomicBoolean(false);
+          client_.Janky(
+              1,
+              new AsyncMethodCallback<Integer>() {
+
+                @Override
+                public void onComplete(Integer result) {
+                  assertEquals(3, result.intValue());
+                  returned.set(true);
+                  latch.countDown();
+                }
+
+                @Override
+                public void onError(Exception exception) {
+                  try {
                     StringWriter sink = new StringWriter();
                     exception.printStackTrace(new PrintWriter(sink, true));
-                    Assertions.fail("unexpected onError with exception " + sink.toString());
-                } finally {
+                    Assertions.fail(
+                        "unexpected onError on iteration " + iteration + ": " + sink.toString());
+                  } finally {
                     latch.countDown();
+                  }
                 }
-            }
-        });
-        latch.await(100, TimeUnit.SECONDS);
-        assertTrue(returned.get());
+              });
+
+          boolean calledBack = latch.await(30, TimeUnit.SECONDS);
+          assertTrue(calledBack, "wasn't called back in time on iteration " + iteration);
+          assertTrue(returned.get(), "onComplete not called on iteration " + iteration);
+          this.numSuccesses_++;
+        } catch (Exception e) {
+          fail(e);
+        }
+      }
     }
-
-    public static class SrvHandler implements Iface {
-        // Use this method for a standard call testing
-        @Override
-        public int Janky(int arg) throws TException {
-            assertEquals(1, arg);
-            return 3;
-        }
-
-        // Using this method for timeout testing - sleeps for 1 second before returning
-        @Override
-        public int primitiveMethod() throws TException {
-            try {
-                Thread.sleep(1000);
-            } catch (InterruptedException e) {
-                e.printStackTrace();
-            }
-            return 0;
-        }
-
-        @Override
-        public void methodWithDefaultArgs(int something) throws TException {
-        }
-
-        @Override
-        public CompactProtoTestStruct structMethod() throws TException {
-            return null;
-        }
-
-        @Override
-        public void voidMethod() throws TException {
-        }
-
-        @Override
-        public void onewayMethod() throws TException {
-        }
-
-        @Override
-        public boolean declaredExceptionMethod(boolean shouldThrowDeclared) throws TException {
-            if (shouldThrowDeclared) {
-                throw new ExceptionWithAMap("blah", new HashMap<String, String>());
-            } else {
-                throw new TException("Unexpected!");
-            }
-        }
-    }
-
-    private static abstract class FailureLessCallback<T> implements AsyncMethodCallback<T> {
-        @Override
-        public void onError(Exception exception) {
-            fail(exception);
-        }
-    }
-
-    private static void fail(Exception exception) {
-        StringWriter sink = new StringWriter();
-        exception.printStackTrace(new PrintWriter(sink, true));
-        Assertions.fail("unexpected error " + sink);
-    }
-
-    private class JankyRunnable implements Runnable {
-        private final int numCalls_;
-        private int numSuccesses_ = 0;
-        private final Srv.AsyncClient client_;
-
-        public JankyRunnable(int numCalls) throws Exception {
-            numCalls_ = numCalls;
-            client_ = getClient();
-            client_.setTimeout(20000);
-        }
-
-        public int getNumSuccesses() {
-            return numSuccesses_;
-        }
-
-        public void run() {
-            for (int i = 0; i < numCalls_ && !client_.hasError(); i++) {
-                final int iteration = i;
-                try {
-                    // connect an async client
-                    final CountDownLatch latch = new CountDownLatch(1);
-                    final AtomicBoolean returned = new AtomicBoolean(false);
-                    client_.Janky(1, new AsyncMethodCallback<Integer>() {
-
-                        @Override
-                        public void onComplete(Integer result) {
-                            assertEquals(3, result.intValue());
-                            returned.set(true);
-                            latch.countDown();
-                        }
-
-                        @Override
-                        public void onError(Exception exception) {
-                            try {
-                                StringWriter sink = new StringWriter();
-                                exception.printStackTrace(new PrintWriter(sink, true));
-                                Assertions.fail("unexpected onError on iteration " + iteration + ": " + sink.toString());
-                            } finally {
-                                latch.countDown();
-                            }
-                        }
-                    });
-
-                    boolean calledBack = latch.await(30, TimeUnit.SECONDS);
-                    assertTrue(calledBack, "wasn't called back in time on iteration " + iteration);
-                    assertTrue(returned.get(), "onComplete not called on iteration " + iteration);
-                    this.numSuccesses_++;
-                } catch (Exception e) {
-                    fail(e);
-                }
-            }
-        }
-    }
+  }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/partial/EnumCacheTest.java b/lib/java/src/test/java/org/apache/thrift/partial/EnumCacheTest.java
index 152bf48..3cca54d 100644
--- a/lib/java/src/test/java/org/apache/thrift/partial/EnumCacheTest.java
+++ b/lib/java/src/test/java/org/apache/thrift/partial/EnumCacheTest.java
@@ -19,16 +19,14 @@
 
 package org.apache.thrift.partial;
 
-import org.apache.thrift.TEnum;
-import org.junit.jupiter.api.Test;
-
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNull;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 
-/**
- * Test ThriftCodec serializes and deserializes thrift objects correctly.
- */
+import org.apache.thrift.TEnum;
+import org.junit.jupiter.api.Test;
+
+/** Test ThriftCodec serializes and deserializes thrift objects correctly. */
 public class EnumCacheTest {
 
   enum TestEnum implements TEnum {
@@ -54,7 +52,7 @@
     public static final NotEnum Bob = new NotEnum(10);
     public static final NotEnum Charlie = new NotEnum(11);
 
-    private static final NotEnum[] allValues = { Alice, Bob, Charlie };
+    private static final NotEnum[] allValues = {Alice, Bob, Charlie};
 
     private int value;
 
@@ -86,9 +84,7 @@
 
     // Verify it throws.
     assertThrows(
-        IllegalArgumentException.class,
-        () -> cache.get(null, 1),
-        "'enumClass' must not be null");
+        IllegalArgumentException.class, () -> cache.get(null, 1), "'enumClass' must not be null");
   }
 
   @Test
diff --git a/lib/java/src/test/java/org/apache/thrift/partial/PartialThriftComparerTest.java b/lib/java/src/test/java/org/apache/thrift/partial/PartialThriftComparerTest.java
index 4498e33..1888b59 100644
--- a/lib/java/src/test/java/org/apache/thrift/partial/PartialThriftComparerTest.java
+++ b/lib/java/src/test/java/org/apache/thrift/partial/PartialThriftComparerTest.java
@@ -19,18 +19,17 @@
 
 package org.apache.thrift.partial;
 
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.List;
 import org.apache.thrift.TDeserializer;
 import org.apache.thrift.TException;
 import org.apache.thrift.protocol.TBinaryProtocol;
 import org.apache.thrift.protocol.TCompactProtocol;
 import org.junit.jupiter.api.Test;
 
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.List;
-
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
 public class PartialThriftComparerTest {
 
   private ThriftSerDe serde;
diff --git a/lib/java/src/test/java/org/apache/thrift/partial/PartialThriftTestData.java b/lib/java/src/test/java/org/apache/thrift/partial/PartialThriftTestData.java
index 6376075..14cada1 100644
--- a/lib/java/src/test/java/org/apache/thrift/partial/PartialThriftTestData.java
+++ b/lib/java/src/test/java/org/apache/thrift/partial/PartialThriftTestData.java
@@ -28,12 +28,10 @@
 import java.util.Map;
 import java.util.Set;
 
-/**
- * Helpers for creating test data related to partial deserialization.
- */
+/** Helpers for creating test data related to partial deserialization. */
 public class PartialThriftTestData {
 
-  public final byte[] BYTES = new byte[] { 1, 2, 3 };
+  public final byte[] BYTES = new byte[] {1, 2, 3};
 
   public SmallStruct createSmallStruct(int id) {
     return new SmallStruct()
@@ -48,16 +46,17 @@
 
   public TestStruct createTestStruct(int id, int numItems) {
 
-    TestStruct ts = new TestStruct()
-        .setByteField((byte) id)
-        .setI16Field((short) id)
-        .setI32Field(id)
-        .setI64Field(id)
-        .setDoubleField(id)
-        .setStringField(Integer.toString(id))
-        .setEnumField(TstEnum.E_ONE)
-        .setBinaryField(BYTES)
-        .setStructField(createSmallStruct(id));
+    TestStruct ts =
+        new TestStruct()
+            .setByteField((byte) id)
+            .setI16Field((short) id)
+            .setI32Field(id)
+            .setI64Field(id)
+            .setDoubleField(id)
+            .setStringField(Integer.toString(id))
+            .setEnumField(TstEnum.E_ONE)
+            .setBinaryField(BYTES)
+            .setStructField(createSmallStruct(id));
 
     initListFields(ts, id, numItems);
     initSetFields(ts, id, numItems);
@@ -85,7 +84,7 @@
       byteList.add((byte) i);
       i16List.add((short) i);
       i32List.add(i);
-      i64List.add((long)i);
+      i64List.add((long) i);
       doubleList.add((double) i);
       stringList.add(Integer.toString(i));
       enumList.add(TstEnum.E_ONE);
@@ -141,7 +140,7 @@
       byteSet.add((byte) i);
       i16Set.add((short) i);
       i32Set.add(i);
-      i64Set.add((long)i);
+      i64Set.add((long) i);
       doubleSet.add((double) i);
       stringSet.add(Integer.toString(i));
       enumSet.add(TstEnum.E_ONE);
@@ -234,78 +233,76 @@
   }
 
   public List<String> allFieldsOfTestStruct() {
-      return new ArrayList<>(
-          Arrays.asList(
-              "byteField",
-              "i16Field",
-              "i32Field",
-              "i64Field",
-              "doubleField",
-              "stringField",
-              "structField.byteField",
-              "structField.i16Field",
-              "structField.i32Field",
-              "structField.i64Field",
-              "structField.doubleField",
-              "structField.stringField",
-              "structField.enumField",
-              "enumField",
-              "binaryField",
-              "byteList",
-              "i16List",
-              "i32List",
-              "i64List",
-              "doubleList",
-              "stringList",
-              "enumList",
-              "listList",
-              "setList",
-              "mapList",
-              "structList.byteField",
-              "structList.i16Field",
-              "structList.i32Field",
-              "structList.i64Field",
-              "structList.doubleField",
-              "structList.stringField",
-              "structList.enumField",
-              "binaryList",
-              "byteSet",
-              "i16Set",
-              "i32Set",
-              "i64Set",
-              "doubleSet",
-              "stringSet",
-              "enumSet",
-              "listSet",
-              "setSet",
-              "mapSet",
-              "structSet.byteField",
-              "structSet.i16Field",
-              "structSet.i32Field",
-              "structSet.i64Field",
-              "structSet.doubleField",
-              "structSet.stringField",
-              "structSet.enumField",
-              "binarySet",
-              "byteMap",
-              "i16Map",
-              "i32Map",
-              "i64Map",
-              "doubleMap",
-              "stringMap",
-              "enumMap",
-              "listMap",
-              "setMap",
-              "mapMap",
-              "structMap.byteField",
-              "structMap.i16Field",
-              "structMap.i32Field",
-              "structMap.i64Field",
-              "structMap.doubleField",
-              "structMap.stringField",
-              "structMap.enumField",
-              "binaryMap"
-          )
-      );
+    return new ArrayList<>(
+        Arrays.asList(
+            "byteField",
+            "i16Field",
+            "i32Field",
+            "i64Field",
+            "doubleField",
+            "stringField",
+            "structField.byteField",
+            "structField.i16Field",
+            "structField.i32Field",
+            "structField.i64Field",
+            "structField.doubleField",
+            "structField.stringField",
+            "structField.enumField",
+            "enumField",
+            "binaryField",
+            "byteList",
+            "i16List",
+            "i32List",
+            "i64List",
+            "doubleList",
+            "stringList",
+            "enumList",
+            "listList",
+            "setList",
+            "mapList",
+            "structList.byteField",
+            "structList.i16Field",
+            "structList.i32Field",
+            "structList.i64Field",
+            "structList.doubleField",
+            "structList.stringField",
+            "structList.enumField",
+            "binaryList",
+            "byteSet",
+            "i16Set",
+            "i32Set",
+            "i64Set",
+            "doubleSet",
+            "stringSet",
+            "enumSet",
+            "listSet",
+            "setSet",
+            "mapSet",
+            "structSet.byteField",
+            "structSet.i16Field",
+            "structSet.i32Field",
+            "structSet.i64Field",
+            "structSet.doubleField",
+            "structSet.stringField",
+            "structSet.enumField",
+            "binarySet",
+            "byteMap",
+            "i16Map",
+            "i32Map",
+            "i64Map",
+            "doubleMap",
+            "stringMap",
+            "enumMap",
+            "listMap",
+            "setMap",
+            "mapMap",
+            "structMap.byteField",
+            "structMap.i16Field",
+            "structMap.i32Field",
+            "structMap.i64Field",
+            "structMap.doubleField",
+            "structMap.stringField",
+            "structMap.enumField",
+            "binaryMap"));
   }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/partial/TFieldDataTest.java b/lib/java/src/test/java/org/apache/thrift/partial/TFieldDataTest.java
index 860f515..b4b6c87 100644
--- a/lib/java/src/test/java/org/apache/thrift/partial/TFieldDataTest.java
+++ b/lib/java/src/test/java/org/apache/thrift/partial/TFieldDataTest.java
@@ -19,12 +19,12 @@
 
 package org.apache.thrift.partial;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
 import org.apache.thrift.protocol.TField;
 import org.apache.thrift.protocol.TType;
 import org.junit.jupiter.api.Test;
 
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
 public class TFieldDataTest {
 
   @Test
diff --git a/lib/java/src/test/java/org/apache/thrift/partial/TestData.java b/lib/java/src/test/java/org/apache/thrift/partial/TestData.java
index 1779346..dc511d8 100644
--- a/lib/java/src/test/java/org/apache/thrift/partial/TestData.java
+++ b/lib/java/src/test/java/org/apache/thrift/partial/TestData.java
@@ -23,35 +23,32 @@
 import java.util.Arrays;
 import java.util.List;
 
-/**
- * Frequently used test data items.
- */
+/** Frequently used test data items. */
 public final class TestData {
   private TestData() {}
 
-
   // Array data.
-  public static Object[] nullArray     = null;
-  public static Object[] emptyArray    = new Object[0];
+  public static Object[] nullArray = null;
+  public static Object[] emptyArray = new Object[0];
   public static Object[] nonEmptyArray = new Object[1];
 
-  public static byte[] nullByteArray       = null;
-  public static byte[] emptyByteArray      = new byte[0];
-  public static byte[] nonEmptyByteArray   = new byte[1];
+  public static byte[] nullByteArray = null;
+  public static byte[] emptyByteArray = new byte[0];
+  public static byte[] nonEmptyByteArray = new byte[1];
 
-  public static short[] nullShortArray     = null;
-  public static short[] emptyShortArray    = new short[0];
+  public static short[] nullShortArray = null;
+  public static short[] emptyShortArray = new short[0];
   public static short[] nonEmptyShortArray = new short[1];
 
-  public static int[] nullIntArray         = null;
-  public static int[] emptyIntArray        = new int[0];
-  public static int[] nonEmptyIntArray     = new int[1];
+  public static int[] nullIntArray = null;
+  public static int[] emptyIntArray = new int[0];
+  public static int[] nonEmptyIntArray = new int[1];
 
-  public static long[] nullLongArray       = null;
-  public static long[] emptyLongArray      = new long[0];
-  public static long[] nonEmptyLongArray   = new long[1];
+  public static long[] nullLongArray = null;
+  public static long[] emptyLongArray = new long[0];
+  public static long[] nonEmptyLongArray = new long[1];
 
-  public static List<Object> nullList  = null;
+  public static List<Object> nullList = null;
   public static List<Object> emptyList = new ArrayList<Object>();
   public static List<Object> validList = Arrays.asList(new Object[1]);
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/partial/TestPartialThriftDeserializer.java b/lib/java/src/test/java/org/apache/thrift/partial/TestPartialThriftDeserializer.java
index 722e108..e5bdd0f 100644
--- a/lib/java/src/test/java/org/apache/thrift/partial/TestPartialThriftDeserializer.java
+++ b/lib/java/src/test/java/org/apache/thrift/partial/TestPartialThriftDeserializer.java
@@ -19,11 +19,12 @@
 
 package org.apache.thrift.partial;
 
-import org.apache.thrift.TDeserializer;
-import org.apache.thrift.TException;
-import org.apache.thrift.protocol.TBinaryProtocol;
-import org.apache.thrift.protocol.TCompactProtocol;
-import org.junit.jupiter.api.Test;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.IOException;
 import java.nio.ByteBuffer;
@@ -36,13 +37,11 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-
-import static org.junit.jupiter.api.Assertions.assertArrayEquals;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.junit.jupiter.api.Assertions.assertTrue;
+import org.apache.thrift.TDeserializer;
+import org.apache.thrift.TException;
+import org.apache.thrift.protocol.TBinaryProtocol;
+import org.apache.thrift.protocol.TCompactProtocol;
+import org.junit.jupiter.api.Test;
 
 public class TestPartialThriftDeserializer {
 
@@ -52,8 +51,7 @@
 
   private PartialThriftTestData testData = new PartialThriftTestData();
 
-  public TestPartialThriftDeserializer() throws TException {
-  }
+  public TestPartialThriftDeserializer() throws TException {}
 
   @Test
   public void testArgChecks() throws TException {
@@ -79,8 +77,8 @@
   }
 
   /**
-   * This test does not use partial deserialization. It is used to establish correctness
-   * of full serialization used in the other tests.
+   * This test does not use partial deserialization. It is used to establish correctness of full
+   * serialization used in the other tests.
    */
   @Test
   public void testRoundTripFull() throws TException {
@@ -89,7 +87,7 @@
     byte[] bytesBinary = serde.serializeBinary(ts1);
     byte[] bytesCompact = serde.serializeCompact(ts1);
 
-    TestStruct ts2 =  serde.deserializeBinary(bytesBinary, TestStruct.class);
+    TestStruct ts2 = serde.deserializeBinary(bytesBinary, TestStruct.class);
     assertEquals(ts1, ts2);
 
     ts2 = serde.deserializeCompact(bytesCompact, TestStruct.class);
@@ -140,62 +138,61 @@
     byte[] bytesBinary = serde.serializeBinary(ts1);
     byte[] bytesCompact = serde.serializeCompact(ts1);
 
-    List<String> fieldNames = Arrays.asList(
-        "byteField",
-        "i16Field",
-        "i32Field",
-        "i64Field",
-        "doubleField",
-        "stringField",
+    List<String> fieldNames =
+        Arrays.asList(
+            "byteField",
+            "i16Field",
+            "i32Field",
+            "i64Field",
+            "doubleField",
+            "stringField",
+            "enumField",
+            "binaryField",
 
-        "enumField",
-        "binaryField",
+            // List fields
+            "byteList",
+            "i16List",
+            "i32List",
+            "i64List",
+            "doubleList",
+            "stringList",
+            "enumList",
+            "listList",
+            "setList",
+            "mapList",
+            "structList",
+            "binaryList",
 
-        // List fields
-        "byteList",
-        "i16List",
-        "i32List",
-        "i64List",
-        "doubleList",
-        "stringList",
-        "enumList",
-        "listList",
-        "setList",
-        "mapList",
-        "structList",
-        "binaryList",
+            // Set fields
+            "byteSet",
+            "i16Set",
+            "i32Set",
+            "i64Set",
+            "doubleSet",
+            "stringSet",
+            "enumSet",
+            "listSet",
+            "setSet",
+            "mapSet",
+            "structSet",
+            "binarySet",
 
-        // Set fields
-        "byteSet",
-        "i16Set",
-        "i32Set",
-        "i64Set",
-        "doubleSet",
-        "stringSet",
-        "enumSet",
-        "listSet",
-        "setSet",
-        "mapSet",
-        "structSet",
-        "binarySet",
+            // Map fields
+            "byteMap",
+            "i16Map",
+            "i32Map",
+            "i64Map",
+            "doubleMap",
+            "stringMap",
+            "enumMap",
+            "listMap",
+            "setMap",
+            "mapMap",
+            "structMap",
+            "binaryMap",
 
-        // Map fields
-        "byteMap",
-        "i16Map",
-        "i32Map",
-        "i64Map",
-        "doubleMap",
-        "stringMap",
-        "enumMap",
-        "listMap",
-        "setMap",
-        "mapMap",
-        "structMap",
-        "binaryMap",
-
-        // Struct field
-        "structField"
-    );
+            // Struct field
+            "structField");
     StringBuilder sb = new StringBuilder();
     TDeserializer partialBinaryDeserializer =
         new TDeserializer(TestStruct.class, fieldNames, binaryProtocolFactory);
@@ -381,15 +378,15 @@
 
     for (int i = 0; i < numItems; i++) {
       if (clasz == Byte.class) {
-        assertTrue(set.contains((byte)i));
+        assertTrue(set.contains((byte) i));
       } else if (clasz == Short.class) {
-        assertTrue(set.contains((short)i));
+        assertTrue(set.contains((short) i));
       } else if (clasz == Integer.class) {
         assertTrue(set.contains(i));
       } else if (clasz == Long.class) {
-        assertTrue(set.contains((long)i));
+        assertTrue(set.contains((long) i));
       } else if (clasz == Double.class) {
-        assertTrue(set.contains((double)i));
+        assertTrue(set.contains((double) i));
       }
     }
   }
@@ -472,19 +469,19 @@
 
     for (int i = 0; i < numItems; i++) {
       if (clasz == Byte.class) {
-        assertTrue(map.containsKey((byte)i));
+        assertTrue(map.containsKey((byte) i));
         assertEquals((byte) i, map.get((byte) i));
       } else if (clasz == Short.class) {
-        assertTrue(map.containsKey((short)i));
+        assertTrue(map.containsKey((short) i));
         assertEquals((short) i, map.get((short) i));
       } else if (clasz == Integer.class) {
         assertTrue(map.containsKey(i));
         assertEquals(i, map.get(i));
       } else if (clasz == Long.class) {
-        assertTrue(map.containsKey((long)i));
+        assertTrue(map.containsKey((long) i));
         assertEquals((long) i, map.get((long) i));
       } else if (clasz == Double.class) {
-        assertTrue(map.containsKey((double)i));
+        assertTrue(map.containsKey((double) i));
         assertEquals((double) i, map.get((double) i));
       }
     }
diff --git a/lib/java/src/test/java/org/apache/thrift/partial/ThriftFieldTest.java b/lib/java/src/test/java/org/apache/thrift/partial/ThriftFieldTest.java
index 115726e..0e0f1a6 100644
--- a/lib/java/src/test/java/org/apache/thrift/partial/ThriftFieldTest.java
+++ b/lib/java/src/test/java/org/apache/thrift/partial/ThriftFieldTest.java
@@ -19,18 +19,16 @@
 
 package org.apache.thrift.partial;
 
-import org.junit.jupiter.api.Test;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotEquals;
 import static org.junit.jupiter.api.Assertions.assertNotSame;
 import static org.junit.jupiter.api.Assertions.assertSame;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import org.junit.jupiter.api.Test;
 
 public class ThriftFieldTest {
 
@@ -46,9 +44,9 @@
 
     // Verify it throws.
     assertThrows(
-            IllegalArgumentException.class,
-            () -> new ThriftField(null, Collections.emptyList()),
-            "'name' must not be null");
+        IllegalArgumentException.class,
+        () -> new ThriftField(null, Collections.emptyList()),
+        "'name' must not be null");
 
     assertThrows(
         IllegalArgumentException.class,
@@ -68,13 +66,8 @@
 
   @Test
   public void testFromNames() {
-    List<String> fieldNames = Arrays.asList(
-        "f1",
-        "f2.f21",
-        "f3.f31.f311",
-        "f3.f32.f321",
-        "f3.f32.f322"
-    );
+    List<String> fieldNames =
+        Arrays.asList("f1", "f2.f21", "f3.f31.f311", "f3.f32.f321", "f3.f32.f322");
 
     List<ThriftField> testFields = ThriftField.fromNames(fieldNames);
 
@@ -113,16 +106,10 @@
     assertEquals(0, f322.fields.size());
   }
 
-
   @Test
   public void testEquality() {
-    List<String> fieldNames = Arrays.asList(
-        "f1",
-        "f2.f21",
-        "f3.f31.f311",
-        "f3.f32.f321",
-        "f3.f32.f322"
-    );
+    List<String> fieldNames =
+        Arrays.asList("f1", "f2.f21", "f3.f31.f311", "f3.f32.f321", "f3.f32.f322");
 
     List<ThriftField> testFields = ThriftField.fromNames(fieldNames);
     List<ThriftField> testFields2 = testFields;
@@ -135,13 +122,8 @@
     assertEquals(testFields, testFields3);
     assertEquals(testFields.hashCode(), testFields3.hashCode());
 
-    List<String> fieldNamesDiff = Arrays.asList(
-        "f1",
-        "f2.f21",
-        "f3.f31.f311",
-        "f3.f32.f323",
-        "f3.f32.f322"
-    );
+    List<String> fieldNamesDiff =
+        Arrays.asList("f1", "f2.f21", "f3.f31.f311", "f3.f32.f323", "f3.f32.f322");
 
     List<ThriftField> testFields4 = ThriftField.fromNames(fieldNamesDiff);
     assertNotSame(testFields, testFields4);
diff --git a/lib/java/src/test/java/org/apache/thrift/partial/ThriftMetadataTest.java b/lib/java/src/test/java/org/apache/thrift/partial/ThriftMetadataTest.java
index f476572..5180578 100644
--- a/lib/java/src/test/java/org/apache/thrift/partial/ThriftMetadataTest.java
+++ b/lib/java/src/test/java/org/apache/thrift/partial/ThriftMetadataTest.java
@@ -19,6 +19,15 @@
 
 package org.apache.thrift.partial;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+import java.util.Arrays;
+import java.util.List;
 import org.apache.thrift.TBase;
 import org.apache.thrift.meta_data.EnumMetaData;
 import org.apache.thrift.meta_data.FieldValueMetaData;
@@ -29,16 +38,6 @@
 import org.apache.thrift.protocol.TType;
 import org.junit.jupiter.api.Test;
 
-import java.util.Arrays;
-import java.util.List;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertNull;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
 public class ThriftMetadataTest {
 
   private PartialThriftTestData testData = new PartialThriftTestData();
@@ -122,9 +121,7 @@
   }
 
   private ThriftMetadata.ThriftObject validateBasicFieldMetadata(
-      ThriftMetadata.ThriftStruct testStruct,
-      int id,
-      String fieldName) {
+      ThriftMetadata.ThriftStruct testStruct, int id, String fieldName) {
     return validateBasicFieldMetadata(testStruct, TestStruct.class, id, fieldName);
   }
 
@@ -153,17 +150,14 @@
   }
 
   private void validateBasicFieldValueMetadata(
-      ThriftMetadata.ThriftObject fieldMetadata,
-      String fieldName,
-      byte ttype) {
+      ThriftMetadata.ThriftObject fieldMetadata, String fieldName, byte ttype) {
 
     assertEquals(ttype, fieldMetadata.data.valueMetaData.type);
     assertEquals(getMetaDataClassForTType(ttype), fieldMetadata.data.valueMetaData.getClass());
     Class<? extends ThriftMetadata.ThriftObject> fieldMetadataClass = getClassForTType(ttype);
     assertEquals(fieldMetadataClass, fieldMetadata.getClass());
     if (fieldMetadataClass == ThriftMetadata.ThriftPrimitive.class) {
-      ThriftMetadata.ThriftPrimitive primitive
-          = (ThriftMetadata.ThriftPrimitive) fieldMetadata;
+      ThriftMetadata.ThriftPrimitive primitive = (ThriftMetadata.ThriftPrimitive) fieldMetadata;
       if (fieldName.startsWith("binary") && (ttype == TType.STRING)) {
         assertTrue(primitive.isBinary());
       } else {
@@ -173,10 +167,7 @@
   }
 
   private void validateFieldMetadata(
-      ThriftMetadata.ThriftStruct testStruct,
-      int id,
-      String fieldName,
-      byte ttype) {
+      ThriftMetadata.ThriftStruct testStruct, int id, String fieldName, byte ttype) {
 
     ThriftMetadata.ThriftObject fieldMetadata =
         validateBasicFieldMetadata(testStruct, id, fieldName);
@@ -184,10 +175,7 @@
   }
 
   private void validateListFieldMetadata(
-      ThriftMetadata.ThriftStruct testStruct,
-      int id,
-      String fieldName,
-      byte ttype) {
+      ThriftMetadata.ThriftStruct testStruct, int id, String fieldName, byte ttype) {
 
     ThriftMetadata.ThriftObject fieldMetadata =
         validateBasicFieldMetadata(testStruct, id, fieldName);
@@ -199,10 +187,7 @@
   }
 
   private void validateSetFieldMetadata(
-      ThriftMetadata.ThriftStruct testStruct,
-      int id,
-      String fieldName,
-      byte ttype) {
+      ThriftMetadata.ThriftStruct testStruct, int id, String fieldName, byte ttype) {
 
     ThriftMetadata.ThriftObject fieldMetadata =
         validateBasicFieldMetadata(testStruct, id, fieldName);
@@ -234,7 +219,7 @@
   private Class<? extends FieldValueMetaData> getMetaDataClassForTType(byte ttype) {
     switch (ttype) {
       case TType.STRUCT:
-        return  StructMetaData.class;
+        return StructMetaData.class;
 
       case TType.LIST:
         return ListMetaData.class;
@@ -265,7 +250,7 @@
   private Class<? extends ThriftMetadata.ThriftObject> getClassForTType(byte ttype) {
     switch (ttype) {
       case TType.STRUCT:
-        return  ThriftMetadata.ThriftStruct.class;
+        return ThriftMetadata.ThriftStruct.class;
 
       case TType.LIST:
         return ThriftMetadata.ThriftList.class;
diff --git a/lib/java/src/test/java/org/apache/thrift/partial/ThriftStructProcessorTest.java b/lib/java/src/test/java/org/apache/thrift/partial/ThriftStructProcessorTest.java
index a8b0dac..210263f 100644
--- a/lib/java/src/test/java/org/apache/thrift/partial/ThriftStructProcessorTest.java
+++ b/lib/java/src/test/java/org/apache/thrift/partial/ThriftStructProcessorTest.java
@@ -19,10 +19,13 @@
 
 package org.apache.thrift.partial;
 
-import org.apache.thrift.TBase;
-import org.apache.thrift.TException;
-import org.apache.thrift.TFieldIdEnum;
-import org.junit.jupiter.api.Test;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertSame;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.nio.ByteBuffer;
 import java.nio.charset.StandardCharsets;
@@ -34,14 +37,10 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-
-import static org.junit.jupiter.api.Assertions.assertArrayEquals;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertNull;
-import static org.junit.jupiter.api.Assertions.assertSame;
-import static org.junit.jupiter.api.Assertions.assertTrue;
+import org.apache.thrift.TBase;
+import org.apache.thrift.TException;
+import org.apache.thrift.TFieldIdEnum;
+import org.junit.jupiter.api.Test;
 
 public class ThriftStructProcessorTest {
 
@@ -160,18 +159,17 @@
 
   @Test
   public void testStructPrimitiveFields() throws TException {
-    List<ThriftField> fields = ThriftField.fromNames(
-        Arrays.asList(
-            "byteField",
-            "i16Field",
-            "i32Field",
-            "i64Field",
-            "doubleField",
-            "stringField",
-
-            "enumField",
-            "binaryField"
-        ));
+    List<ThriftField> fields =
+        ThriftField.fromNames(
+            Arrays.asList(
+                "byteField",
+                "i16Field",
+                "i32Field",
+                "i64Field",
+                "doubleField",
+                "stringField",
+                "enumField",
+                "binaryField"));
 
     ThriftMetadata.ThriftStruct metadata =
         ThriftMetadata.ThriftStruct.fromFields(TestStruct.class, fields);
@@ -233,20 +231,20 @@
 
   @Test
   public void testStructContainerFields() throws TException {
-    List<ThriftField> fields = ThriftField.fromNames(
-        Arrays.asList(
-            // List field
-            "i32List",
+    List<ThriftField> fields =
+        ThriftField.fromNames(
+            Arrays.asList(
+                // List field
+                "i32List",
 
-            // Set field
-            "stringSet",
+                // Set field
+                "stringSet",
 
-            // Map field
-            "stringMap",
+                // Map field
+                "stringMap",
 
-            // Struct field
-            "structField"
-        ));
+                // Struct field
+                "structField"));
 
     ThriftMetadata.ThriftStruct metadata =
         ThriftMetadata.ThriftStruct.fromFields(TestStruct.class, fields);
@@ -261,7 +259,7 @@
     // list
     TFieldIdEnum fieldId = findFieldId(metadata, "i32List");
     assertNull(getFieldValue(struct, fieldId));
-    Integer[] ints = new Integer[] { 1, 2, 3 };
+    Integer[] ints = new Integer[] {1, 2, 3};
     List<Integer> intList = Arrays.asList(ints);
     processor.setListField(struct, fieldId, intList);
     assertArrayEquals(ints, struct.getI32List().toArray());
@@ -269,7 +267,7 @@
     // set
     fieldId = findFieldId(metadata, "stringSet");
     assertNull(getFieldValue(struct, fieldId));
-    String[] strings = new String[] { "Hello", "World!" };
+    String[] strings = new String[] {"Hello", "World!"};
     Set<String> stringSet = new HashSet<>(Arrays.asList(strings));
     processor.setSetField(struct, fieldId, stringSet);
     assertEquals(stringSet, struct.getStringSet());
diff --git a/lib/java/src/test/java/org/apache/thrift/partial/ValidateTest.java b/lib/java/src/test/java/org/apache/thrift/partial/ValidateTest.java
index d2e8eaa..861d03e 100644
--- a/lib/java/src/test/java/org/apache/thrift/partial/ValidateTest.java
+++ b/lib/java/src/test/java/org/apache/thrift/partial/ValidateTest.java
@@ -19,15 +19,14 @@
 
 package org.apache.thrift.partial;
 
-import org.junit.jupiter.api.Test;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
 import java.io.IOException;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.Arrays;
-
-import static org.junit.jupiter.api.Assertions.assertThrows;
+import org.junit.jupiter.api.Test;
 
 public class ValidateTest {
   @Test
@@ -212,15 +211,13 @@
     assertThrows(
         IllegalArgumentException.class,
         () -> Validate.checkNotNullAndNumberOfElements(null, 3, "arg"),
-        "'arg' must not be null"
-    );
+        "'arg' must not be null");
 
     // Verify it throws.
     assertThrows(
         IllegalArgumentException.class,
         () -> Validate.checkNotNullAndNumberOfElements(Arrays.asList(1, 2), 3, "arg"),
-        "Number of elements in 'arg' must be exactly 3, 2 given."
-    );
+        "Number of elements in 'arg' must be exactly 3, 2 given.");
   }
 
   @Test
@@ -292,7 +289,7 @@
   @Test
   public void testCheckPathExists() throws IOException {
     Path tempFile = Files.createTempFile("foo", "bar");
-    Path tempDir  = tempFile.getParent();
+    Path tempDir = tempFile.getParent();
     Path notFound = Paths.get("<not-found>");
 
     // Should not throw.
diff --git a/lib/java/src/test/java/org/apache/thrift/protocol/BenchmarkProtocols.java b/lib/java/src/test/java/org/apache/thrift/protocol/BenchmarkProtocols.java
index 6b60c99..493214f 100644
--- a/lib/java/src/test/java/org/apache/thrift/protocol/BenchmarkProtocols.java
+++ b/lib/java/src/test/java/org/apache/thrift/protocol/BenchmarkProtocols.java
@@ -7,18 +7,20 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-
 import org.apache.thrift.Fixtures;
 import org.apache.thrift.TException;
 import org.apache.thrift.transport.TMemoryBuffer;
 
 public class BenchmarkProtocols {
 
-  private static final Set<TProtocolFactory> FACTORIES = new LinkedHashSet<TProtocolFactory>(){{
-    add(new TTupleProtocol.Factory());
-    add(new TCompactProtocol.Factory());
-    add(new TBinaryProtocol.Factory());
-  }};
+  private static final Set<TProtocolFactory> FACTORIES =
+      new LinkedHashSet<TProtocolFactory>() {
+        {
+          add(new TTupleProtocol.Factory());
+          add(new TCompactProtocol.Factory());
+          add(new TBinaryProtocol.Factory());
+        }
+      };
 
   private static final int NUM_REPS = 100000;
   private static final int NUM_TRIALS = 10;
@@ -30,30 +32,29 @@
       for (int i = 0; i < 16; i++) {
         System.gc();
       }
-//      TProtocol proto = factory.getProtocol(new TTransport() {
-//        @Override
-//        public void write(byte[] buf, int off, int len) throws TTransportException {
-//        }
-//
-//        @Override
-//        public int read(byte[] buf, int off, int len) throws TTransportException {
-//          return 0;
-//        }
-//
-//        @Override
-//        public void open() throws TTransportException {
-//        }
-//
-//        @Override
-//        public boolean isOpen() {
-//          return true;
-//        }
-//
-//        @Override
-//        public void close() {
-//        }
-//      });
-
+      //      TProtocol proto = factory.getProtocol(new TTransport() {
+      //        @Override
+      //        public void write(byte[] buf, int off, int len) throws TTransportException {
+      //        }
+      //
+      //        @Override
+      //        public int read(byte[] buf, int off, int len) throws TTransportException {
+      //          return 0;
+      //        }
+      //
+      //        @Override
+      //        public void open() throws TTransportException {
+      //        }
+      //
+      //        @Override
+      //        public boolean isOpen() {
+      //          return true;
+      //        }
+      //
+      //        @Override
+      //        public void close() {
+      //        }
+      //      });
 
       for (TProtocolFactory factory : FACTORIES) {
         if (timesByFactory.get(factory) == null) {
@@ -62,27 +63,27 @@
 
         long start = System.currentTimeMillis();
         for (int rep = 0; rep < NUM_REPS; rep++) {
-          TProtocol proto = factory.getProtocol(new TMemoryBuffer(128*1024));
+          TProtocol proto = factory.getProtocol(new TMemoryBuffer(128 * 1024));
           Fixtures.getCompactProtoTestStruct().write(proto);
           Fixtures.getNesting().write(proto);
         }
         long end = System.currentTimeMillis();
-        timesByFactory.get(factory).add(end-start);
+        timesByFactory.get(factory).add(end - start);
       }
     }
 
     for (TProtocolFactory factory : FACTORIES) {
       List<Long> times = timesByFactory.get(factory);
-//      System.out.println("raw times pre-drop: " + times );
+      //      System.out.println("raw times pre-drop: " + times );
       times.remove(Collections.max(times));
       long total = 0;
       for (long t : times) {
         total += t;
       }
       Collections.sort(times);
-      System.out.println(factory.getClass().getName() + " average time: " + (total / times.size()) + "ms");
+      System.out.println(
+          factory.getClass().getName() + " average time: " + (total / times.size()) + "ms");
       System.out.println("raw times: " + times);
     }
   }
-
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/protocol/ProtocolTestBase.java b/lib/java/src/test/java/org/apache/thrift/protocol/ProtocolTestBase.java
index 8bf5c6e..a111292 100644
--- a/lib/java/src/test/java/org/apache/thrift/protocol/ProtocolTestBase.java
+++ b/lib/java/src/test/java/org/apache/thrift/protocol/ProtocolTestBase.java
@@ -18,6 +18,17 @@
  */
 package org.apache.thrift.protocol;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
 import org.apache.thrift.Fixtures;
 import org.apache.thrift.TBase;
 import org.apache.thrift.TConfiguration;
@@ -35,18 +46,6 @@
 import thrift.test.Srv;
 import thrift.test.ThriftTest;
 
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-
 public abstract class ProtocolTestBase {
 
   /** Does it make sense to call methods like writeI32 directly on your protocol? */
@@ -64,17 +63,18 @@
       assertEquals(123.456, proto.readDouble());
     }
 
-    internalTestStructField(new StructFieldTestCase(TType.DOUBLE, (short)15) {
-      @Override
-      public void readMethod(TProtocol proto) throws TException {
-        assertEquals(123.456, proto.readDouble());
-      }
+    internalTestStructField(
+        new StructFieldTestCase(TType.DOUBLE, (short) 15) {
+          @Override
+          public void readMethod(TProtocol proto) throws TException {
+            assertEquals(123.456, proto.readDouble());
+          }
 
-      @Override
-      public void writeMethod(TProtocol proto) throws TException {
-        proto.writeDouble(123.456);
-      }
-    });
+          @Override
+          public void writeMethod(TProtocol proto) throws TException {
+            proto.writeDouble(123.456);
+          }
+        });
   }
 
   @Test
@@ -87,13 +87,15 @@
 
   @Test
   public void testBinary() throws Exception {
-    for (byte[] b : Arrays.asList(new byte[0],
-                                  new byte[]{0,1,2,3,4,5,6,7,8,9,10},
-                                  new byte[]{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14},
-                                  new byte[]{0x5D},
-                                  new byte[]{(byte)0xD5,(byte)0x5D},
-                                  new byte[]{(byte)0xFF,(byte)0xD5,(byte)0x5D},
-                                  new byte[128])) {
+    for (byte[] b :
+        Arrays.asList(
+            new byte[0],
+            new byte[] {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
+            new byte[] {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14},
+            new byte[] {0x5D},
+            new byte[] {(byte) 0xD5, (byte) 0x5D},
+            new byte[] {(byte) 0xFF, (byte) 0xD5, (byte) 0x5D},
+            new byte[128])) {
       if (canBeUsedNaked()) {
         internalTestNakedBinary(b);
       }
@@ -111,9 +113,11 @@
       assertEquals(ByteBuffer.wrap(data, 1, 5), proto.readBinary());
     }
   }
-@Test
+
+  @Test
   public void testString() throws Exception {
-    for (String s : Arrays.asList("", "short", "borderlinetiny", "a bit longer than the smallest possible")) {
+    for (String s :
+        Arrays.asList("", "short", "borderlinetiny", "a bit longer than the smallest possible")) {
       if (canBeUsedNaked()) {
         internalTestNakedString(s);
       }
@@ -139,7 +143,10 @@
 
   @Test
   public void testInt() throws Exception {
-    for (int i : Arrays.asList(0, 1, 7, 150, 15000, 31337, 0xffff, 0xffffff, -1, -7, -150, -15000, -0xffff, -0xffffff)) {
+    for (int i :
+        Arrays.asList(
+            0, 1, 7, 150, 15000, 31337, 0xffff, 0xffffff, -1, -7, -150, -15000, -0xffff,
+            -0xffffff)) {
       if (canBeUsedNaked()) {
         internalTestNakedI32(i);
       }
@@ -151,9 +158,9 @@
   public void testShort() throws Exception {
     for (int s : Arrays.asList(0, 1, 7, 150, 15000, 0x7fff, -1, -7, -150, -15000, -0x7fff)) {
       if (canBeUsedNaked()) {
-        internalTestNakedI16((short)s);
+        internalTestNakedI16((short) s);
       }
-      internalTestI16Field((short)s);
+      internalTestI16Field((short) s);
     }
   }
 
@@ -163,28 +170,29 @@
       internalTestNakedByte();
     }
     for (int i = 0; i < 128; i++) {
-      internalTestByteField((byte)i);
-      internalTestByteField((byte)-i);
+      internalTestByteField((byte) i);
+      internalTestByteField((byte) -i);
     }
   }
 
   private void internalTestNakedByte() throws Exception {
     TMemoryBuffer buf = new TMemoryBuffer(1000);
     TProtocol proto = getFactory().getProtocol(buf);
-    proto.writeByte((byte)123);
+    proto.writeByte((byte) 123);
     assertEquals((byte) 123, proto.readByte());
   }
 
   private void internalTestByteField(final byte b) throws Exception {
-    internalTestStructField(new StructFieldTestCase(TType.BYTE, (short)15) {
-      public void writeMethod(TProtocol proto) throws TException {
-        proto.writeByte(b);
-      }
+    internalTestStructField(
+        new StructFieldTestCase(TType.BYTE, (short) 15) {
+          public void writeMethod(TProtocol proto) throws TException {
+            proto.writeByte(b);
+          }
 
-      public void readMethod(TProtocol proto) throws TException {
-        assertEquals(b, proto.readByte());
-      }
-    });
+          public void readMethod(TProtocol proto) throws TException {
+            assertEquals(b, proto.readByte());
+          }
+        });
   }
 
   private void internalTestNakedI16(short n) throws Exception {
@@ -195,15 +203,16 @@
   }
 
   private void internalTestI16Field(final short n) throws Exception {
-    internalTestStructField(new StructFieldTestCase(TType.I16, (short)15) {
-      public void writeMethod(TProtocol proto) throws TException {
-        proto.writeI16(n);
-      }
+    internalTestStructField(
+        new StructFieldTestCase(TType.I16, (short) 15) {
+          public void writeMethod(TProtocol proto) throws TException {
+            proto.writeI16(n);
+          }
 
-      public void readMethod(TProtocol proto) throws TException {
-        assertEquals(n, proto.readI16());
-      }
-    });
+          public void readMethod(TProtocol proto) throws TException {
+            assertEquals(n, proto.readI16());
+          }
+        });
   }
 
   private void internalTestNakedI32(int n) throws Exception {
@@ -214,15 +223,16 @@
   }
 
   private void internalTestI32Field(final int n) throws Exception {
-    internalTestStructField(new StructFieldTestCase(TType.I32, (short)15) {
-      public void writeMethod(TProtocol proto) throws TException {
-        proto.writeI32(n);
-      }
+    internalTestStructField(
+        new StructFieldTestCase(TType.I32, (short) 15) {
+          public void writeMethod(TProtocol proto) throws TException {
+            proto.writeI32(n);
+          }
 
-      public void readMethod(TProtocol proto) throws TException {
-        assertEquals(n, proto.readI32());
-      }
-    });
+          public void readMethod(TProtocol proto) throws TException {
+            assertEquals(n, proto.readI32());
+          }
+        });
   }
 
   private void internalTestNakedI64(long n) throws Exception {
@@ -233,15 +243,16 @@
   }
 
   private void internalTestI64Field(final long n) throws Exception {
-    internalTestStructField(new StructFieldTestCase(TType.I64, (short)15) {
-      public void writeMethod(TProtocol proto) throws TException {
-        proto.writeI64(n);
-      }
+    internalTestStructField(
+        new StructFieldTestCase(TType.I64, (short) 15) {
+          public void writeMethod(TProtocol proto) throws TException {
+            proto.writeI64(n);
+          }
 
-      public void readMethod(TProtocol proto) throws TException {
-        assertEquals(n, proto.readI64());
-      }
-    });
+          public void readMethod(TProtocol proto) throws TException {
+            assertEquals(n, proto.readI64());
+          }
+        });
   }
 
   private void internalTestNakedString(String str) throws Exception {
@@ -252,15 +263,16 @@
   }
 
   private void internalTestStringField(final String str) throws Exception {
-    internalTestStructField(new StructFieldTestCase(TType.STRING, (short)15) {
-      public void writeMethod(TProtocol proto) throws TException {
-        proto.writeString(str);
-      }
+    internalTestStructField(
+        new StructFieldTestCase(TType.STRING, (short) 15) {
+          public void writeMethod(TProtocol proto) throws TException {
+            proto.writeString(str);
+          }
 
-      public void readMethod(TProtocol proto) throws TException {
-        assertEquals(str, proto.readString());
-      }
-    });
+          public void readMethod(TProtocol proto) throws TException {
+            assertEquals(str, proto.readString());
+          }
+        });
   }
 
   private void internalTestNakedBinary(byte[] data) throws Exception {
@@ -271,18 +283,20 @@
   }
 
   private void internalTestBinaryField(final byte[] data) throws Exception {
-    internalTestStructField(new StructFieldTestCase(TType.STRING, (short)15) {
-      public void writeMethod(TProtocol proto) throws TException {
-        proto.writeBinary(ByteBuffer.wrap(data));
-      }
+    internalTestStructField(
+        new StructFieldTestCase(TType.STRING, (short) 15) {
+          public void writeMethod(TProtocol proto) throws TException {
+            proto.writeBinary(ByteBuffer.wrap(data));
+          }
 
-      public void readMethod(TProtocol proto) throws TException {
-        assertEquals(ByteBuffer.wrap(data), proto.readBinary());
-      }
-    });
+          public void readMethod(TProtocol proto) throws TException {
+            assertEquals(ByteBuffer.wrap(data), proto.readBinary());
+          }
+        });
   }
 
-  private <T extends TBase> void internalTestSerialization(Class<T> klass, T expected) throws Exception {
+  private <T extends TBase> void internalTestSerialization(Class<T> klass, T expected)
+      throws Exception {
     TMemoryBuffer buf = new TMemoryBuffer(0);
     TBinaryProtocol binproto = new TBinaryProtocol(buf);
 
@@ -292,7 +306,7 @@
     TProtocol proto = getFactory().getProtocol(buf);
 
     expected.write(proto);
-    System.out.println("Size in " +  proto.getClass().getSimpleName() + ": " + buf.length());
+    System.out.println("Size in " + proto.getClass().getSimpleName() + ": " + buf.length());
 
     T actual = klass.newInstance();
     actual.read(proto);
@@ -301,12 +315,15 @@
 
   @Test
   public void testMessage() throws Exception {
-    List<TMessage> msgs = Arrays.asList(new TMessage[]{
-      new TMessage("short message name", TMessageType.CALL, 0),
-      new TMessage("1", TMessageType.REPLY, 12345),
-      new TMessage("loooooooooooooooooooooooooooooooooong", TMessageType.EXCEPTION, 1 << 16),
-      new TMessage("Janky", TMessageType.CALL, 0),
-    });
+    List<TMessage> msgs =
+        Arrays.asList(
+            new TMessage[] {
+              new TMessage("short message name", TMessageType.CALL, 0),
+              new TMessage("1", TMessageType.REPLY, 12345),
+              new TMessage(
+                  "loooooooooooooooooooooooooooooooooong", TMessageType.EXCEPTION, 1 << 16),
+              new TMessage("Janky", TMessageType.CALL, 0),
+            });
 
     for (TMessage msg : msgs) {
       TMemoryBuffer buf = new TMemoryBuffer(0);
@@ -324,34 +341,32 @@
 
   @Test
   public void testServerRequest() throws Exception {
-    Srv.Iface handler = new Srv.Iface() {
-      public int Janky(int i32arg) throws TException {
-        return i32arg * 2;
-      }
+    Srv.Iface handler =
+        new Srv.Iface() {
+          public int Janky(int i32arg) throws TException {
+            return i32arg * 2;
+          }
 
-      public int primitiveMethod() throws TException {
-        return 0;
-      }
+          public int primitiveMethod() throws TException {
+            return 0;
+          }
 
-      public CompactProtoTestStruct structMethod() throws TException {
-        return null;
-      }
+          public CompactProtoTestStruct structMethod() throws TException {
+            return null;
+          }
 
-      public void voidMethod() throws TException {
-      }
+          public void voidMethod() throws TException {}
 
-      public void methodWithDefaultArgs(int something) throws TException {
-      }
+          public void methodWithDefaultArgs(int something) throws TException {}
 
-      @Override
-      public void onewayMethod() throws TException {
-      }
+          @Override
+          public void onewayMethod() throws TException {}
 
-      @Override
-      public boolean declaredExceptionMethod(boolean shouldThrow) throws TException {
-        return shouldThrow;
-      }
-    };
+          @Override
+          public boolean declaredExceptionMethod(boolean shouldThrow) throws TException {
+            return shouldThrow;
+          }
+        };
 
     Srv.Processor testProcessor = new Srv.Processor(handler);
 
@@ -404,15 +419,17 @@
     proto.readStructEnd();
   }
 
-  private static abstract class StructFieldTestCase {
+  private abstract static class StructFieldTestCase {
     byte type_;
     short id_;
+
     public StructFieldTestCase(byte type, short id) {
       type_ = type;
       id_ = id;
     }
 
     public abstract void writeMethod(TProtocol proto) throws TException;
+
     public abstract void readMethod(TProtocol proto) throws TException;
   }
 
@@ -429,8 +446,12 @@
       }
       long serEnd = System.currentTimeMillis();
       long serElapsed = serEnd - serStart;
-      System.out.println("Ser:\t" + serElapsed + "ms\t"
-          + ((double)serElapsed / NUM_REPS) + "ms per serialization");
+      System.out.println(
+          "Ser:\t"
+              + serElapsed
+              + "ms\t"
+              + ((double) serElapsed / NUM_REPS)
+              + "ms per serialization");
 
       HolyMoley cpts = new HolyMoley();
       TDeserializer deser = new TDeserializer(getFactory());
@@ -440,52 +461,57 @@
       }
       long deserEnd = System.currentTimeMillis();
       long deserElapsed = deserEnd - deserStart;
-      System.out.println("Des:\t" + deserElapsed + "ms\t"
-          + ((double)deserElapsed / NUM_REPS) + "ms per deserialization");
+      System.out.println(
+          "Des:\t"
+              + deserElapsed
+              + "ms\t"
+              + ((double) deserElapsed / NUM_REPS)
+              + "ms per deserialization");
     }
   }
 
-  private final ServerTestBase.TestHandler testHandler = new ServerTestBase.TestHandler() {
-    @Override
-    public String testString(String thing) {
-      thing = thing + " Apache Thrift Java " + thing;
-      return thing;
-    }
+  private final ServerTestBase.TestHandler testHandler =
+      new ServerTestBase.TestHandler() {
+        @Override
+        public String testString(String thing) {
+          thing = thing + " Apache Thrift Java " + thing;
+          return thing;
+        }
 
-    @Override
-    public List<Integer> testList(List<Integer> thing) {
-      thing.addAll(thing);
-      thing.addAll(thing);
-      return thing;
-    }
+        @Override
+        public List<Integer> testList(List<Integer> thing) {
+          thing.addAll(thing);
+          thing.addAll(thing);
+          return thing;
+        }
 
-    @Override
-    public Set<Integer> testSet(Set<Integer> thing) {
-      thing.addAll(thing.stream().map( x -> x + 100).collect(Collectors.toSet()));
-      return thing;
-    }
+        @Override
+        public Set<Integer> testSet(Set<Integer> thing) {
+          thing.addAll(thing.stream().map(x -> x + 100).collect(Collectors.toSet()));
+          return thing;
+        }
 
-    @Override
-    public Map<String, String> testStringMap(Map<String, String> thing) {
-      thing.put("a", "123");
-      thing.put(" x y ", " with spaces ");
-      thing.put("same", "same");
-      thing.put("0", "numeric key");
-      thing.put("1", "");
-      thing.put("ok", "2355555");
-      thing.put("end", "0");
-      return thing;
-    }
-  };
+        @Override
+        public Map<String, String> testStringMap(Map<String, String> thing) {
+          thing.put("a", "123");
+          thing.put(" x y ", " with spaces ");
+          thing.put("same", "same");
+          thing.put("0", "numeric key");
+          thing.put("1", "");
+          thing.put("ok", "2355555");
+          thing.put("end", "0");
+          return thing;
+        }
+      };
 
-  private TProtocol initConfig(int maxSize) throws TException{
+  private TProtocol initConfig(int maxSize) throws TException {
     TConfiguration config = TConfiguration.custom().setMaxMessageSize(maxSize).build();
     TMemoryBuffer bufferTrans = new TMemoryBuffer(config, 0);
     return getFactory().getProtocol(bufferTrans);
   }
 
   @Test
-  public void testReadCheckMaxMessageRequestForString() throws TException{
+  public void testReadCheckMaxMessageRequestForString() throws TException {
     TProtocol clientOutProto = initConfig(15);
     TProtocol clientInProto = initConfig(15);
     ThriftTest.Client testClient = new ThriftTest.Client(clientInProto, clientOutProto);
@@ -494,28 +520,32 @@
       testClient.send_testString("test");
       testProcessor.process(clientOutProto, clientInProto);
       String result = testClient.recv_testString();
-      System.out.println("----result: "+result);
+      System.out.println("----result: " + result);
     } catch (TException e) {
       assertEquals("MaxMessageSize reached", e.getMessage());
     }
   }
 
   @Test
-  public void testReadCheckMaxMessageRequestForList() throws TException{
+  public void testReadCheckMaxMessageRequestForList() throws TException {
     TProtocol clientOutProto = initConfig(15);
     TProtocol clientInProto = initConfig(15);
     ThriftTest.Client testClient = new ThriftTest.Client(clientInProto, clientOutProto);
     ThriftTest.Processor testProcessor = new ThriftTest.Processor(testHandler);
-    TTransportException e = assertThrows(TTransportException.class, () -> {
-      testClient.send_testList(Arrays.asList(1, 23242346, 888888, 90));
-      testProcessor.process(clientOutProto, clientInProto);
-      testClient.recv_testList();
-    }, "Limitations not achieved as expected");
+    TTransportException e =
+        assertThrows(
+            TTransportException.class,
+            () -> {
+              testClient.send_testList(Arrays.asList(1, 23242346, 888888, 90));
+              testProcessor.process(clientOutProto, clientInProto);
+              testClient.recv_testList();
+            },
+            "Limitations not achieved as expected");
     assertEquals("MaxMessageSize reached", e.getMessage());
   }
 
   @Test
-  public void testReadCheckMaxMessageRequestForMap() throws TException{
+  public void testReadCheckMaxMessageRequestForMap() throws TException {
     TProtocol clientOutProto = initConfig(13);
     TProtocol clientInProto = initConfig(13);
     ThriftTest.Client testClient = new ThriftTest.Client(clientInProto, clientOutProto);
@@ -523,27 +553,35 @@
     Map<String, String> thing = new HashMap<>();
     thing.put("key", "Thrift");
 
-    TTransportException e = assertThrows(TTransportException.class, () -> {
-      testClient.send_testStringMap(thing);
-      testProcessor.process(clientOutProto, clientInProto);
-      testClient.recv_testStringMap();
-    }, "Limitations not achieved as expected");
+    TTransportException e =
+        assertThrows(
+            TTransportException.class,
+            () -> {
+              testClient.send_testStringMap(thing);
+              testProcessor.process(clientOutProto, clientInProto);
+              testClient.recv_testStringMap();
+            },
+            "Limitations not achieved as expected");
 
     assertEquals("MaxMessageSize reached", e.getMessage());
   }
 
   @Test
-  public void testReadCheckMaxMessageRequestForSet() throws TException{
+  public void testReadCheckMaxMessageRequestForSet() throws TException {
     TProtocol clientOutProto = initConfig(10);
     TProtocol clientInProto = initConfig(10);
     ThriftTest.Client testClient = new ThriftTest.Client(clientInProto, clientOutProto);
     ThriftTest.Processor testProcessor = new ThriftTest.Processor(testHandler);
     TTransportException e =
-            assertThrows(TTransportException.class, () -> {
-              testClient.send_testSet(Stream.of(234, 0, 987087, 45, 88888888, 9).collect(Collectors.toSet()));
+        assertThrows(
+            TTransportException.class,
+            () -> {
+              testClient.send_testSet(
+                  Stream.of(234, 0, 987087, 45, 88888888, 9).collect(Collectors.toSet()));
               testProcessor.process(clientOutProto, clientInProto);
               testClient.recv_testSet();
-            }, "Limitations not achieved as expected");
+            },
+            "Limitations not achieved as expected");
     assertEquals("MaxMessageSize reached", e.getMessage());
   }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/protocol/TestShortStack.java b/lib/java/src/test/java/org/apache/thrift/protocol/TestShortStack.java
index 24541eb..d2a458f 100644
--- a/lib/java/src/test/java/org/apache/thrift/protocol/TestShortStack.java
+++ b/lib/java/src/test/java/org/apache/thrift/protocol/TestShortStack.java
@@ -18,25 +18,24 @@
  */
 package org.apache.thrift.protocol;
 
-
-import org.junit.jupiter.api.Test;
-
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 
-public class TestShortStack  {
+import org.junit.jupiter.api.Test;
+
+public class TestShortStack {
 
   @Test
   public void testOps() throws Exception {
     ShortStack s = new ShortStack(1);
-    s.push((short)10);
-    s.push((short)11);
-    s.push((short)12);
-    assertEquals((short)12, s.pop());
-    assertEquals((short)11, s.pop());
-    s.push((short)40);
-    assertEquals((short)40, s.pop());
-    assertEquals((short)10, s.pop());
+    s.push((short) 10);
+    s.push((short) 11);
+    s.push((short) 12);
+    assertEquals((short) 12, s.pop());
+    assertEquals((short) 11, s.pop());
+    s.push((short) 40);
+    assertEquals((short) 40, s.pop());
+    assertEquals((short) 10, s.pop());
     assertThrows(Exception.class, s::pop);
   }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/protocol/TestTBinaryProtocol.java b/lib/java/src/test/java/org/apache/thrift/protocol/TestTBinaryProtocol.java
index acc46e9..0cfd937 100644
--- a/lib/java/src/test/java/org/apache/thrift/protocol/TestTBinaryProtocol.java
+++ b/lib/java/src/test/java/org/apache/thrift/protocol/TestTBinaryProtocol.java
@@ -17,7 +17,6 @@
  * under the License.
  */
 
-
 package org.apache.thrift.protocol;
 
 public class TestTBinaryProtocol extends ProtocolTestBase {
@@ -30,5 +29,4 @@
   protected boolean canBeUsedNaked() {
     return true;
   }
-
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/protocol/TestTCompactProtocol.java b/lib/java/src/test/java/org/apache/thrift/protocol/TestTCompactProtocol.java
index b2c29f7..4aa71db 100644
--- a/lib/java/src/test/java/org/apache/thrift/protocol/TestTCompactProtocol.java
+++ b/lib/java/src/test/java/org/apache/thrift/protocol/TestTCompactProtocol.java
@@ -17,12 +17,10 @@
  * under the License.
  */
 
-
 package org.apache.thrift.protocol;
 
 import org.apache.thrift.TDeserializer;
 import org.apache.thrift.TException;
-
 import org.junit.jupiter.api.Test;
 import thrift.test.Bonk;
 
@@ -41,14 +39,13 @@
   public void testOOMDenialOfService() throws Exception {
     // Struct header, Integer.MAX_VALUE length, and only one real
     // byte of data
-    byte [] bytes = {24, -1, -1, -1, -17, 49};
-    TDeserializer deser = new TDeserializer(new TCompactProtocol
-					    .Factory(1000));
+    byte[] bytes = {24, -1, -1, -1, -17, 49};
+    TDeserializer deser = new TDeserializer(new TCompactProtocol.Factory(1000));
     Bonk bonk = new Bonk();
     try {
-	deser.deserialize(bonk, bytes);
+      deser.deserialize(bonk, bytes);
     } catch (TException e) {
-	// Ignore as we are only checking for OOM in the failure case
+      // Ignore as we are only checking for OOM in the failure case
     }
   }
 
diff --git a/lib/java/src/test/java/org/apache/thrift/protocol/TestTField.java b/lib/java/src/test/java/org/apache/thrift/protocol/TestTField.java
index 62b8d3f..0b71f47 100644
--- a/lib/java/src/test/java/org/apache/thrift/protocol/TestTField.java
+++ b/lib/java/src/test/java/org/apache/thrift/protocol/TestTField.java
@@ -18,13 +18,12 @@
  */
 package org.apache.thrift.protocol;
 
-
-import org.junit.jupiter.api.Test;
-
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotEquals;
 
-public abstract class TestTField  {
+import org.junit.jupiter.api.Test;
+
+public abstract class TestTField {
 
   @Test
   public void testConstructor() {
@@ -33,7 +32,7 @@
     assertEquals(TType.STOP, uut.type);
     assertEquals(0, uut.id);
 
-    uut = new TField("foo", TType.VOID, (short)42);
+    uut = new TField("foo", TType.VOID, (short) 42);
     assertEquals("foo", uut.name);
     assertEquals(TType.VOID, uut.type);
     assertEquals(42, uut.id);
@@ -46,20 +45,19 @@
     assertEquals(uut1, uut2);
     assertEquals(uut1.hashCode(), uut2.hashCode());
 
-    uut1 = new TField("foo", TType.I32, (short)1);
-    uut2 = new TField("foo", TType.I32, (short)2);
+    uut1 = new TField("foo", TType.I32, (short) 1);
+    uut2 = new TField("foo", TType.I32, (short) 2);
     assertNotEquals(uut1, uut2);
     assertNotEquals(uut1.hashCode(), uut2.hashCode());
 
-    uut1 = new TField("foo", TType.VOID, (short)1);
-    uut2 = new TField("foo", TType.I32, (short)1);
+    uut1 = new TField("foo", TType.VOID, (short) 1);
+    uut2 = new TField("foo", TType.I32, (short) 1);
     assertNotEquals(uut1, uut2);
     assertNotEquals(uut1.hashCode(), uut2.hashCode());
 
-    uut1 = new TField("foo", TType.VOID, (short)5);
-    uut2 = new TField("bar", TType.I32, (short)5);
+    uut1 = new TField("foo", TType.VOID, (short) 5);
+    uut2 = new TField("bar", TType.I32, (short) 5);
     assertEquals(uut1, uut2); // name field is ignored
     assertEquals(uut1.hashCode(), uut2.hashCode());
   }
-
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/protocol/TestTJSONProtocol.java b/lib/java/src/test/java/org/apache/thrift/protocol/TestTJSONProtocol.java
index 9933629..9f5f4a0 100644
--- a/lib/java/src/test/java/org/apache/thrift/protocol/TestTJSONProtocol.java
+++ b/lib/java/src/test/java/org/apache/thrift/protocol/TestTJSONProtocol.java
@@ -18,14 +18,13 @@
  */
 package org.apache.thrift.protocol;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+import java.nio.charset.StandardCharsets;
 import org.apache.thrift.TException;
 import org.apache.thrift.transport.TMemoryBuffer;
 import org.junit.jupiter.api.Test;
 
-import java.nio.charset.StandardCharsets;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
 public class TestTJSONProtocol extends ProtocolTestBase {
   @Override
   protected TProtocolFactory getFactory() {
diff --git a/lib/java/src/test/java/org/apache/thrift/protocol/TestTProtocolUtil.java b/lib/java/src/test/java/org/apache/thrift/protocol/TestTProtocolUtil.java
index 937e913..f37627d 100644
--- a/lib/java/src/test/java/org/apache/thrift/protocol/TestTProtocolUtil.java
+++ b/lib/java/src/test/java/org/apache/thrift/protocol/TestTProtocolUtil.java
@@ -18,27 +18,28 @@
  */
 package org.apache.thrift.protocol;
 
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
 import org.apache.thrift.TSerializer;
 import org.junit.jupiter.api.Test;
 import thrift.test.GuessProtocolStruct;
 
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-public class TestTProtocolUtil  {
+public class TestTProtocolUtil {
 
   @Test
   public void testGuessProtocolFactory_JSON() throws Exception {
 
     byte[] data = "{foo}".getBytes();
-    TProtocolFactory factory = TProtocolUtil.guessProtocolFactory(data, new TCompactProtocol.Factory());
+    TProtocolFactory factory =
+        TProtocolUtil.guessProtocolFactory(data, new TCompactProtocol.Factory());
     assertTrue(factory instanceof TJSONProtocol.Factory);
 
     // Make sure data serialized with TCompact and which starts with '{'
     // is not mistakenly guessed as serialized with JSON.
 
     GuessProtocolStruct s = new GuessProtocolStruct();
-    s.putToMap_field("}","}");
+    s.putToMap_field("}", "}");
     byte[] ser = new TSerializer(new TCompactProtocol.Factory()).serialize(s);
     factory = TProtocolUtil.guessProtocolFactory(ser, new TCompactProtocol.Factory());
     assertFalse(factory instanceof TJSONProtocol.Factory);
@@ -51,13 +52,15 @@
     byte[] buf = new byte[1];
     for (int i = 1; i < 256; i++) {
       buf[0] = (byte) i;
-      TProtocolFactory factory = TProtocolUtil.guessProtocolFactory(buf, new TCompactProtocol.Factory());
+      TProtocolFactory factory =
+          TProtocolUtil.guessProtocolFactory(buf, new TCompactProtocol.Factory());
       assertTrue(factory instanceof TBinaryProtocol.Factory);
     }
 
     // Check that a second byte set to 0 is reported as Binary
     buf = new byte[2];
-    TProtocolFactory factory = TProtocolUtil.guessProtocolFactory(buf, new TCompactProtocol.Factory());
+    TProtocolFactory factory =
+        TProtocolUtil.guessProtocolFactory(buf, new TCompactProtocol.Factory());
     assertTrue(factory instanceof TBinaryProtocol.Factory);
   }
 
@@ -66,7 +69,8 @@
     // Check that a first byte > 0x10 is reported as Compact
     byte[] buf = new byte[3];
     buf[0] = 0x11;
-    TProtocolFactory factory = TProtocolUtil.guessProtocolFactory(buf, new TBinaryProtocol.Factory());
+    TProtocolFactory factory =
+        TProtocolUtil.guessProtocolFactory(buf, new TBinaryProtocol.Factory());
     assertTrue(factory instanceof TCompactProtocol.Factory);
 
     // Check that second byte >= 0x80 is reported as Compact
@@ -82,7 +86,8 @@
   public void testGuessProtocolFactory_Undecided() throws Exception {
     byte[] buf = new byte[3];
     buf[1] = 0x7e;
-    TProtocolFactory factory = TProtocolUtil.guessProtocolFactory(buf, new TSimpleJSONProtocol.Factory());
+    TProtocolFactory factory =
+        TProtocolUtil.guessProtocolFactory(buf, new TSimpleJSONProtocol.Factory());
     assertTrue(factory instanceof TSimpleJSONProtocol.Factory);
   }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/protocol/TestTSimpleJSONProtocol.java b/lib/java/src/test/java/org/apache/thrift/protocol/TestTSimpleJSONProtocol.java
index b1fc04e..7fe5ba7 100644
--- a/lib/java/src/test/java/org/apache/thrift/protocol/TestTSimpleJSONProtocol.java
+++ b/lib/java/src/test/java/org/apache/thrift/protocol/TestTSimpleJSONProtocol.java
@@ -18,6 +18,10 @@
  */
 package org.apache.thrift.protocol;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
+import java.nio.charset.StandardCharsets;
 import org.apache.thrift.Fixtures;
 import org.apache.thrift.TDeserializer;
 import org.apache.thrift.TException;
@@ -28,11 +32,6 @@
 import thrift.test.CompactProtoTestStruct;
 import thrift.test.HolyMoley;
 
-import java.nio.charset.StandardCharsets;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-
 public class TestTSimpleJSONProtocol {
   private TMemoryBuffer buf;
   private TSimpleJSONProtocol proto;
@@ -54,19 +53,25 @@
     holyMoley.unsetBonks();
     holyMoley.unsetContain();
     holyMoley.write(proto);
-    assertEquals("{\"big\":[{\"im_true\":1,\"im_false\":0,\"a_bite\":35,\"integer16\":27000,\"integer32\":16777216,\"integer64\":6000000000,\"double_precision\":3.141592653589793,\"some_characters\":\"JSON THIS! \\\"\\u0001\",\"zomg_unicode\":\"ӀⅮΝ Нοⅿоɡгаρℎ Αttαⅽκ�‼\",\"what_who\":0,\"base64\":\"base64\",\"byte_list\":[1,2,3],\"i16_list\":[1,2,3],\"i64_list\":[1,2,3]},{\"im_true\":1,\"im_false\":0,\"a_bite\":-42,\"integer16\":27000,\"integer32\":16777216,\"integer64\":6000000000,\"double_precision\":3.141592653589793,\"some_characters\":\"JSON THIS! \\\"\\u0001\",\"zomg_unicode\":\"ӀⅮΝ Нοⅿоɡгаρℎ Αttαⅽκ�‼\",\"what_who\":0,\"base64\":\"base64\",\"byte_list\":[1,2,3],\"i16_list\":[1,2,3],\"i64_list\":[1,2,3]}]}", bufToString());
+    assertEquals(
+        "{\"big\":[{\"im_true\":1,\"im_false\":0,\"a_bite\":35,\"integer16\":27000,\"integer32\":16777216,\"integer64\":6000000000,\"double_precision\":3.141592653589793,\"some_characters\":\"JSON THIS! \\\"\\u0001\",\"zomg_unicode\":\"ӀⅮΝ Нοⅿоɡгаρℎ Αttαⅽκ�‼\",\"what_who\":0,\"base64\":\"base64\",\"byte_list\":[1,2,3],\"i16_list\":[1,2,3],\"i64_list\":[1,2,3]},{\"im_true\":1,\"im_false\":0,\"a_bite\":-42,\"integer16\":27000,\"integer32\":16777216,\"integer64\":6000000000,\"double_precision\":3.141592653589793,\"some_characters\":\"JSON THIS! \\\"\\u0001\",\"zomg_unicode\":\"ӀⅮΝ Нοⅿоɡгаρℎ Αttαⅽκ�‼\",\"what_who\":0,\"base64\":\"base64\",\"byte_list\":[1,2,3],\"i16_list\":[1,2,3],\"i64_list\":[1,2,3]}]}",
+        bufToString());
   }
 
   @Test
   public void testNesting() throws TException {
     Fixtures.getNesting().write(proto);
-    assertEquals("{\"my_bonk\":{\"type\":31337,\"message\":\"I am a bonk... xor!\"},\"my_ooe\":{\"im_true\":1,\"im_false\":0,\"a_bite\":-42,\"integer16\":27000,\"integer32\":16777216,\"integer64\":6000000000,\"double_precision\":3.141592653589793,\"some_characters\":\"JSON THIS! \\\"\\u0001\",\"zomg_unicode\":\"ӀⅮΝ Нοⅿоɡгаρℎ Αttαⅽκ�‼\",\"what_who\":0,\"base64\":\"base64\",\"byte_list\":[1,2,3],\"i16_list\":[1,2,3],\"i64_list\":[1,2,3]}}", bufToString());
+    assertEquals(
+        "{\"my_bonk\":{\"type\":31337,\"message\":\"I am a bonk... xor!\"},\"my_ooe\":{\"im_true\":1,\"im_false\":0,\"a_bite\":-42,\"integer16\":27000,\"integer32\":16777216,\"integer64\":6000000000,\"double_precision\":3.141592653589793,\"some_characters\":\"JSON THIS! \\\"\\u0001\",\"zomg_unicode\":\"ӀⅮΝ Нοⅿоɡгаρℎ Αttαⅽκ�‼\",\"what_who\":0,\"base64\":\"base64\",\"byte_list\":[1,2,3],\"i16_list\":[1,2,3],\"i64_list\":[1,2,3]}}",
+        bufToString());
   }
 
   @Test
   public void testOneOfEach() throws TException {
     Fixtures.getOneOfEach().write(proto);
-    assertEquals("{\"im_true\":1,\"im_false\":0,\"a_bite\":-42,\"integer16\":27000,\"integer32\":16777216,\"integer64\":6000000000,\"double_precision\":3.141592653589793,\"some_characters\":\"JSON THIS! \\\"\\u0001\",\"zomg_unicode\":\"ӀⅮΝ Нοⅿоɡгаρℎ Αttαⅽκ�‼\",\"what_who\":0,\"base64\":\"base64\",\"byte_list\":[1,2,3],\"i16_list\":[1,2,3],\"i64_list\":[1,2,3]}", bufToString());
+    assertEquals(
+        "{\"im_true\":1,\"im_false\":0,\"a_bite\":-42,\"integer16\":27000,\"integer32\":16777216,\"integer64\":6000000000,\"double_precision\":3.141592653589793,\"some_characters\":\"JSON THIS! \\\"\\u0001\",\"zomg_unicode\":\"ӀⅮΝ Нοⅿоɡгаρℎ Αttαⅽκ�‼\",\"what_who\":0,\"base64\":\"base64\",\"byte_list\":[1,2,3],\"i16_list\":[1,2,3],\"i64_list\":[1,2,3]}",
+        bufToString());
   }
 
   @Test
@@ -88,21 +93,28 @@
     struct.unsetDouble_byte_map();
     struct.unsetString_byte_map();
     struct.write(proto);
-    assertEquals("{\"a_byte\":127,\"a_i16\":32000,\"a_i32\":1000000000,\"a_i64\":1099511627775,\"a_double\":5.6789,\"a_string\":\"my string\",\"a_binary\":\"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\",\"true_field\":1,\"false_field\":0,\"empty_struct_field\":{},\"byte_list\":[-127,-1,0,1,127],\"i16_list\":[-1,0,1,32767],\"i32_list\":[-1,0,255,65535,16777215,2147483647],\"i64_list\":[-1,0,255,65535,16777215,4294967295,1099511627775,281474976710655,72057594037927935,9223372036854775807],\"double_list\":[0.1,0.2,0.3],\"string_list\":[\"first\",\"second\",\"third\"],\"boolean_list\":[1,1,1,0,0,0],\"struct_list\":[{},{}],\"i32_set\":[1,2,3],\"boolean_set\":[0,1],\"struct_set\":[{}],\"byte_byte_map\":{\"1\":2},\"boolean_byte_map\":{\"0\":0,\"1\":1},\"byte_i16_map\":{\"1\":1,\"2\":-1,\"3\":32767},\"byte_i32_map\":{\"1\":1,\"2\":-1,\"3\":2147483647},\"byte_i64_map\":{\"1\":1,\"2\":-1,\"3\":9223372036854775807},\"byte_double_map\":{\"1\":0.1,\"2\":-0.1,\"3\":1000000.1},\"byte_string_map\":{\"1\":\"\",\"2\":\"blah\",\"3\":\"loooooooooooooong string\"},\"byte_boolean_map\":{\"1\":1,\"2\":0},\"byte_map_map\":{\"0\":{},\"1\":{\"1\":1},\"2\":{\"1\":1,\"2\":2}},\"byte_set_map\":{\"0\":[],\"1\":[1],\"2\":[1,2]},\"byte_list_map\":{\"0\":[],\"1\":[1],\"2\":[1,2]},\"field500\":500,\"field5000\":5000,\"field20000\":20000}", bufToString());
+    assertEquals(
+        "{\"a_byte\":127,\"a_i16\":32000,\"a_i32\":1000000000,\"a_i64\":1099511627775,\"a_double\":5.6789,\"a_string\":\"my string\",\"a_binary\":\"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\",\"true_field\":1,\"false_field\":0,\"empty_struct_field\":{},\"byte_list\":[-127,-1,0,1,127],\"i16_list\":[-1,0,1,32767],\"i32_list\":[-1,0,255,65535,16777215,2147483647],\"i64_list\":[-1,0,255,65535,16777215,4294967295,1099511627775,281474976710655,72057594037927935,9223372036854775807],\"double_list\":[0.1,0.2,0.3],\"string_list\":[\"first\",\"second\",\"third\"],\"boolean_list\":[1,1,1,0,0,0],\"struct_list\":[{},{}],\"i32_set\":[1,2,3],\"boolean_set\":[0,1],\"struct_set\":[{}],\"byte_byte_map\":{\"1\":2},\"boolean_byte_map\":{\"0\":0,\"1\":1},\"byte_i16_map\":{\"1\":1,\"2\":-1,\"3\":32767},\"byte_i32_map\":{\"1\":1,\"2\":-1,\"3\":2147483647},\"byte_i64_map\":{\"1\":1,\"2\":-1,\"3\":9223372036854775807},\"byte_double_map\":{\"1\":0.1,\"2\":-0.1,\"3\":1000000.1},\"byte_string_map\":{\"1\":\"\",\"2\":\"blah\",\"3\":\"loooooooooooooong string\"},\"byte_boolean_map\":{\"1\":1,\"2\":0},\"byte_map_map\":{\"0\":{},\"1\":{\"1\":1},\"2\":{\"1\":1,\"2\":2}},\"byte_set_map\":{\"0\":[],\"1\":[1],\"2\":[1,2]},\"byte_list_map\":{\"0\":[],\"1\":[1],\"2\":[1,2]},\"field500\":500,\"field5000\":5000,\"field20000\":20000}",
+        bufToString());
   }
 
   @Test
   public void testThrowsOnCollectionKeys() throws TException {
-    assertThrows(TSimpleJSONProtocol.CollectionMapKeyException.class, () -> Fixtures.getCompactProtoTestStruct().write(proto));
+    assertThrows(
+        TSimpleJSONProtocol.CollectionMapKeyException.class,
+        () -> Fixtures.getCompactProtoTestStruct().write(proto));
   }
 
   @Test
   public void testReadingThrows() throws TTransportException {
     String input = "{\"test\": \"value\"}";
     TDeserializer deserializer = new TDeserializer(new TSimpleJSONProtocol.Factory());
-    TException e = assertThrows(TException.class, ()->{
-      deserializer.fromString(Fixtures.getOneOfEach(), input);
-    });
+    TException e =
+        assertThrows(
+            TException.class,
+            () -> {
+              deserializer.fromString(Fixtures.getOneOfEach(), input);
+            });
     assertEquals("Not implemented", e.getMessage());
   }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/protocol/TestTTupleProtocol.java b/lib/java/src/test/java/org/apache/thrift/protocol/TestTTupleProtocol.java
index b0e3bcd..f39ca65 100644
--- a/lib/java/src/test/java/org/apache/thrift/protocol/TestTTupleProtocol.java
+++ b/lib/java/src/test/java/org/apache/thrift/protocol/TestTTupleProtocol.java
@@ -5,7 +5,6 @@
 import org.junit.jupiter.api.Test;
 import thrift.test.TupleProtocolTestStruct;
 
-
 public class TestTTupleProtocol extends ProtocolTestBase {
 
   @Override
@@ -23,6 +22,9 @@
     final TupleProtocolTestStruct t1 = new TupleProtocolTestStruct();
     t1.setField1(0);
     t1.setField2(12);
-    new TDeserializer(new TTupleProtocol.Factory()).deserialize(new TupleProtocolTestStruct(), new TSerializer(new TTupleProtocol.Factory()).serialize(t1));
+    new TDeserializer(new TTupleProtocol.Factory())
+        .deserialize(
+            new TupleProtocolTestStruct(),
+            new TSerializer(new TTupleProtocol.Factory()).serialize(t1));
   }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/scheme/TestStandardScheme.java b/lib/java/src/test/java/org/apache/thrift/scheme/TestStandardScheme.java
index f5f0e0b..76efc6c 100644
--- a/lib/java/src/test/java/org/apache/thrift/scheme/TestStandardScheme.java
+++ b/lib/java/src/test/java/org/apache/thrift/scheme/TestStandardScheme.java
@@ -1,5 +1,7 @@
 package org.apache.thrift.scheme;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
 import org.apache.thrift.Fixtures;
 import org.apache.thrift.TBase;
 import org.apache.thrift.TDeserializer;
@@ -15,23 +17,22 @@
 import thrift.test.Nesting;
 import thrift.test.OneOfEach;
 
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
 public class TestStandardScheme {
   TSerializer serializer = new TSerializer();
   TDeserializer deserializer = new TDeserializer();
 
-  public TestStandardScheme() throws TTransportException {
-  }
+  public TestStandardScheme() throws TTransportException {}
 
   /**
-   * This tests whether the Standard Scheme properly reads structs serialized
-   * using an older version of thrift.
+   * This tests whether the Standard Scheme properly reads structs serialized using an older version
+   * of thrift.
    */
   @Test
   public void testPersistentStructs() throws TException {
-    readAndCompare(new OneOfEach(), Fixtures.getOneOfEach(), Fixtures.getPersistentBytesOneOfEach());
-    readAndCompare(new HolyMoley(), Fixtures.getHolyMoley(), Fixtures.getPersistentBytesHolyMoley());
+    readAndCompare(
+        new OneOfEach(), Fixtures.getOneOfEach(), Fixtures.getPersistentBytesOneOfEach());
+    readAndCompare(
+        new HolyMoley(), Fixtures.getHolyMoley(), Fixtures.getPersistentBytesHolyMoley());
     readAndCompare(new Nesting(), Fixtures.getNesting(), Fixtures.getPersistentBytesNesting());
   }
 
diff --git a/lib/java/src/test/java/org/apache/thrift/server/ServerTestBase.java b/lib/java/src/test/java/org/apache/thrift/server/ServerTestBase.java
index 3c40262..a1e19eb 100644
--- a/lib/java/src/test/java/org/apache/thrift/server/ServerTestBase.java
+++ b/lib/java/src/test/java/org/apache/thrift/server/ServerTestBase.java
@@ -18,6 +18,17 @@
  */
 package org.apache.thrift.server;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+import java.nio.ByteBuffer;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 import org.apache.thrift.TException;
 import org.apache.thrift.TProcessor;
 import org.apache.thrift.async.AsyncMethodCallback;
@@ -40,19 +51,7 @@
 import thrift.test.Xtruct;
 import thrift.test.Xtruct2;
 
-import java.nio.ByteBuffer;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-public abstract class ServerTestBase  {
+public abstract class ServerTestBase {
 
   public static class TestHandler implements ThriftTest.Iface {
 
@@ -103,12 +102,12 @@
     public ByteBuffer testBinary(ByteBuffer thing) {
       StringBuilder sb = new StringBuilder(thing.remaining() * 3);
       thing.mark();
-      int limit = 0;  // limit output to keep the log size sane
+      int limit = 0; // limit output to keep the log size sane
       while ((thing.remaining() > 0) && (++limit < 1024)) {
         sb.append(String.format("%02X ", thing.get()));
       }
-      if(thing.remaining() > 0) {
-        sb.append("...");  // indicate we have more date
+      if (thing.remaining() > 0) {
+        sb.append("..."); // indicate we have more date
       }
       System.out.print("testBinary(" + sb + ")\n");
       thing.reset();
@@ -117,29 +116,43 @@
 
     @Override
     public Xtruct testStruct(Xtruct thing) {
-      System.out.print("testStruct({" +
-                       "\"" + thing.string_thing + "\", " +
-                       thing.byte_thing + ", " +
-                       thing.i32_thing + ", " +
-                       thing.i64_thing + "})\n");
+      System.out.print(
+          "testStruct({"
+              + "\""
+              + thing.string_thing
+              + "\", "
+              + thing.byte_thing
+              + ", "
+              + thing.i32_thing
+              + ", "
+              + thing.i64_thing
+              + "})\n");
       return thing;
     }
 
     @Override
     public Xtruct2 testNest(Xtruct2 nest) {
       Xtruct thing = nest.struct_thing;
-      System.out.print("testNest({" +
-                       nest.byte_thing + ", {" +
-                       "\"" + thing.string_thing + "\", " +
-                       thing.byte_thing + ", " +
-                       thing.i32_thing + ", " +
-                       thing.i64_thing + "}, " +
-                       nest.i32_thing + "})\n");
+      System.out.print(
+          "testNest({"
+              + nest.byte_thing
+              + ", {"
+              + "\""
+              + thing.string_thing
+              + "\", "
+              + thing.byte_thing
+              + ", "
+              + thing.i32_thing
+              + ", "
+              + thing.i64_thing
+              + "}, "
+              + nest.i32_thing
+              + "})\n");
       return nest;
     }
 
     @Override
-    public Map<Integer,Integer> testMap(Map<Integer,Integer> thing) {
+    public Map<Integer, Integer> testMap(Map<Integer, Integer> thing) {
       System.out.print("testMap({");
       System.out.print(thing);
       System.out.print("})\n");
@@ -147,7 +160,7 @@
     }
 
     @Override
-    public Map<String,String> testStringMap(Map<String,String> thing) {
+    public Map<String, String> testStringMap(Map<String, String> thing) {
       System.out.print("testStringMap({");
       System.out.print(thing);
       System.out.print("})\n");
@@ -199,13 +212,12 @@
     }
 
     @Override
-    public Map<Integer,Map<Integer,Integer>> testMapMap(int hello) {
+    public Map<Integer, Map<Integer, Integer>> testMapMap(int hello) {
       System.out.print("testMapMap(" + hello + ")\n");
-      Map<Integer,Map<Integer,Integer>> mapmap =
-              new HashMap<>();
+      Map<Integer, Map<Integer, Integer>> mapmap = new HashMap<>();
 
-      HashMap<Integer,Integer> pos = new HashMap<>();
-      HashMap<Integer,Integer> neg = new HashMap<>();
+      HashMap<Integer, Integer> pos = new HashMap<>();
+      HashMap<Integer, Integer> neg = new HashMap<>();
       for (int i = 1; i < 5; i++) {
         pos.put(i, i);
         neg.put(-i, -i);
@@ -218,11 +230,11 @@
     }
 
     @Override
-    public Map<Long, Map<Numberz,Insanity>> testInsanity(Insanity argument) {
+    public Map<Long, Map<Numberz, Insanity>> testInsanity(Insanity argument) {
       System.out.print("testInsanity()\n");
 
-      HashMap<Numberz,Insanity> first_map = new HashMap<>();
-      HashMap<Numberz,Insanity> second_map = new HashMap<>();
+      HashMap<Numberz, Insanity> first_map = new HashMap<>();
+      HashMap<Numberz, Insanity> second_map = new HashMap<>();
 
       first_map.put(Numberz.TWO, argument);
       first_map.put(Numberz.THREE, argument);
@@ -230,16 +242,16 @@
       Insanity looney = new Insanity();
       second_map.put(Numberz.SIX, looney);
 
-      Map<Long,Map<Numberz,Insanity>> insane =
-              new HashMap<>();
-      insane.put((long)1, first_map);
-      insane.put((long)2, second_map);
+      Map<Long, Map<Numberz, Insanity>> insane = new HashMap<>();
+      insane.put((long) 1, first_map);
+      insane.put((long) 2, second_map);
 
       return insane;
     }
 
     @Override
-    public Xtruct testMulti(byte arg0, int arg1, long arg2, Map<Short,String> arg3, Numberz arg4, long arg5) {
+    public Xtruct testMulti(
+        byte arg0, int arg1, long arg2, Map<Short, String> arg3, Numberz arg4, long arg5) {
       System.out.print("testMulti()\n");
 
       Xtruct hello = new Xtruct();
@@ -252,7 +264,7 @@
 
     @Override
     public void testException(String arg) throws TException {
-      System.out.print("testException("+arg+")\n");
+      System.out.print("testException(" + arg + ")\n");
       if ("Xception".equals(arg)) {
         Xception x = new Xception();
         x.errorCode = 1001;
@@ -291,8 +303,7 @@
 
     @Override
     public void testOneway(int sleepFor) {
-      System.out.println("testOneway(" + sleepFor +
-                         ") => sleeping...");
+      System.out.println("testOneway(" + sleepFor + ") => sleeping...");
       try {
         Thread.sleep(sleepFor * SLEEP_DELAY);
         System.out.println("Done sleeping!");
@@ -302,23 +313,23 @@
     }
   } // class TestHandler
 
-  private static final List<TProtocolFactory> PROTOCOLS = Arrays.asList(
-      new TBinaryProtocol.Factory(),
-      new TCompactProtocol.Factory());
+  private static final List<TProtocolFactory> PROTOCOLS =
+      Arrays.asList(new TBinaryProtocol.Factory(), new TCompactProtocol.Factory());
 
   public static final String HOST = "localhost";
-  public static final int PORT = Integer.parseInt(
-    System.getProperty("test.port", "9090"));
+  public static final int PORT = Integer.parseInt(System.getProperty("test.port", "9090"));
   protected static final long SLEEP_DELAY = 1000;
   protected static final int SOCKET_TIMEOUT = 1500;
   private static final Xtruct XSTRUCT = new Xtruct("Zero", (byte) 1, -3, -5);
-  private static final Xtruct2 XSTRUCT2 = new Xtruct2((byte)1, XSTRUCT, 5);
+  private static final Xtruct2 XSTRUCT2 = new Xtruct2((byte) 1, XSTRUCT, 5);
 
-  public void startServer(TProcessor processor, TProtocolFactory protoFactory) throws Exception{
+  public void startServer(TProcessor processor, TProtocolFactory protoFactory) throws Exception {
     startServer(processor, protoFactory, null);
   }
 
-  public abstract void startServer(TProcessor processor, TProtocolFactory protoFactory, TTransportFactory factory) throws Exception;
+  public abstract void startServer(
+      TProcessor processor, TProtocolFactory protoFactory, TTransportFactory factory)
+      throws Exception;
 
   public abstract void stopServer() throws Exception;
 
@@ -332,7 +343,7 @@
   }
 
   private void testByte(ThriftTest.Client testClient) throws TException {
-    byte i8 = testClient.testByte((byte)1);
+    byte i8 = testClient.testByte((byte) 1);
     assertEquals(1, i8);
   }
 
@@ -365,20 +376,19 @@
 
     insane = new Insanity();
     insane.userMap = new HashMap<>();
-    insane.userMap.put(Numberz.FIVE, (long)5000);
+    insane.userMap.put(Numberz.FIVE, (long) 5000);
     Xtruct truck = new Xtruct();
     truck.string_thing = "Truck";
-    truck.byte_thing = (byte)8;
+    truck.byte_thing = (byte) 8;
     truck.i32_thing = 8;
     truck.i64_thing = 8;
     insane.xtructs = new ArrayList<>();
     insane.xtructs.add(truck);
     System.out.print("testInsanity()");
-    Map<Long,Map<Numberz,Insanity>> whoa =
-      testClient.testInsanity(insane);
+    Map<Long, Map<Numberz, Insanity>> whoa = testClient.testInsanity(insane);
     System.out.print(" = {");
     for (long key : whoa.keySet()) {
-      Map<Numberz,Insanity> val = whoa.get(key);
+      Map<Numberz, Insanity> val = whoa.get(key);
       System.out.print(key + " => {");
 
       for (Numberz k2 : val.keySet()) {
@@ -397,7 +407,17 @@
         System.out.print("{");
         if (xtructs != null) {
           for (Xtruct x : xtructs) {
-            System.out.print("{" + "\"" + x.string_thing + "\", " + x.byte_thing + ", " + x.i32_thing + ", "+ x.i64_thing + "}, ");
+            System.out.print(
+                "{"
+                    + "\""
+                    + x.string_thing
+                    + "\", "
+                    + x.byte_thing
+                    + ", "
+                    + x.i32_thing
+                    + ", "
+                    + x.i64_thing
+                    + "}, ");
           }
         }
         System.out.print("}");
@@ -410,14 +430,17 @@
   }
 
   public boolean useAsyncProcessor() {
-      return false;
+    return false;
   }
 
   @Test
   public void testIt() throws Exception {
 
     for (TProtocolFactory protoFactory : getProtocols()) {
-      TProcessor processor = useAsyncProcessor() ? new ThriftTest.AsyncProcessor<>(new AsyncTestHandler()) : new ThriftTest.Processor<>(new TestHandler());
+      TProcessor processor =
+          useAsyncProcessor()
+              ? new ThriftTest.AsyncProcessor<>(new AsyncTestHandler())
+              : new ThriftTest.Processor<>(new TestHandler());
 
       startServer(processor, protoFactory);
 
@@ -474,32 +497,30 @@
   }
 
   private void testMap(ThriftTest.Client testClient) throws TException {
-    Map<Integer,Integer> mapout = new HashMap<>();
+    Map<Integer, Integer> mapout = new HashMap<>();
     for (int i = 0; i < 5; ++i) {
-      mapout.put(i, i-10);
+      mapout.put(i, i - 10);
     }
-    Map<Integer,Integer> mapin = testClient.testMap(mapout);
+    Map<Integer, Integer> mapin = testClient.testMap(mapout);
     assertEquals(mapout, mapin);
   }
 
   private void testStringMap(ThriftTest.Client testClient) throws TException {
-    Map<String,String> mapout = new HashMap<>();
+    Map<String, String> mapout = new HashMap<>();
     mapout.put("a", "123");
     mapout.put(" x y ", " with spaces ");
     mapout.put("same", "same");
     mapout.put("0", "numeric key");
-    Map<String,String> mapin = testClient.testStringMap(mapout);
+    Map<String, String> mapin = testClient.testStringMap(mapout);
     assertEquals(mapout, mapin);
   }
 
   private void testNestedMap(ThriftTest.Client testClient) throws TException {
-    Map<Integer,Map<Integer,Integer>> mm =
-      testClient.testMapMap(1);
-    Map<Integer,Map<Integer,Integer>> mapmap =
-            new HashMap<>();
+    Map<Integer, Map<Integer, Integer>> mm = testClient.testMapMap(1);
+    Map<Integer, Map<Integer, Integer>> mapmap = new HashMap<>();
 
-    HashMap<Integer,Integer> pos = new HashMap<>();
-    HashMap<Integer,Integer> neg = new HashMap<>();
+    HashMap<Integer, Integer> pos = new HashMap<>();
+    HashMap<Integer, Integer> neg = new HashMap<>();
     for (int i = 1; i < 5; i++) {
       pos.put(i, i);
       neg.put(-i, -i);
@@ -569,7 +590,8 @@
       TestHandler handler = new TestHandler();
       ThriftTest.Processor<TestHandler> processor = new ThriftTest.Processor<>(handler);
 
-      final CallCountingTransportFactory factory = new CallCountingTransportFactory(new TFramedTransport.Factory());
+      final CallCountingTransportFactory factory =
+          new CallCountingTransportFactory(new TFramedTransport.Factory());
 
       startServer(processor, protoFactory, factory);
       assertEquals(0, factory.count);
@@ -592,19 +614,18 @@
     try {
       testClient.testException("Xception");
       assert false;
-    } catch(Xception e) {
+    } catch (Xception e) {
       assertEquals(e.message, "Xception");
       assertEquals(e.errorCode, 1001);
     }
     try {
       testClient.testException("TException");
       assert false;
-    } catch(TException e) {
+    } catch (TException e) {
     }
     testClient.testException("no Exception");
   }
 
-
   public static class AsyncTestHandler implements ThriftTest.AsyncIface {
 
     TestHandler handler = new TestHandler();
@@ -615,12 +636,14 @@
     }
 
     @Override
-    public void testString(String thing, AsyncMethodCallback<String> resultHandler) throws TException {
+    public void testString(String thing, AsyncMethodCallback<String> resultHandler)
+        throws TException {
       resultHandler.onComplete(handler.testString(thing));
     }
 
     @Override
-    public void testBool(boolean thing, AsyncMethodCallback<Boolean> resultHandler) throws TException {
+    public void testBool(boolean thing, AsyncMethodCallback<Boolean> resultHandler)
+        throws TException {
       resultHandler.onComplete(handler.testBool(thing));
     }
 
@@ -640,47 +663,58 @@
     }
 
     @Override
-    public void testDouble(double thing, AsyncMethodCallback<Double> resultHandler) throws TException {
+    public void testDouble(double thing, AsyncMethodCallback<Double> resultHandler)
+        throws TException {
       resultHandler.onComplete(handler.testDouble(thing));
     }
 
     @Override
-    public void testBinary(ByteBuffer thing, AsyncMethodCallback<ByteBuffer> resultHandler) throws TException {
+    public void testBinary(ByteBuffer thing, AsyncMethodCallback<ByteBuffer> resultHandler)
+        throws TException {
       resultHandler.onComplete(handler.testBinary(thing));
     }
 
     @Override
-    public void testStruct(Xtruct thing, AsyncMethodCallback<Xtruct> resultHandler) throws TException {
+    public void testStruct(Xtruct thing, AsyncMethodCallback<Xtruct> resultHandler)
+        throws TException {
       resultHandler.onComplete(handler.testStruct(thing));
     }
 
     @Override
-    public void testNest(Xtruct2 thing, AsyncMethodCallback<Xtruct2> resultHandler) throws TException {
+    public void testNest(Xtruct2 thing, AsyncMethodCallback<Xtruct2> resultHandler)
+        throws TException {
       resultHandler.onComplete(handler.testNest(thing));
     }
 
     @Override
-    public void testMap(Map<Integer, Integer> thing, AsyncMethodCallback<Map<Integer, Integer>> resultHandler) throws TException {
+    public void testMap(
+        Map<Integer, Integer> thing, AsyncMethodCallback<Map<Integer, Integer>> resultHandler)
+        throws TException {
       resultHandler.onComplete(handler.testMap(thing));
     }
 
     @Override
-    public void testStringMap(Map<String, String> thing, AsyncMethodCallback<Map<String, String>> resultHandler) throws TException {
+    public void testStringMap(
+        Map<String, String> thing, AsyncMethodCallback<Map<String, String>> resultHandler)
+        throws TException {
       resultHandler.onComplete(handler.testStringMap(thing));
     }
 
     @Override
-    public void testSet(Set<Integer> thing, AsyncMethodCallback<Set<Integer>> resultHandler) throws TException {
+    public void testSet(Set<Integer> thing, AsyncMethodCallback<Set<Integer>> resultHandler)
+        throws TException {
       resultHandler.onComplete(handler.testSet(thing));
     }
 
     @Override
-    public void testList(List<Integer> thing, AsyncMethodCallback<List<Integer>> resultHandler) throws TException {
+    public void testList(List<Integer> thing, AsyncMethodCallback<List<Integer>> resultHandler)
+        throws TException {
       resultHandler.onComplete(handler.testList(thing));
     }
 
     @Override
-    public void testEnum(Numberz thing, AsyncMethodCallback<Numberz> resultHandler) throws TException {
+    public void testEnum(Numberz thing, AsyncMethodCallback<Numberz> resultHandler)
+        throws TException {
       resultHandler.onComplete(handler.testEnum(thing));
     }
 
@@ -690,23 +724,36 @@
     }
 
     @Override
-    public void testMapMap(int hello, AsyncMethodCallback<Map<Integer,Map<Integer,Integer>>> resultHandler) throws TException {
+    public void testMapMap(
+        int hello, AsyncMethodCallback<Map<Integer, Map<Integer, Integer>>> resultHandler)
+        throws TException {
       resultHandler.onComplete(handler.testMapMap(hello));
     }
 
     @Override
-    public void testInsanity(Insanity argument, AsyncMethodCallback<Map<Long, Map<Numberz,Insanity>>> resultHandler) throws TException {
+    public void testInsanity(
+        Insanity argument, AsyncMethodCallback<Map<Long, Map<Numberz, Insanity>>> resultHandler)
+        throws TException {
       resultHandler.onComplete(handler.testInsanity(argument));
     }
 
     @Override
-    public void testMulti(byte arg0, int arg1, long arg2, Map<Short, String> arg3, Numberz arg4, long arg5, AsyncMethodCallback<Xtruct> resultHandler) throws TException {
-      resultHandler.onComplete(handler.testMulti(arg0,arg1,arg2,arg3,arg4,arg5));
+    public void testMulti(
+        byte arg0,
+        int arg1,
+        long arg2,
+        Map<Short, String> arg3,
+        Numberz arg4,
+        long arg5,
+        AsyncMethodCallback<Xtruct> resultHandler)
+        throws TException {
+      resultHandler.onComplete(handler.testMulti(arg0, arg1, arg2, arg3, arg4, arg5));
     }
 
     @Override
-    public void testException(String arg, AsyncMethodCallback<Void> resultHandler) throws TException {
-      System.out.print("testException("+arg+")\n");
+    public void testException(String arg, AsyncMethodCallback<Void> resultHandler)
+        throws TException {
+      System.out.print("testException(" + arg + ")\n");
       if ("Xception".equals(arg)) {
         Xception x = new Xception();
         x.errorCode = 1001;
@@ -726,15 +773,16 @@
     }
 
     @Override
-    public void testMultiException(String arg0, String arg1, AsyncMethodCallback<Xtruct> resultHandler) throws TException {
-      //To change body of implemented methods use File | Settings | File Templates.
+    public void testMultiException(
+        String arg0, String arg1, AsyncMethodCallback<Xtruct> resultHandler) throws TException {
+      // To change body of implemented methods use File | Settings | File Templates.
     }
 
     @Override
-    public void testOneway(int secondsToSleep, AsyncMethodCallback<Void> resultHandler) throws TException {
+    public void testOneway(int secondsToSleep, AsyncMethodCallback<Void> resultHandler)
+        throws TException {
       handler.testOneway(secondsToSleep);
       resultHandler.onComplete(null);
     }
   }
-
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/server/TestAsyncServer.java b/lib/java/src/test/java/org/apache/thrift/server/TestAsyncServer.java
index 29c54cb..f8b5383 100644
--- a/lib/java/src/test/java/org/apache/thrift/server/TestAsyncServer.java
+++ b/lib/java/src/test/java/org/apache/thrift/server/TestAsyncServer.java
@@ -20,9 +20,8 @@
 
 public class TestAsyncServer extends TestNonblockingServer {
 
-   @Override
-   public boolean useAsyncProcessor(){
-       return true;
-   }
-
+  @Override
+  public boolean useAsyncProcessor() {
+    return true;
+  }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/server/TestHsHaServer.java b/lib/java/src/test/java/org/apache/thrift/server/TestHsHaServer.java
index 6638a33..2ea818d 100644
--- a/lib/java/src/test/java/org/apache/thrift/server/TestHsHaServer.java
+++ b/lib/java/src/test/java/org/apache/thrift/server/TestHsHaServer.java
@@ -24,7 +24,8 @@
 import org.apache.thrift.transport.TNonblockingServerSocket;
 
 public class TestHsHaServer extends TestNonblockingServer {
-  protected TServer getServer(TProcessor processor, TNonblockingServerSocket socket, TProtocolFactory protoFactory) {
+  protected TServer getServer(
+      TProcessor processor, TNonblockingServerSocket socket, TProtocolFactory protoFactory) {
     return new THsHaServer(new Args(socket).processor(processor).protocolFactory(protoFactory));
   }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/server/TestNonblockingServer.java b/lib/java/src/test/java/org/apache/thrift/server/TestNonblockingServer.java
index 927635b..29a81ef 100644
--- a/lib/java/src/test/java/org/apache/thrift/server/TestNonblockingServer.java
+++ b/lib/java/src/test/java/org/apache/thrift/server/TestNonblockingServer.java
@@ -18,6 +18,8 @@
  */
 package org.apache.thrift.server;
 
+import static org.junit.jupiter.api.Assertions.fail;
+
 import org.apache.thrift.TProcessor;
 import org.apache.thrift.protocol.TProtocol;
 import org.apache.thrift.protocol.TProtocolFactory;
@@ -31,15 +33,17 @@
 import org.junit.jupiter.api.Test;
 import thrift.test.ThriftTest;
 
-import static org.junit.jupiter.api.Assertions.fail;
-
 public class TestNonblockingServer extends ServerTestBase {
 
   private Thread serverThread;
   private TServer server;
   private static final int NUM_QUERIES = 1000;
 
-  protected TServer getServer(TProcessor processor, TNonblockingServerSocket socket, TProtocolFactory protoFactory, TTransportFactory factory) {
+  protected TServer getServer(
+      TProcessor processor,
+      TNonblockingServerSocket socket,
+      TProtocolFactory protoFactory,
+      TTransportFactory factory) {
     final Args args = new Args(socket).processor(processor).protocolFactory(protoFactory);
     if (factory != null) {
       args.transportFactory(factory);
@@ -48,25 +52,32 @@
   }
 
   @Override
-  public void startServer(final TProcessor processor, final TProtocolFactory protoFactory, final TTransportFactory factory) throws Exception {
-    serverThread = new Thread() {
-      public void run() {
-        try {
-          // Transport
-          TNonblockingServerSocket tServerSocket =
-            new TNonblockingServerSocket(new TNonblockingServerSocket.NonblockingAbstractServerSocketArgs().port(PORT));
+  public void startServer(
+      final TProcessor processor,
+      final TProtocolFactory protoFactory,
+      final TTransportFactory factory)
+      throws Exception {
+    serverThread =
+        new Thread() {
+          public void run() {
+            try {
+              // Transport
+              TNonblockingServerSocket tServerSocket =
+                  new TNonblockingServerSocket(
+                      new TNonblockingServerSocket.NonblockingAbstractServerSocketArgs()
+                          .port(PORT));
 
-          server = getServer(processor, tServerSocket, protoFactory, factory);
+              server = getServer(processor, tServerSocket, protoFactory, factory);
 
-          // Run it
-          System.out.println("Starting the server on port " + PORT + "...");
-          server.serve();
-        } catch (Exception e) {
-          e.printStackTrace();
-          fail();
-        }
-      }
-    };
+              // Run it
+              System.out.println("Starting the server on port " + PORT + "...");
+              server.serve();
+            } catch (Exception e) {
+              e.printStackTrace();
+              fail();
+            }
+          }
+        };
     serverThread.start();
     Thread.sleep(1000);
   }
@@ -76,7 +87,8 @@
     server.stop();
     try {
       serverThread.join();
-    } catch (InterruptedException e) {}
+    } catch (InterruptedException e) {
+    }
   }
 
   @Override
@@ -84,7 +96,6 @@
     return new TFramedTransport(underlyingTransport);
   }
 
-
   @Test
   public void testCleanupAllSelectionKeys() throws Exception {
     for (TProtocolFactory protoFactory : getProtocols()) {
@@ -109,7 +120,7 @@
       for (int i = 0; i < NUM_QUERIES; ++i) {
         try {
           testClient.testI32(1);
-        } catch(TTransportException e) {
+        } catch (TTransportException e) {
           System.err.println(e);
           e.printStackTrace();
           if (e.getCause() instanceof java.net.SocketTimeoutException) {
diff --git a/lib/java/src/test/java/org/apache/thrift/server/TestSaslNonblockingServer.java b/lib/java/src/test/java/org/apache/thrift/server/TestSaslNonblockingServer.java
index fb7bbdc..42afcd3 100644
--- a/lib/java/src/test/java/org/apache/thrift/server/TestSaslNonblockingServer.java
+++ b/lib/java/src/test/java/org/apache/thrift/server/TestSaslNonblockingServer.java
@@ -19,6 +19,10 @@
 
 package org.apache.thrift.server;
 
+import static org.apache.thrift.transport.sasl.TSaslNegotiationException.ErrorType.AUTHENTICATION_FAILURE;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
 import org.apache.thrift.TProcessor;
 import org.apache.thrift.protocol.TBinaryProtocol;
 import org.apache.thrift.protocol.TProtocolFactory;
@@ -34,26 +38,28 @@
 import org.junit.jupiter.api.Test;
 import thrift.test.ThriftTest;
 
-import static org.apache.thrift.transport.sasl.TSaslNegotiationException.ErrorType.AUTHENTICATION_FAILURE;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
 public class TestSaslNonblockingServer extends TestTSaslTransports.TestTSaslTransportsWithServer {
 
   private TSaslNonblockingServer server;
 
   @Override
-  public void startServer(TProcessor processor, TProtocolFactory protoFactory, TTransportFactory factory)
+  public void startServer(
+      TProcessor processor, TProtocolFactory protoFactory, TTransportFactory factory)
       throws Exception {
-    TNonblockingServerTransport serverSocket = new TNonblockingServerSocket(
-        new TNonblockingServerSocket.NonblockingAbstractServerSocketArgs().port(PORT));
-    TSaslNonblockingServer.Args args = new TSaslNonblockingServer.Args(serverSocket)
-        .processor(processor)
-        .transportFactory(factory)
-        .protocolFactory(protoFactory)
-        .addSaslMechanism(TestTSaslTransports.WRAPPED_MECHANISM, TestTSaslTransports.SERVICE,
-            TestTSaslTransports.HOST, TestTSaslTransports.WRAPPED_PROPS,
-            new TestSaslCallbackHandler(TestTSaslTransports.PASSWORD));
+    TNonblockingServerTransport serverSocket =
+        new TNonblockingServerSocket(
+            new TNonblockingServerSocket.NonblockingAbstractServerSocketArgs().port(PORT));
+    TSaslNonblockingServer.Args args =
+        new TSaslNonblockingServer.Args(serverSocket)
+            .processor(processor)
+            .transportFactory(factory)
+            .protocolFactory(protoFactory)
+            .addSaslMechanism(
+                TestTSaslTransports.WRAPPED_MECHANISM,
+                TestTSaslTransports.SERVICE,
+                TestTSaslTransports.HOST,
+                TestTSaslTransports.WRAPPED_PROPS,
+                new TestSaslCallbackHandler(TestTSaslTransports.PASSWORD));
     server = new TSaslNonblockingServer(args);
     server.serve();
   }
@@ -77,14 +83,25 @@
 
     TSocket socket = new TSocket(HOST, PORT);
     socket.setTimeout(SOCKET_TIMEOUT);
-    try (TSaslClientTransport client = new TSaslClientTransport(TestTSaslTransports.WRAPPED_MECHANISM,
-            TestTSaslTransports.PRINCIPAL, TestTSaslTransports.SERVICE, TestTSaslTransports.HOST,
-            TestTSaslTransports.WRAPPED_PROPS, new TestSaslCallbackHandler("bad_password"), socket)) {
-      TTransportException error = assertThrows(TTransportException.class, client::open, "Client should fail with sasl negotiation.");
-      TSaslNegotiationException serverSideError = new TSaslNegotiationException(AUTHENTICATION_FAILURE,
+    try (TSaslClientTransport client =
+        new TSaslClientTransport(
+            TestTSaslTransports.WRAPPED_MECHANISM,
+            TestTSaslTransports.PRINCIPAL,
+            TestTSaslTransports.SERVICE,
+            TestTSaslTransports.HOST,
+            TestTSaslTransports.WRAPPED_PROPS,
+            new TestSaslCallbackHandler("bad_password"),
+            socket)) {
+      TTransportException error =
+          assertThrows(
+              TTransportException.class, client::open, "Client should fail with sasl negotiation.");
+      TSaslNegotiationException serverSideError =
+          new TSaslNegotiationException(
+              AUTHENTICATION_FAILURE,
               "Authentication failed with " + TestTSaslTransports.WRAPPED_MECHANISM);
-      assertTrue(error.getMessage().contains(serverSideError.getSummary()),
-              "Server should return error message \"" + serverSideError.getSummary() + "\"");
+      assertTrue(
+          error.getMessage().contains(serverSideError.getSummary()),
+          "Server should return error message \"" + serverSideError.getSummary() + "\"");
     } finally {
       stopServer();
     }
diff --git a/lib/java/src/test/java/org/apache/thrift/server/TestThreadPoolServer.java b/lib/java/src/test/java/org/apache/thrift/server/TestThreadPoolServer.java
index f532ed4..74205c7 100644
--- a/lib/java/src/test/java/org/apache/thrift/server/TestThreadPoolServer.java
+++ b/lib/java/src/test/java/org/apache/thrift/server/TestThreadPoolServer.java
@@ -19,6 +19,10 @@
 
 package org.apache.thrift.server;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+import java.util.concurrent.ThreadPoolExecutor;
 import org.apache.thrift.protocol.TBinaryProtocol;
 import org.apache.thrift.transport.TServerSocket;
 import org.apache.thrift.transport.TServerTransport;
@@ -26,16 +30,9 @@
 import org.junit.jupiter.api.Test;
 import thrift.test.ThriftTest;
 
-import java.util.concurrent.ThreadPoolExecutor;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
 public class TestThreadPoolServer {
 
-  /**
-   * Test server is shut down properly even with some open clients.
-   */
+  /** Test server is shut down properly even with some open clients. */
   @Test
   public void testStopServerWithOpenClient() throws Exception {
     TServerSocket serverSocket = new TServerSocket(0, 3000);
@@ -53,7 +50,8 @@
       assertTrue(server.waitForShutdown());
 
       // After server is stopped, the executor thread pool should be shut down
-      assertTrue(server.getExecutorService().isTerminated(), "Server thread pool should be terminated");
+      assertTrue(
+          server.getExecutorService().isTerminated(), "Server thread pool should be terminated");
 
       // TODO: The socket is actually closed (timeout) but the client code
       // ignores the timeout Exception and maintains the socket open state
@@ -62,9 +60,10 @@
   }
 
   private TThreadPoolServer buildServer(TServerTransport serverSocket) {
-    TThreadPoolServer.Args args = new TThreadPoolServer.Args(serverSocket)
-        .protocolFactory(new TBinaryProtocol.Factory())
-        .processor(new ThriftTest.Processor<>(new ServerTestBase.TestHandler()));
+    TThreadPoolServer.Args args =
+        new TThreadPoolServer.Args(serverSocket)
+            .protocolFactory(new TBinaryProtocol.Factory())
+            .processor(new ThriftTest.Processor<>(new ServerTestBase.TestHandler()));
     return new TThreadPoolServer(args);
   }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/server/TestThreadedSelectorServer.java b/lib/java/src/test/java/org/apache/thrift/server/TestThreadedSelectorServer.java
index ed729a2..390f6a0 100644
--- a/lib/java/src/test/java/org/apache/thrift/server/TestThreadedSelectorServer.java
+++ b/lib/java/src/test/java/org/apache/thrift/server/TestThreadedSelectorServer.java
@@ -24,7 +24,9 @@
 import org.apache.thrift.transport.TNonblockingServerSocket;
 
 public class TestThreadedSelectorServer extends TestNonblockingServer {
-  protected TServer getServer(TProcessor processor, TNonblockingServerSocket socket, TProtocolFactory protoFactory) {
-    return new TThreadedSelectorServer(new Args(socket).processor(processor).protocolFactory(protoFactory));
+  protected TServer getServer(
+      TProcessor processor, TNonblockingServerSocket socket, TProtocolFactory protoFactory) {
+    return new TThreadedSelectorServer(
+        new Args(socket).processor(processor).protocolFactory(protoFactory));
   }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/test/EqualityTest.java b/lib/java/src/test/java/org/apache/thrift/test/EqualityTest.java
index 94ba543..fee495c 100644
--- a/lib/java/src/test/java/org/apache/thrift/test/EqualityTest.java
+++ b/lib/java/src/test/java/org/apache/thrift/test/EqualityTest.java
@@ -130,26 +130,21 @@
 
 // Generated code
 import java.nio.ByteBuffer;
-
 import thrift.test.JavaTestHelper;
 
-/**
- */
+/** */
 public class EqualityTest {
   public static void main(String[] args) throws Exception {
     JavaTestHelper lhs, rhs;
 
-
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
     lhs.req_int = 1;
     rhs.req_int = 1;
     // this_present = True
     // that_present = True
-    if (lhs.equals(rhs) != true)
-      throw new RuntimeException("Failure");
-    if (lhs.hashCode() != rhs.hashCode())
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != true) throw new RuntimeException("Failure");
+    if (lhs.hashCode() != rhs.hashCode()) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
@@ -157,8 +152,7 @@
     rhs.req_int = 2;
     // this_present = True
     // that_present = True
-    if (lhs.equals(rhs) != false)
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != false) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
@@ -167,10 +161,8 @@
     rhs.setReq_intIsSet(true);
     // this_present = True
     // that_present = True
-    if (lhs.equals(rhs) != true)
-      throw new RuntimeException("Failure");
-    if (lhs.hashCode() != rhs.hashCode())
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != true) throw new RuntimeException("Failure");
+    if (lhs.hashCode() != rhs.hashCode()) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
@@ -179,8 +171,7 @@
     rhs.setReq_intIsSet(true);
     // this_present = True
     // that_present = True
-    if (lhs.equals(rhs) != false)
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != false) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
@@ -189,10 +180,8 @@
     lhs.setReq_intIsSet(true);
     // this_present = True
     // that_present = True
-    if (lhs.equals(rhs) != true)
-      throw new RuntimeException("Failure");
-    if (lhs.hashCode() != rhs.hashCode())
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != true) throw new RuntimeException("Failure");
+    if (lhs.hashCode() != rhs.hashCode()) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
@@ -201,8 +190,7 @@
     lhs.setReq_intIsSet(true);
     // this_present = True
     // that_present = True
-    if (lhs.equals(rhs) != false)
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != false) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
@@ -212,10 +200,8 @@
     rhs.setReq_intIsSet(true);
     // this_present = True
     // that_present = True
-    if (lhs.equals(rhs) != true)
-      throw new RuntimeException("Failure");
-    if (lhs.hashCode() != rhs.hashCode())
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != true) throw new RuntimeException("Failure");
+    if (lhs.hashCode() != rhs.hashCode()) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
@@ -225,8 +211,7 @@
     rhs.setReq_intIsSet(true);
     // this_present = True
     // that_present = True
-    if (lhs.equals(rhs) != false)
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != false) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
@@ -234,10 +219,8 @@
     rhs.opt_int = 1;
     // this_present = False
     // that_present = False
-    if (lhs.equals(rhs) != true)
-      throw new RuntimeException("Failure");
-    if (lhs.hashCode() != rhs.hashCode())
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != true) throw new RuntimeException("Failure");
+    if (lhs.hashCode() != rhs.hashCode()) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
@@ -245,10 +228,8 @@
     rhs.opt_int = 2;
     // this_present = False
     // that_present = False
-    if (lhs.equals(rhs) != true)
-      throw new RuntimeException("Failure");
-    if (lhs.hashCode() != rhs.hashCode())
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != true) throw new RuntimeException("Failure");
+    if (lhs.hashCode() != rhs.hashCode()) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
@@ -257,8 +238,7 @@
     rhs.setOpt_intIsSet(true);
     // this_present = False
     // that_present = True
-    if (lhs.equals(rhs) != false)
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != false) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
@@ -267,8 +247,7 @@
     rhs.setOpt_intIsSet(true);
     // this_present = False
     // that_present = True
-    if (lhs.equals(rhs) != false)
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != false) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
@@ -277,8 +256,7 @@
     lhs.setOpt_intIsSet(true);
     // this_present = True
     // that_present = False
-    if (lhs.equals(rhs) != false)
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != false) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
@@ -287,8 +265,7 @@
     lhs.setOpt_intIsSet(true);
     // this_present = True
     // that_present = False
-    if (lhs.equals(rhs) != false)
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != false) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
@@ -298,10 +275,8 @@
     rhs.setOpt_intIsSet(true);
     // this_present = True
     // that_present = True
-    if (lhs.equals(rhs) != true)
-      throw new RuntimeException("Failure");
-    if (lhs.hashCode() != rhs.hashCode())
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != true) throw new RuntimeException("Failure");
+    if (lhs.hashCode() != rhs.hashCode()) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
@@ -311,8 +286,7 @@
     rhs.setOpt_intIsSet(true);
     // this_present = True
     // that_present = True
-    if (lhs.equals(rhs) != false)
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != false) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
@@ -322,10 +296,8 @@
     rhs.req_obj = null;
     // this_present = False
     // that_present = False
-    if (lhs.equals(rhs) != true)
-      throw new RuntimeException("Failure");
-    if (lhs.hashCode() != rhs.hashCode())
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != true) throw new RuntimeException("Failure");
+    if (lhs.hashCode() != rhs.hashCode()) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
@@ -335,10 +307,8 @@
     rhs.req_obj = null;
     // this_present = False
     // that_present = False
-    if (lhs.equals(rhs) != true)
-      throw new RuntimeException("Failure");
-    if (lhs.hashCode() != rhs.hashCode())
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != true) throw new RuntimeException("Failure");
+    if (lhs.hashCode() != rhs.hashCode()) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
@@ -347,8 +317,7 @@
     lhs.req_obj = null;
     // this_present = False
     // that_present = True
-    if (lhs.equals(rhs) != false)
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != false) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
@@ -357,8 +326,7 @@
     lhs.req_obj = null;
     // this_present = False
     // that_present = True
-    if (lhs.equals(rhs) != false)
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != false) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
@@ -367,8 +335,7 @@
     rhs.req_obj = null;
     // this_present = True
     // that_present = False
-    if (lhs.equals(rhs) != false)
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != false) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
@@ -377,8 +344,7 @@
     rhs.req_obj = null;
     // this_present = True
     // that_present = False
-    if (lhs.equals(rhs) != false)
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != false) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
@@ -386,10 +352,8 @@
     rhs.req_obj = "foo";
     // this_present = True
     // that_present = True
-    if (lhs.equals(rhs) != true)
-      throw new RuntimeException("Failure");
-    if (lhs.hashCode() != rhs.hashCode())
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != true) throw new RuntimeException("Failure");
+    if (lhs.hashCode() != rhs.hashCode()) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
@@ -397,8 +361,7 @@
     rhs.req_obj = "bar";
     // this_present = True
     // that_present = True
-    if (lhs.equals(rhs) != false)
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != false) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
@@ -408,10 +371,8 @@
     rhs.opt_obj = null;
     // this_present = False
     // that_present = False
-    if (lhs.equals(rhs) != true)
-      throw new RuntimeException("Failure");
-    if (lhs.hashCode() != rhs.hashCode())
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != true) throw new RuntimeException("Failure");
+    if (lhs.hashCode() != rhs.hashCode()) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
@@ -421,10 +382,8 @@
     rhs.opt_obj = null;
     // this_present = False
     // that_present = False
-    if (lhs.equals(rhs) != true)
-      throw new RuntimeException("Failure");
-    if (lhs.hashCode() != rhs.hashCode())
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != true) throw new RuntimeException("Failure");
+    if (lhs.hashCode() != rhs.hashCode()) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
@@ -433,8 +392,7 @@
     lhs.opt_obj = null;
     // this_present = False
     // that_present = True
-    if (lhs.equals(rhs) != false)
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != false) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
@@ -443,8 +401,7 @@
     lhs.opt_obj = null;
     // this_present = False
     // that_present = True
-    if (lhs.equals(rhs) != false)
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != false) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
@@ -453,8 +410,7 @@
     rhs.opt_obj = null;
     // this_present = True
     // that_present = False
-    if (lhs.equals(rhs) != false)
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != false) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
@@ -463,8 +419,7 @@
     rhs.opt_obj = null;
     // this_present = True
     // that_present = False
-    if (lhs.equals(rhs) != false)
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != false) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
@@ -472,10 +427,8 @@
     rhs.opt_obj = "foo";
     // this_present = True
     // that_present = True
-    if (lhs.equals(rhs) != true)
-      throw new RuntimeException("Failure");
-    if (lhs.hashCode() != rhs.hashCode())
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != true) throw new RuntimeException("Failure");
+    if (lhs.hashCode() != rhs.hashCode()) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
@@ -483,181 +436,156 @@
     rhs.opt_obj = "bar";
     // this_present = True
     // that_present = True
-    if (lhs.equals(rhs) != false)
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != false) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
-    lhs.req_bin = ByteBuffer.wrap(new byte[]{1,2});
-    rhs.req_bin = ByteBuffer.wrap(new byte[]{1,2});
+    lhs.req_bin = ByteBuffer.wrap(new byte[] {1, 2});
+    rhs.req_bin = ByteBuffer.wrap(new byte[] {1, 2});
     lhs.req_bin = null;
     rhs.req_bin = null;
     // this_present = False
     // that_present = False
-    if (lhs.equals(rhs) != true)
-      throw new RuntimeException("Failure");
-    if (lhs.hashCode() != rhs.hashCode())
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != true) throw new RuntimeException("Failure");
+    if (lhs.hashCode() != rhs.hashCode()) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
-    lhs.req_bin = ByteBuffer.wrap(new byte[]{1,2});
-    rhs.req_bin = ByteBuffer.wrap(new byte[]{3,4});
+    lhs.req_bin = ByteBuffer.wrap(new byte[] {1, 2});
+    rhs.req_bin = ByteBuffer.wrap(new byte[] {3, 4});
     lhs.req_bin = null;
     rhs.req_bin = null;
     // this_present = False
     // that_present = False
-    if (lhs.equals(rhs) != true)
-      throw new RuntimeException("Failure");
-    if (lhs.hashCode() != rhs.hashCode())
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != true) throw new RuntimeException("Failure");
+    if (lhs.hashCode() != rhs.hashCode()) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
-    lhs.req_bin = ByteBuffer.wrap(new byte[]{1,2});
-    rhs.req_bin = ByteBuffer.wrap(new byte[]{1,2});
+    lhs.req_bin = ByteBuffer.wrap(new byte[] {1, 2});
+    rhs.req_bin = ByteBuffer.wrap(new byte[] {1, 2});
     lhs.req_bin = null;
     // this_present = False
     // that_present = True
-    if (lhs.equals(rhs) != false)
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != false) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
-    lhs.req_bin = ByteBuffer.wrap(new byte[]{1,2});
-    rhs.req_bin = ByteBuffer.wrap(new byte[]{3,4});
+    lhs.req_bin = ByteBuffer.wrap(new byte[] {1, 2});
+    rhs.req_bin = ByteBuffer.wrap(new byte[] {3, 4});
     lhs.req_bin = null;
     // this_present = False
     // that_present = True
-    if (lhs.equals(rhs) != false)
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != false) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
-    lhs.req_bin = ByteBuffer.wrap(new byte[]{1,2});
-    rhs.req_bin = ByteBuffer.wrap(new byte[]{1,2});
+    lhs.req_bin = ByteBuffer.wrap(new byte[] {1, 2});
+    rhs.req_bin = ByteBuffer.wrap(new byte[] {1, 2});
     rhs.req_bin = null;
     // this_present = True
     // that_present = False
-    if (lhs.equals(rhs) != false)
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != false) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
-    lhs.req_bin = ByteBuffer.wrap(new byte[]{1,2});
-    rhs.req_bin = ByteBuffer.wrap(new byte[]{3,4});
+    lhs.req_bin = ByteBuffer.wrap(new byte[] {1, 2});
+    rhs.req_bin = ByteBuffer.wrap(new byte[] {3, 4});
     rhs.req_bin = null;
     // this_present = True
     // that_present = False
-    if (lhs.equals(rhs) != false)
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != false) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
-    lhs.req_bin = ByteBuffer.wrap(new byte[]{1,2});
-    rhs.req_bin = ByteBuffer.wrap(new byte[]{1,2});
+    lhs.req_bin = ByteBuffer.wrap(new byte[] {1, 2});
+    rhs.req_bin = ByteBuffer.wrap(new byte[] {1, 2});
     // this_present = True
     // that_present = True
-    if (lhs.equals(rhs) != true)
-      throw new RuntimeException("Failure");
-    if (lhs.hashCode() != rhs.hashCode())
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != true) throw new RuntimeException("Failure");
+    if (lhs.hashCode() != rhs.hashCode()) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
-    lhs.req_bin = ByteBuffer.wrap(new byte[]{1,2});
-    rhs.req_bin = ByteBuffer.wrap(new byte[]{3,4});
+    lhs.req_bin = ByteBuffer.wrap(new byte[] {1, 2});
+    rhs.req_bin = ByteBuffer.wrap(new byte[] {3, 4});
     // this_present = True
     // that_present = True
-    if (lhs.equals(rhs) != false)
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != false) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
-    lhs.opt_bin = ByteBuffer.wrap(new byte[]{1,2});
-    rhs.opt_bin = ByteBuffer.wrap(new byte[]{1,2});
+    lhs.opt_bin = ByteBuffer.wrap(new byte[] {1, 2});
+    rhs.opt_bin = ByteBuffer.wrap(new byte[] {1, 2});
     lhs.opt_bin = null;
     rhs.opt_bin = null;
     // this_present = False
     // that_present = False
-    if (lhs.equals(rhs) != true)
-      throw new RuntimeException("Failure");
-    if (lhs.hashCode() != rhs.hashCode())
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != true) throw new RuntimeException("Failure");
+    if (lhs.hashCode() != rhs.hashCode()) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
-    lhs.opt_bin = ByteBuffer.wrap(new byte[]{1,2});
-    rhs.opt_bin = ByteBuffer.wrap(new byte[]{3,4});
+    lhs.opt_bin = ByteBuffer.wrap(new byte[] {1, 2});
+    rhs.opt_bin = ByteBuffer.wrap(new byte[] {3, 4});
     lhs.opt_bin = null;
     rhs.opt_bin = null;
     // this_present = False
     // that_present = False
-    if (lhs.equals(rhs) != true)
-      throw new RuntimeException("Failure");
-    if (lhs.hashCode() != rhs.hashCode())
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != true) throw new RuntimeException("Failure");
+    if (lhs.hashCode() != rhs.hashCode()) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
-    lhs.opt_bin = ByteBuffer.wrap(new byte[]{1,2});
-    rhs.opt_bin = ByteBuffer.wrap(new byte[]{1,2});
+    lhs.opt_bin = ByteBuffer.wrap(new byte[] {1, 2});
+    rhs.opt_bin = ByteBuffer.wrap(new byte[] {1, 2});
     lhs.opt_bin = null;
     // this_present = False
     // that_present = True
-    if (lhs.equals(rhs) != false)
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != false) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
-    lhs.opt_bin = ByteBuffer.wrap(new byte[]{1,2});
-    rhs.opt_bin = ByteBuffer.wrap(new byte[]{3,4});
+    lhs.opt_bin = ByteBuffer.wrap(new byte[] {1, 2});
+    rhs.opt_bin = ByteBuffer.wrap(new byte[] {3, 4});
     lhs.opt_bin = null;
     // this_present = False
     // that_present = True
-    if (lhs.equals(rhs) != false)
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != false) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
-    lhs.opt_bin = ByteBuffer.wrap(new byte[]{1,2});
-    rhs.opt_bin = ByteBuffer.wrap(new byte[]{1,2});
+    lhs.opt_bin = ByteBuffer.wrap(new byte[] {1, 2});
+    rhs.opt_bin = ByteBuffer.wrap(new byte[] {1, 2});
     rhs.opt_bin = null;
     // this_present = True
     // that_present = False
-    if (lhs.equals(rhs) != false)
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != false) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
-    lhs.opt_bin = ByteBuffer.wrap(new byte[]{1,2});
-    rhs.opt_bin = ByteBuffer.wrap(new byte[]{3,4});
+    lhs.opt_bin = ByteBuffer.wrap(new byte[] {1, 2});
+    rhs.opt_bin = ByteBuffer.wrap(new byte[] {3, 4});
     rhs.opt_bin = null;
     // this_present = True
     // that_present = False
-    if (lhs.equals(rhs) != false)
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != false) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
-    lhs.opt_bin = ByteBuffer.wrap(new byte[]{1,2});
-    rhs.opt_bin = ByteBuffer.wrap(new byte[]{1,2});
+    lhs.opt_bin = ByteBuffer.wrap(new byte[] {1, 2});
+    rhs.opt_bin = ByteBuffer.wrap(new byte[] {1, 2});
     // this_present = True
     // that_present = True
-    if (lhs.equals(rhs) != true)
-      throw new RuntimeException("Failure");
-    if (lhs.hashCode() != rhs.hashCode())
-      throw new RuntimeException("Failure");
+    if (lhs.equals(rhs) != true) throw new RuntimeException("Failure");
+    if (lhs.hashCode() != rhs.hashCode()) throw new RuntimeException("Failure");
 
     lhs = new JavaTestHelper();
     rhs = new JavaTestHelper();
-    lhs.opt_bin = ByteBuffer.wrap(new byte[]{1,2});
-    rhs.opt_bin = ByteBuffer.wrap(new byte[]{3,4});
+    lhs.opt_bin = ByteBuffer.wrap(new byte[] {1, 2});
+    rhs.opt_bin = ByteBuffer.wrap(new byte[] {3, 4});
     // this_present = True
     // that_present = True
-    if (lhs.equals(rhs) != false)
-      throw new RuntimeException("Failure");
-
+    if (lhs.equals(rhs) != false) throw new RuntimeException("Failure");
   }
 }
-
diff --git a/lib/java/src/test/java/org/apache/thrift/test/JavaBeansTest.java b/lib/java/src/test/java/org/apache/thrift/test/JavaBeansTest.java
index 0bfcefe..f5d81ca 100644
--- a/lib/java/src/test/java/org/apache/thrift/test/JavaBeansTest.java
+++ b/lib/java/src/test/java/org/apache/thrift/test/JavaBeansTest.java
@@ -21,7 +21,6 @@
 
 import java.nio.ByteBuffer;
 import java.util.LinkedList;
-
 import thrift.test.OneOfEachBeans;
 
 public class JavaBeansTest {
@@ -53,7 +52,7 @@
     if (ooe.is_set_some_characters())
       throw new RuntimeException("isSet method error: unset field returned as set!");
 
-    for (int i = 1; i < 12; i++){
+    for (int i = 1; i < 12; i++) {
       if (ooe.isSet(ooe.fieldForId(i)))
         throw new RuntimeException("isSet method error: unset field " + i + " returned as set!");
     }
@@ -94,19 +93,20 @@
     if (!ooe.is_set_some_characters())
       throw new RuntimeException("isSet method error: set field returned as unset!");
 
-    for (int i = 1; i < 12; i++){
+    for (int i = 1; i < 12; i++) {
       if (!ooe.isSet(ooe.fieldForId(i)))
         throw new RuntimeException("isSet method error: set field " + i + " returned as unset!");
     }
 
     // Should throw exception when field doesn't exist
     boolean exceptionThrown = false;
-    try{
+    try {
       ooe.isSet(ooe.fieldForId(100));
-    } catch (IllegalArgumentException e){
+    } catch (IllegalArgumentException e) {
       exceptionThrown = true;
     }
     if (!exceptionThrown)
-      throw new RuntimeException("isSet method error: non-existent field provided as agument but no exception thrown!");
+      throw new RuntimeException(
+          "isSet method error: non-existent field provided as agument but no exception thrown!");
   }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/test/ReadStruct.java b/lib/java/src/test/java/org/apache/thrift/test/ReadStruct.java
index 4cc8f80..f1e14e2 100644
--- a/lib/java/src/test/java/org/apache/thrift/test/ReadStruct.java
+++ b/lib/java/src/test/java/org/apache/thrift/test/ReadStruct.java
@@ -21,25 +21,26 @@
 
 import java.io.BufferedInputStream;
 import java.io.FileInputStream;
-
 import org.apache.thrift.Fixtures;
 import org.apache.thrift.protocol.TProtocol;
 import org.apache.thrift.protocol.TProtocolFactory;
 import org.apache.thrift.transport.TIOStreamTransport;
 import org.apache.thrift.transport.TTransport;
-
 import thrift.test.CompactProtoTestStruct;
 
 public class ReadStruct {
   public static void main(String[] args) throws Exception {
     if (args.length != 2) {
-      System.out.println("usage: java -cp build/classes org.apache.thrift.test.ReadStruct filename proto_factory_class");
-      System.out.println("Read in an instance of CompactProtocolTestStruct from 'file', making sure that it is equivalent to Fixtures.compactProtoTestStruct. Use a protocol from 'proto_factory_class'.");
+      System.out.println(
+          "usage: java -cp build/classes org.apache.thrift.test.ReadStruct filename proto_factory_class");
+      System.out.println(
+          "Read in an instance of CompactProtocolTestStruct from 'file', making sure that it is equivalent to Fixtures.compactProtoTestStruct. Use a protocol from 'proto_factory_class'.");
     }
 
-    TTransport trans = new TIOStreamTransport(new BufferedInputStream(new FileInputStream(args[0])));
+    TTransport trans =
+        new TIOStreamTransport(new BufferedInputStream(new FileInputStream(args[0])));
 
-    TProtocolFactory factory = (TProtocolFactory)Class.forName(args[1]).newInstance();
+    TProtocolFactory factory = (TProtocolFactory) Class.forName(args[1]).newInstance();
 
     TProtocol proto = factory.getProtocol(trans);
 
@@ -58,5 +59,4 @@
       System.out.println("Expected: " + Fixtures.getCompactProtoTestStruct() + " but got " + cpts);
     }
   }
-
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/test/SerializationBenchmark.java b/lib/java/src/test/java/org/apache/thrift/test/SerializationBenchmark.java
index 8085ef4..50c6492 100644
--- a/lib/java/src/test/java/org/apache/thrift/test/SerializationBenchmark.java
+++ b/lib/java/src/test/java/org/apache/thrift/test/SerializationBenchmark.java
@@ -17,7 +17,6 @@
  * under the License.
  */
 
-
 package org.apache.thrift.test;
 
 import org.apache.thrift.Fixtures;
@@ -30,11 +29,10 @@
 import org.apache.thrift.transport.TMemoryInputTransport;
 import org.apache.thrift.transport.TTransport;
 import org.apache.thrift.transport.TTransportException;
-
 import thrift.test.OneOfEach;
 
 public class SerializationBenchmark {
-  private final static int HOW_MANY = 10000000;
+  private static final int HOW_MANY = 10000000;
 
   public static void main(String[] args) throws Exception {
     TProtocolFactory factory = new TBinaryProtocol.Factory();
@@ -44,16 +42,30 @@
   }
 
   public static void testSerialization(TProtocolFactory factory, TBase object) throws Exception {
-    TTransport trans = new TTransport() {
-      public void write(byte[] bin, int x, int y) throws TTransportException {}
-      public TConfiguration getConfiguration() {return new TConfiguration(); }
-      public void updateKnownMessageSize(long size) throws TTransportException {}
-      public void checkReadBytesAvailable(long numBytes) throws TTransportException {}
-      public int read(byte[] bin, int x, int y) throws TTransportException {return 0;}
-      public void close() {}
-      public void open() {}
-      public boolean isOpen() {return true;}
-    };
+    TTransport trans =
+        new TTransport() {
+          public void write(byte[] bin, int x, int y) throws TTransportException {}
+
+          public TConfiguration getConfiguration() {
+            return new TConfiguration();
+          }
+
+          public void updateKnownMessageSize(long size) throws TTransportException {}
+
+          public void checkReadBytesAvailable(long numBytes) throws TTransportException {}
+
+          public int read(byte[] bin, int x, int y) throws TTransportException {
+            return 0;
+          }
+
+          public void close() {}
+
+          public void open() {}
+
+          public boolean isOpen() {
+            return true;
+          }
+        };
 
     TProtocol proto = factory.getProtocol(trans);
 
@@ -66,11 +78,12 @@
     System.out.println("Serialization test time: " + (endTime - startTime) + " ms");
   }
 
-  public static <T extends TBase> void testDeserialization(TProtocolFactory factory, T object, Class<T> klass) throws Exception {
+  public static <T extends TBase> void testDeserialization(
+      TProtocolFactory factory, T object, Class<T> klass) throws Exception {
     TMemoryBuffer buf = new TMemoryBuffer(0);
     object.write(factory.getProtocol(buf));
-    byte[] serialized = new byte[100*1024];
-    buf.read(serialized, 0, 100*1024);
+    byte[] serialized = new byte[100 * 1024];
+    buf.read(serialized, 0, 100 * 1024);
 
     long startTime = System.currentTimeMillis();
     for (int i = 0; i < HOW_MANY; i++) {
diff --git a/lib/java/src/test/java/org/apache/thrift/test/TestServlet.java b/lib/java/src/test/java/org/apache/thrift/test/TestServlet.java
index e63109d..a23cc69 100644
--- a/lib/java/src/test/java/org/apache/thrift/test/TestServlet.java
+++ b/lib/java/src/test/java/org/apache/thrift/test/TestServlet.java
@@ -24,29 +24,28 @@
 import org.apache.thrift.protocol.TProtocolFactory;
 import org.apache.thrift.server.ServerTestBase.TestHandler;
 import org.apache.thrift.server.TExtensibleServlet;
-
 import thrift.test.ThriftTest;
 
 @SuppressWarnings("serial")
 public class TestServlet extends TExtensibleServlet {
 
   @Override
-  protected TProtocolFactory getInProtocolFactory(){
-      TProtocolFactory tProtocolFactory = new TCompactProtocol.Factory();
-      return tProtocolFactory;
+  protected TProtocolFactory getInProtocolFactory() {
+    TProtocolFactory tProtocolFactory = new TCompactProtocol.Factory();
+    return tProtocolFactory;
   }
 
   @Override
-  protected TProtocolFactory getOutProtocolFactory(){
-      TProtocolFactory tProtocolFactory = new TCompactProtocol.Factory();
-      return tProtocolFactory;
+  protected TProtocolFactory getOutProtocolFactory() {
+    TProtocolFactory tProtocolFactory = new TCompactProtocol.Factory();
+    return tProtocolFactory;
   }
 
   @SuppressWarnings({"rawtypes", "unchecked"})
   @Override
-  protected TProcessor getProcessor(){
-      TestHandler testHandler = new TestHandler();
-      ThriftTest.Processor testProcessor = new ThriftTest.Processor(testHandler);
-      return testProcessor;
+  protected TProcessor getProcessor() {
+    TestHandler testHandler = new TestHandler();
+    ThriftTest.Processor testProcessor = new ThriftTest.Processor(testHandler);
+    return testProcessor;
   }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/test/WriteStruct.java b/lib/java/src/test/java/org/apache/thrift/test/WriteStruct.java
index cb60bca..c17cdaa 100644
--- a/lib/java/src/test/java/org/apache/thrift/test/WriteStruct.java
+++ b/lib/java/src/test/java/org/apache/thrift/test/WriteStruct.java
@@ -21,7 +21,6 @@
 
 import java.io.BufferedOutputStream;
 import java.io.FileOutputStream;
-
 import org.apache.thrift.Fixtures;
 import org.apache.thrift.protocol.TProtocol;
 import org.apache.thrift.protocol.TProtocolFactory;
@@ -31,18 +30,20 @@
 public class WriteStruct {
   public static void main(String[] args) throws Exception {
     if (args.length != 2) {
-      System.out.println("usage: java -cp build/classes org.apache.thrift.test.WriteStruct filename proto_factory_class");
-      System.out.println("Write out an instance of Fixtures.compactProtocolTestStruct to 'file'. Use a protocol from 'proto_factory_class'.");
+      System.out.println(
+          "usage: java -cp build/classes org.apache.thrift.test.WriteStruct filename proto_factory_class");
+      System.out.println(
+          "Write out an instance of Fixtures.compactProtocolTestStruct to 'file'. Use a protocol from 'proto_factory_class'.");
     }
 
-    TTransport trans = new TIOStreamTransport(new BufferedOutputStream(new FileOutputStream(args[0])));
+    TTransport trans =
+        new TIOStreamTransport(new BufferedOutputStream(new FileOutputStream(args[0])));
 
-    TProtocolFactory factory = (TProtocolFactory)Class.forName(args[1]).newInstance();
+    TProtocolFactory factory = (TProtocolFactory) Class.forName(args[1]).newInstance();
 
     TProtocol proto = factory.getProtocol(trans);
 
     Fixtures.getCompactProtoTestStruct().write(proto);
     trans.flush();
   }
-
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/test/voidmethexceptions/ServiceAsyncImp.java b/lib/java/src/test/java/org/apache/thrift/test/voidmethexceptions/ServiceAsyncImp.java
index 419e327..9f0733f 100644
--- a/lib/java/src/test/java/org/apache/thrift/test/voidmethexceptions/ServiceAsyncImp.java
+++ b/lib/java/src/test/java/org/apache/thrift/test/voidmethexceptions/ServiceAsyncImp.java
@@ -28,9 +28,9 @@
 public class ServiceAsyncImp extends ServiceBase implements TAppService01.AsyncIface {
 
   @Override
-  public void returnString(String msg,
-      boolean throwException,
-      AsyncMethodCallback<String> resultHandler) throws TException {
+  public void returnString(
+      String msg, boolean throwException, AsyncMethodCallback<String> resultHandler)
+      throws TException {
     if (throwException) {
       resultHandler.onError(new TExampleException(msg));
     } else {
@@ -39,9 +39,9 @@
   }
 
   @Override
-  public void returnVoidThrows(String msg,
-      boolean throwException,
-      AsyncMethodCallback<Void> resultHandler) throws TException {
+  public void returnVoidThrows(
+      String msg, boolean throwException, AsyncMethodCallback<Void> resultHandler)
+      throws TException {
     if (throwException) {
       resultHandler.onError(new TExampleException(msg));
     } else {
@@ -50,9 +50,9 @@
   }
 
   @Override
-  public void returnVoidNoThrowsRuntimeException(String msg,
-      boolean throwException,
-      AsyncMethodCallback<Void> resultHandler) throws TException {
+  public void returnVoidNoThrowsRuntimeException(
+      String msg, boolean throwException, AsyncMethodCallback<Void> resultHandler)
+      throws TException {
     if (throwException) {
       resultHandler.onError(new RuntimeException(msg));
     } else {
@@ -61,9 +61,9 @@
   }
 
   @Override
-  public void returnVoidNoThrowsTApplicationException(String msg,
-      boolean throwException,
-      AsyncMethodCallback<Void> resultHandler) throws TException {
+  public void returnVoidNoThrowsTApplicationException(
+      String msg, boolean throwException, AsyncMethodCallback<Void> resultHandler)
+      throws TException {
     if (throwException) {
       resultHandler.onError(new TApplicationException(TApplicationException.INTERNAL_ERROR, msg));
     } else {
@@ -72,14 +72,13 @@
   }
 
   @Override
-  public void onewayVoidNoThrows(String msg,
-      boolean throwException,
-      AsyncMethodCallback<Void> resultHandler) throws TException {
+  public void onewayVoidNoThrows(
+      String msg, boolean throwException, AsyncMethodCallback<Void> resultHandler)
+      throws TException {
     if (throwException) {
       resultHandler.onError(new TApplicationException(TApplicationException.INTERNAL_ERROR, msg));
     } else {
       // simulate hang up
     }
   }
-
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/test/voidmethexceptions/ServiceBase.java b/lib/java/src/test/java/org/apache/thrift/test/voidmethexceptions/ServiceBase.java
index 5502b09..e12a29a 100644
--- a/lib/java/src/test/java/org/apache/thrift/test/voidmethexceptions/ServiceBase.java
+++ b/lib/java/src/test/java/org/apache/thrift/test/voidmethexceptions/ServiceBase.java
@@ -40,5 +40,4 @@
       }
     }
   }
-
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/test/voidmethexceptions/ServiceSyncImp.java b/lib/java/src/test/java/org/apache/thrift/test/voidmethexceptions/ServiceSyncImp.java
index a8a08b5..502dc8f 100644
--- a/lib/java/src/test/java/org/apache/thrift/test/voidmethexceptions/ServiceSyncImp.java
+++ b/lib/java/src/test/java/org/apache/thrift/test/voidmethexceptions/ServiceSyncImp.java
@@ -27,8 +27,8 @@
 public class ServiceSyncImp extends ServiceBase implements TAppService01.Iface {
 
   @Override
-  public String returnString(String msg,
-      boolean throwException) throws TExampleException, TException {
+  public String returnString(String msg, boolean throwException)
+      throws TExampleException, TException {
     if (throwException) {
       throw new TExampleException(msg);
     }
@@ -36,24 +36,24 @@
   }
 
   @Override
-  public void returnVoidThrows(String msg,
-      boolean throwException) throws TExampleException, TException {
+  public void returnVoidThrows(String msg, boolean throwException)
+      throws TExampleException, TException {
     if (throwException) {
       throw new TExampleException(msg);
     }
   }
 
   @Override
-  public void returnVoidNoThrowsRuntimeException(String msg,
-      boolean throwException) throws TException {
+  public void returnVoidNoThrowsRuntimeException(String msg, boolean throwException)
+      throws TException {
     if (throwException) {
       throw new RuntimeException(msg);
     }
   }
 
   @Override
-  public void returnVoidNoThrowsTApplicationException(String msg,
-      boolean throwException) throws TException {
+  public void returnVoidNoThrowsTApplicationException(String msg, boolean throwException)
+      throws TException {
     if (throwException) {
       throw new TApplicationException(TApplicationException.INTERNAL_ERROR, msg);
     }
@@ -68,5 +68,4 @@
       waitForCancel();
     }
   }
-
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/test/voidmethexceptions/TestVoidMethExceptions.java b/lib/java/src/test/java/org/apache/thrift/test/voidmethexceptions/TestVoidMethExceptions.java
index b6853bd..a85c4d1 100644
--- a/lib/java/src/test/java/org/apache/thrift/test/voidmethexceptions/TestVoidMethExceptions.java
+++ b/lib/java/src/test/java/org/apache/thrift/test/voidmethexceptions/TestVoidMethExceptions.java
@@ -19,6 +19,15 @@
 
 package org.apache.thrift.test.voidmethexceptions;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.TimeUnit;
+import java.util.function.Supplier;
+import java.util.stream.Stream;
 import org.apache.commons.lang3.tuple.Pair;
 import org.apache.thrift.TApplicationException;
 import org.apache.thrift.TConfiguration;
@@ -40,521 +49,554 @@
 import thrift.test.voidmethexceptions.TAppService01;
 import thrift.test.voidmethexceptions.TExampleException;
 
-import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.TimeUnit;
-import java.util.function.Supplier;
-import java.util.stream.Stream;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotEquals;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-
 public class TestVoidMethExceptions {
 
-    private static final Logger log = LoggerFactory.getLogger(TestVoidMethExceptions.class);
+  private static final Logger log = LoggerFactory.getLogger(TestVoidMethExceptions.class);
 
-    private static Stream<TestParameters> provideParameters() throws Exception {
-        return Stream.<TestParameters>builder()
-                .add(new TestParameters(ServerImplementationType.SYNC_SERVER))
-                .add(new TestParameters(ServerImplementationType.ASYNC_SERVER))
-                .build();
+  private static Stream<TestParameters> provideParameters() throws Exception {
+    return Stream.<TestParameters>builder()
+        .add(new TestParameters(ServerImplementationType.SYNC_SERVER))
+        .add(new TestParameters(ServerImplementationType.ASYNC_SERVER))
+        .build();
+  }
+
+  public static class TestParameters {
+    private static final int TIMEOUT_MILLIS = 5_000;
+    private final TServer server;
+    private final Thread serverThread;
+    private final TNonblockingServerSocket serverTransport;
+    private int serverPort;
+    private final ServerImplementationType serverImplementationType;
+    private final CompletableFuture<Void> futureServerStarted = new CompletableFuture<>();
+
+    TestParameters(ServerImplementationType serverImplementationType) throws Exception {
+      this.serverImplementationType = serverImplementationType;
+      serverPort = -1;
+      serverImplementationType.service.setCancelled(false);
+      serverTransport = new TNonblockingServerSocket(0);
+      TNonblockingServer.Args args = new TNonblockingServer.Args(serverTransport);
+      args.processor(serverImplementationType.processor);
+      server =
+          new TNonblockingServer(args) {
+            @Override
+            protected void setServing(boolean serving) {
+              super.setServing(serving);
+
+              if (serving) {
+                serverPort = serverTransport.getPort();
+                futureServerStarted.complete(null);
+              }
+            }
+          };
+      serverThread = new Thread(server::serve, "thrift-server");
+      serverThread.setDaemon(true);
     }
 
-    public static class TestParameters {
-        private static final int TIMEOUT_MILLIS = 5_000;
-        private final TServer server;
-        private final Thread serverThread;
-        private final TNonblockingServerSocket serverTransport;
-        private int serverPort;
-        private final ServerImplementationType serverImplementationType;
-        private final CompletableFuture<Void> futureServerStarted = new CompletableFuture<>();
+    public AutoCloseable start() throws Exception {
+      serverThread.start();
+      futureServerStarted.get(TIMEOUT_MILLIS, TimeUnit.MILLISECONDS);
+      return () -> {
+        serverImplementationType.service.setCancelled(true);
+        server.stop();
+        serverThread.join(TIMEOUT_MILLIS);
+      };
+    }
 
-        TestParameters(ServerImplementationType serverImplementationType) throws Exception {
-            this.serverImplementationType = serverImplementationType;
-            serverPort = -1;
-            serverImplementationType.service.setCancelled(false);
-            serverTransport = new TNonblockingServerSocket(0);
-            TNonblockingServer.Args args = new TNonblockingServer.Args(serverTransport);
-            args.processor(serverImplementationType.processor);
-            server = new TNonblockingServer(args) {
+    private void checkSyncClient(
+        String desc,
+        String msg,
+        boolean throwException,
+        String expectedResult,
+        Class<? extends Exception> expectedExceptionClass,
+        String expectedExceptionMsg,
+        SyncCall<TAppService01.Iface, String, Boolean, String> call)
+        throws Exception {
+      if (log.isInfoEnabled()) {
+        log.info(
+            "start test checkSyncClient::"
+                + desc
+                + ", throwException: "
+                + throwException
+                + ", serverImplementationType: "
+                + serverImplementationType);
+      }
+      assertNotEquals(-1, serverPort);
+      try (TTransport clientTransport =
+          new TFramedTransport(
+              new TSocket(new TConfiguration(), "localhost", serverPort, TIMEOUT_MILLIS))) {
+        clientTransport.open();
+        TAppService01.Iface client = new TAppService01.Client(new TBinaryProtocol(clientTransport));
+        if (throwException && expectedExceptionClass != null) {
+          Exception ex =
+              assertThrows(
+                  expectedExceptionClass,
+                  () -> {
+                    call.apply(client, msg, throwException);
+                  });
+          assertEquals(expectedExceptionClass, ex.getClass());
+          if (expectedExceptionMsg != null) {
+            assertEquals(expectedExceptionMsg, ex.getMessage());
+          }
+        } else {
+          // expected
+          String result = call.apply(client, msg, throwException);
+          assertEquals(expectedResult, result);
+        }
+      }
+    }
+
+    private <T> void checkAsyncClient(
+        String desc,
+        String msg,
+        boolean throwException,
+        T expectedResult,
+        Class<? extends Exception> expectedExceptionClass,
+        String expectedExceptionMsg,
+        AsyncCall<TAppService01.AsyncClient, String, Boolean, AsyncMethodCallback<T>> call)
+        throws Throwable {
+      if (log.isInfoEnabled()) {
+        log.info(
+            "start test checkAsyncClient::"
+                + desc
+                + ", throwException: "
+                + throwException
+                + ", serverImplementationType: "
+                + serverImplementationType);
+      }
+      assertNotEquals(serverPort, -1);
+      try (TNonblockingSocket clientTransportAsync =
+          new TNonblockingSocket("localhost", serverPort, TIMEOUT_MILLIS)) {
+        TAsyncClientManager asyncClientManager = new TAsyncClientManager();
+        try {
+          TAppService01.AsyncClient asyncClient =
+              new TAppService01.AsyncClient(
+                  new TBinaryProtocol.Factory(), asyncClientManager, clientTransportAsync);
+          asyncClient.setTimeout(TIMEOUT_MILLIS);
+
+          CompletableFuture<T> futureResult = new CompletableFuture<>();
+
+          call.apply(
+              asyncClient,
+              msg,
+              throwException,
+              new AsyncMethodCallback<T>() {
+
                 @Override
-                protected void setServing(boolean serving) {
-                    super.setServing(serving);
-
-                    if (serving) {
-                        serverPort = serverTransport.getPort();
-                        futureServerStarted.complete(null);
-                    }
+                public void onError(Exception exception) {
+                  futureResult.completeExceptionally(exception);
                 }
 
-            };
-            serverThread = new Thread(server::serve, "thrift-server");
-            serverThread.setDaemon(true);
-        }
-
-        public AutoCloseable start() throws Exception {
-            serverThread.start();
-            futureServerStarted.get(TIMEOUT_MILLIS, TimeUnit.MILLISECONDS);
-            return () -> {
-                serverImplementationType.service.setCancelled(true);
-                server.stop();
-                serverThread.join(TIMEOUT_MILLIS);
-            };
-        }
-
-        private void checkSyncClient(String desc,
-                                     String msg,
-                                     boolean throwException,
-                                     String expectedResult,
-                                     Class<? extends Exception> expectedExceptionClass,
-                                     String expectedExceptionMsg,
-                                     SyncCall<TAppService01.Iface, String, Boolean, String> call) throws Exception {
-            if (log.isInfoEnabled()) {
-                log.info("start test checkSyncClient::" + desc + ", throwException: " + throwException
-                        + ", serverImplementationType: "
-                        + serverImplementationType);
-            }
-            assertNotEquals(-1, serverPort);
-            try (TTransport clientTransport = new TFramedTransport(new TSocket(new TConfiguration(),
-                    "localhost",
-                    serverPort,
-                    TIMEOUT_MILLIS))) {
-                clientTransport.open();
-                TAppService01.Iface client = new TAppService01.Client(new TBinaryProtocol(clientTransport));
-                if (throwException && expectedExceptionClass != null) {
-                    Exception ex = assertThrows(expectedExceptionClass, () -> {
-                        call.apply(client, msg, throwException);
-                    });
-                    assertEquals(expectedExceptionClass, ex.getClass());
-                    if (expectedExceptionMsg != null) {
-                        assertEquals(expectedExceptionMsg, ex.getMessage());
-                    }
-                } else {
-                    // expected
-                    String result = call.apply(client, msg, throwException);
-                    assertEquals(expectedResult, result);
+                @Override
+                public void onComplete(T response) {
+                  futureResult.complete(response);
                 }
+              });
+          if (throwException && expectedExceptionClass != null) {
+            Exception ex =
+                assertThrows(
+                    expectedExceptionClass,
+                    () -> {
+                      try {
+                        futureResult.get(TIMEOUT_MILLIS, TimeUnit.MILLISECONDS);
+                      } catch (ExecutionException x) {
+                        throw x.getCause();
+                      }
+                    });
+            assertEquals(expectedExceptionClass, ex.getClass());
+            if (expectedExceptionMsg != null) {
+              assertEquals(expectedExceptionMsg, ex.getMessage());
             }
-        }
-
-        private <T> void checkAsyncClient(String desc,
-                                          String msg,
-                                          boolean throwException,
-                                          T expectedResult,
-                                          Class<? extends Exception> expectedExceptionClass,
-                                          String expectedExceptionMsg,
-                                          AsyncCall<TAppService01.AsyncClient, String, Boolean, AsyncMethodCallback<T>> call) throws Throwable {
-            if (log.isInfoEnabled()) {
-                log.info("start test checkAsyncClient::" + desc + ", throwException: " + throwException
-                        + ", serverImplementationType: "
-                        + serverImplementationType);
+          } else {
+            T result;
+            try {
+              result = futureResult.get(TIMEOUT_MILLIS, TimeUnit.MILLISECONDS);
+            } catch (ExecutionException x) {
+              throw x.getCause();
             }
-            assertNotEquals(serverPort, -1);
-            try (TNonblockingSocket clientTransportAsync = new TNonblockingSocket("localhost", serverPort, TIMEOUT_MILLIS)) {
-                TAsyncClientManager asyncClientManager = new TAsyncClientManager();
-                try {
-                    TAppService01.AsyncClient asyncClient = new TAppService01.AsyncClient(new TBinaryProtocol.Factory(),
-                            asyncClientManager,
-                            clientTransportAsync);
-                    asyncClient.setTimeout(TIMEOUT_MILLIS);
-
-                    CompletableFuture<T> futureResult = new CompletableFuture<>();
-
-                    call.apply(asyncClient, msg, throwException, new AsyncMethodCallback<T>() {
-
-                        @Override
-                        public void onError(Exception exception) {
-                            futureResult.completeExceptionally(exception);
-                        }
-
-                        @Override
-                        public void onComplete(T response) {
-                            futureResult.complete(response);
-                        }
-
-                    });
-                    if (throwException && expectedExceptionClass != null) {
-                        Exception ex = assertThrows(expectedExceptionClass, () -> {
-                            try {
-                                futureResult.get(TIMEOUT_MILLIS, TimeUnit.MILLISECONDS);
-                            } catch (ExecutionException x) {
-                                throw x.getCause();
-                            }
-                        });
-                        assertEquals(expectedExceptionClass, ex.getClass());
-                        if (expectedExceptionMsg != null) {
-                            assertEquals(expectedExceptionMsg, ex.getMessage());
-                        }
-                    } else {
-                        T result;
-                        try {
-                            result = futureResult.get(TIMEOUT_MILLIS, TimeUnit.MILLISECONDS);
-                        } catch (ExecutionException x) {
-                            throw x.getCause();
-                        }
-                        assertEquals(expectedResult, result);
-                    }
-                } finally {
-                    asyncClientManager.stop();
-                }
-            }
+            assertEquals(expectedResult, result);
+          }
+        } finally {
+          asyncClientManager.stop();
         }
-
-        public TServer getServer() {
-            return server;
-        }
+      }
     }
 
-
-    @ParameterizedTest
-    @MethodSource("provideParameters")
-    public void testSyncClientMustReturnResultReturnString(TestParameters p) throws Exception {
-        try (AutoCloseable ignored = p.start()) {
-            p.checkSyncClient("returnString",
-                    "sent msg",
-                    false,
-                    "sent msg",
-                    null,
-                    null,
-                    TAppService01.Iface::returnString);
-        }
+    public TServer getServer() {
+      return server;
     }
+  }
 
-    @ParameterizedTest
-    @MethodSource("provideParameters")
-    public void testSyncClientMustReturnResultReturnVoidThrows(TestParameters p) throws Exception {
-        try (AutoCloseable ignored = p.start()) {
-            p.checkSyncClient("returnVoidThrows",
-                    "sent msg",
-                    false,
-                    null,
-                    null,
-                    null,
-                    (client, msg, throwException) -> {
-                        client.returnVoidThrows(msg, throwException);
-                        return null;
-                    });
-        }
+  @ParameterizedTest
+  @MethodSource("provideParameters")
+  public void testSyncClientMustReturnResultReturnString(TestParameters p) throws Exception {
+    try (AutoCloseable ignored = p.start()) {
+      p.checkSyncClient(
+          "returnString",
+          "sent msg",
+          false,
+          "sent msg",
+          null,
+          null,
+          TAppService01.Iface::returnString);
     }
+  }
 
-    @ParameterizedTest
-    @MethodSource("provideParameters")
-    public void testSyncClientMustReturnResultReturnVoidNoThrowsRuntimeException(TestParameters p) throws Exception {
-        try (AutoCloseable ignored = p.start()) {
-            p.checkSyncClient("returnVoidNoThrowsRuntimeException",
-                    "sent msg",
-                    false,
-                    null,
-                    null,
-                    null,
-                    (client, msg, throwException) -> {
-                        client.returnVoidNoThrowsRuntimeException(msg, throwException);
-                        return null;
-                    });
-        }
+  @ParameterizedTest
+  @MethodSource("provideParameters")
+  public void testSyncClientMustReturnResultReturnVoidThrows(TestParameters p) throws Exception {
+    try (AutoCloseable ignored = p.start()) {
+      p.checkSyncClient(
+          "returnVoidThrows",
+          "sent msg",
+          false,
+          null,
+          null,
+          null,
+          (client, msg, throwException) -> {
+            client.returnVoidThrows(msg, throwException);
+            return null;
+          });
     }
+  }
 
-    @ParameterizedTest
-    @MethodSource("provideParameters")
-    public void testSyncClientMustReturnResultReturnVoidNoThrowsTApplicationException(TestParameters p) throws Exception {
-        try (AutoCloseable ignored = p.start()) {
-            p.checkSyncClient("returnVoidNoThrowsTApplicationException",
-                    "sent msg",
-                    false,
-                    null,
-                    null,
-                    null,
-                    (client, msg, throwException) -> {
-                        client.returnVoidNoThrowsTApplicationException(msg, throwException);
-                        return null;
-                    });
-        }
+  @ParameterizedTest
+  @MethodSource("provideParameters")
+  public void testSyncClientMustReturnResultReturnVoidNoThrowsRuntimeException(TestParameters p)
+      throws Exception {
+    try (AutoCloseable ignored = p.start()) {
+      p.checkSyncClient(
+          "returnVoidNoThrowsRuntimeException",
+          "sent msg",
+          false,
+          null,
+          null,
+          null,
+          (client, msg, throwException) -> {
+            client.returnVoidNoThrowsRuntimeException(msg, throwException);
+            return null;
+          });
     }
+  }
 
-
-    @ParameterizedTest
-    @MethodSource("provideParameters")
-    public void testSyncClientMustThrowExceptionReturnString(TestParameters p) throws Exception {
-        try (AutoCloseable ignored = p.start()) {
-            p.checkSyncClient("returnString",
-                    "sent msg",
-                    true,
-                    null,
-                    TExampleException.class,
-                    "sent msg",
-                    TAppService01.Iface::returnString);
-        }
+  @ParameterizedTest
+  @MethodSource("provideParameters")
+  public void testSyncClientMustReturnResultReturnVoidNoThrowsTApplicationException(
+      TestParameters p) throws Exception {
+    try (AutoCloseable ignored = p.start()) {
+      p.checkSyncClient(
+          "returnVoidNoThrowsTApplicationException",
+          "sent msg",
+          false,
+          null,
+          null,
+          null,
+          (client, msg, throwException) -> {
+            client.returnVoidNoThrowsTApplicationException(msg, throwException);
+            return null;
+          });
     }
+  }
 
-    @ParameterizedTest
-    @MethodSource("provideParameters")
-    public void testSyncClientMustThrowExceptionReturnVoidThrows(TestParameters p) throws Exception {
-        try (AutoCloseable ignored = p.start()) {
-            p.checkSyncClient("returnVoidThrows",
-                    "sent msg",
-                    true,
-                    null,
-                    TExampleException.class,
-                    "sent msg",
-                    (client, msg, throwException) -> {
-                        client.returnVoidThrows(msg, throwException);
-                        return null;
-                    });
-        }
+  @ParameterizedTest
+  @MethodSource("provideParameters")
+  public void testSyncClientMustThrowExceptionReturnString(TestParameters p) throws Exception {
+    try (AutoCloseable ignored = p.start()) {
+      p.checkSyncClient(
+          "returnString",
+          "sent msg",
+          true,
+          null,
+          TExampleException.class,
+          "sent msg",
+          TAppService01.Iface::returnString);
     }
+  }
 
-    @ParameterizedTest
-    @MethodSource("provideParameters")
-    public void testSyncClientMustThrowExceptionReturnVoidNoThrowsRuntimeException(TestParameters p) throws
-            Exception {
-        try (AutoCloseable ignored = p.start()) {
-            p.checkSyncClient("returnVoidNoThrowsRuntimeException",
-                    "sent msg",
-                    true,
-                    null,
-                    TApplicationException.class,
-                    p.serverImplementationType == ServerImplementationType.ASYNC_SERVER ? "sent msg"
-                            : null, // sync server return "Internal error processing returnVoidNoThrowsRuntimeException" message
-                    (client, msg, throwException) -> {
-                        client.returnVoidNoThrowsRuntimeException(msg, throwException);
-                        return null;
-                    });
-        }
+  @ParameterizedTest
+  @MethodSource("provideParameters")
+  public void testSyncClientMustThrowExceptionReturnVoidThrows(TestParameters p) throws Exception {
+    try (AutoCloseable ignored = p.start()) {
+      p.checkSyncClient(
+          "returnVoidThrows",
+          "sent msg",
+          true,
+          null,
+          TExampleException.class,
+          "sent msg",
+          (client, msg, throwException) -> {
+            client.returnVoidThrows(msg, throwException);
+            return null;
+          });
     }
+  }
 
-    @ParameterizedTest
-    @MethodSource("provideParameters")
-    public void testSyncClientMustThrowExceptionReturnVoidNoThrowsTApplicationException(TestParameters p) throws
-            Exception {
-        try (AutoCloseable ignored = p.start()) {
-            p.checkSyncClient("returnVoidNoThrowsTApplicationException",
-                    "sent msg",
-                    true,
-                    null,
-                    TApplicationException.class,
-                    "sent msg",
-                    (client, msg, throwException) -> {
-                        client.returnVoidNoThrowsTApplicationException(msg, throwException);
-                        return null;
-                    });
-        }
+  @ParameterizedTest
+  @MethodSource("provideParameters")
+  public void testSyncClientMustThrowExceptionReturnVoidNoThrowsRuntimeException(TestParameters p)
+      throws Exception {
+    try (AutoCloseable ignored = p.start()) {
+      p.checkSyncClient(
+          "returnVoidNoThrowsRuntimeException",
+          "sent msg",
+          true,
+          null,
+          TApplicationException.class,
+          p.serverImplementationType == ServerImplementationType.ASYNC_SERVER
+              ? "sent msg"
+              : null, // sync server return "Internal error processing
+          // returnVoidNoThrowsRuntimeException" message
+          (client, msg, throwException) -> {
+            client.returnVoidNoThrowsRuntimeException(msg, throwException);
+            return null;
+          });
     }
+  }
 
-
-    @ParameterizedTest
-    @MethodSource("provideParameters")
-    public void testAsyncClientMustReturnResultReturnString(TestParameters p) throws Throwable {
-        try (AutoCloseable ignored = p.start()) {
-            p.checkAsyncClient("returnString",
-                    "sent msg",
-                    false,
-                    "sent msg",
-                    null,
-                    null,
-                    TAppService01.AsyncClient::returnString);
-        }
+  @ParameterizedTest
+  @MethodSource("provideParameters")
+  public void testSyncClientMustThrowExceptionReturnVoidNoThrowsTApplicationException(
+      TestParameters p) throws Exception {
+    try (AutoCloseable ignored = p.start()) {
+      p.checkSyncClient(
+          "returnVoidNoThrowsTApplicationException",
+          "sent msg",
+          true,
+          null,
+          TApplicationException.class,
+          "sent msg",
+          (client, msg, throwException) -> {
+            client.returnVoidNoThrowsTApplicationException(msg, throwException);
+            return null;
+          });
     }
+  }
 
-    @ParameterizedTest
-    @MethodSource("provideParameters")
-    public void testAsyncClientMustReturnResultReturnVoidThrows(TestParameters p) throws Throwable {
-        try (AutoCloseable ignored = p.start()) {
-            p.checkAsyncClient("returnVoidThrows",
-                    "sent msg",
-                    false,
-                    null,
-                    null,
-                    null,
-                    TAppService01.AsyncClient::returnVoidThrows);
-        }
+  @ParameterizedTest
+  @MethodSource("provideParameters")
+  public void testAsyncClientMustReturnResultReturnString(TestParameters p) throws Throwable {
+    try (AutoCloseable ignored = p.start()) {
+      p.checkAsyncClient(
+          "returnString",
+          "sent msg",
+          false,
+          "sent msg",
+          null,
+          null,
+          TAppService01.AsyncClient::returnString);
     }
+  }
 
-    @ParameterizedTest
-    @MethodSource("provideParameters")
-    public void testAsyncClientMustReturnResultReturnVoidNoThrowsRuntimeException(TestParameters p) throws
-            Throwable {
-        try (AutoCloseable ignored = p.start()) {
-            p.checkAsyncClient("returnVoidNoThrowsRuntimeException",
-                    "sent msg",
-                    false,
-                    null,
-                    null,
-                    null,
-                    TAppService01.AsyncClient::returnVoidNoThrowsRuntimeException);
-        }
+  @ParameterizedTest
+  @MethodSource("provideParameters")
+  public void testAsyncClientMustReturnResultReturnVoidThrows(TestParameters p) throws Throwable {
+    try (AutoCloseable ignored = p.start()) {
+      p.checkAsyncClient(
+          "returnVoidThrows",
+          "sent msg",
+          false,
+          null,
+          null,
+          null,
+          TAppService01.AsyncClient::returnVoidThrows);
     }
+  }
 
-    @ParameterizedTest
-    @MethodSource("provideParameters")
-    public void testAsyncClientMustReturnResultReturnVoidNoThrowsTApplicationException(TestParameters p) throws
-            Throwable {
-        try (AutoCloseable ignored = p.start()) {
-            p.checkAsyncClient("returnVoidNoThrowsTApplicationException",
-                    "sent msg",
-                    false,
-                    null,
-                    null,
-                    null,
-                    TAppService01.AsyncClient::returnVoidNoThrowsTApplicationException);
-        }
+  @ParameterizedTest
+  @MethodSource("provideParameters")
+  public void testAsyncClientMustReturnResultReturnVoidNoThrowsRuntimeException(TestParameters p)
+      throws Throwable {
+    try (AutoCloseable ignored = p.start()) {
+      p.checkAsyncClient(
+          "returnVoidNoThrowsRuntimeException",
+          "sent msg",
+          false,
+          null,
+          null,
+          null,
+          TAppService01.AsyncClient::returnVoidNoThrowsRuntimeException);
     }
+  }
 
-
-    @ParameterizedTest
-    @MethodSource("provideParameters")
-    public void testAsyncClientMustThrowExceptionReturnString(TestParameters p) throws Throwable {
-        try (AutoCloseable ignored = p.start()) {
-            p.checkAsyncClient("returnString",
-                    "sent msg",
-                    true,
-                    null,
-                    TExampleException.class,
-                    "sent msg",
-                    TAppService01.AsyncClient::returnString);
-        }
+  @ParameterizedTest
+  @MethodSource("provideParameters")
+  public void testAsyncClientMustReturnResultReturnVoidNoThrowsTApplicationException(
+      TestParameters p) throws Throwable {
+    try (AutoCloseable ignored = p.start()) {
+      p.checkAsyncClient(
+          "returnVoidNoThrowsTApplicationException",
+          "sent msg",
+          false,
+          null,
+          null,
+          null,
+          TAppService01.AsyncClient::returnVoidNoThrowsTApplicationException);
     }
+  }
 
-    @ParameterizedTest
-    @MethodSource("provideParameters")
-    public void testAsyncClientMustThrowExceptionReturnVoidThrows(TestParameters p) throws Throwable {
-        try (AutoCloseable ignored = p.start()) {
-            p.checkAsyncClient("returnVoidThrows",
-                    "sent msg",
-                    true,
-                    null,
-                    TExampleException.class,
-                    "sent msg",
-                    TAppService01.AsyncClient::returnVoidThrows);
-        }
+  @ParameterizedTest
+  @MethodSource("provideParameters")
+  public void testAsyncClientMustThrowExceptionReturnString(TestParameters p) throws Throwable {
+    try (AutoCloseable ignored = p.start()) {
+      p.checkAsyncClient(
+          "returnString",
+          "sent msg",
+          true,
+          null,
+          TExampleException.class,
+          "sent msg",
+          TAppService01.AsyncClient::returnString);
     }
+  }
 
-    @ParameterizedTest
-    @MethodSource("provideParameters")
-    public void testAsyncClientMustThrowExceptionReturnVoidNoThrowsRuntimeException(TestParameters p) throws
-            Throwable {
-        try (AutoCloseable ignored = p.start()) {
-            p.checkAsyncClient("returnVoidNoThrowsRuntimeException",
-                    "sent msg",
-                    true,
-                    null,
-                    TApplicationException.class,
-                    p.serverImplementationType == ServerImplementationType.ASYNC_SERVER ? "sent msg"
-                            : null, // sync server return "Internal error processing returnVoidNoThrowsRuntimeException" message
-                    TAppService01.AsyncClient::returnVoidNoThrowsRuntimeException);
-        }
+  @ParameterizedTest
+  @MethodSource("provideParameters")
+  public void testAsyncClientMustThrowExceptionReturnVoidThrows(TestParameters p) throws Throwable {
+    try (AutoCloseable ignored = p.start()) {
+      p.checkAsyncClient(
+          "returnVoidThrows",
+          "sent msg",
+          true,
+          null,
+          TExampleException.class,
+          "sent msg",
+          TAppService01.AsyncClient::returnVoidThrows);
     }
+  }
 
-    @ParameterizedTest
-    @MethodSource("provideParameters")
-    public void testAsyncClientMustThrowExceptionReturnVoidNoThrowsTApplicationException(TestParameters p) throws
-            Throwable {
-        try (AutoCloseable ignored = p.start()) {
-            p.checkAsyncClient("returnVoidNoThrowsTApplicationException",
-                    "sent msg",
-                    true,
-                    null,
-                    TApplicationException.class,
-                    "sent msg",
-                    TAppService01.AsyncClient::returnVoidNoThrowsTApplicationException);
-        }
+  @ParameterizedTest
+  @MethodSource("provideParameters")
+  public void testAsyncClientMustThrowExceptionReturnVoidNoThrowsRuntimeException(TestParameters p)
+      throws Throwable {
+    try (AutoCloseable ignored = p.start()) {
+      p.checkAsyncClient(
+          "returnVoidNoThrowsRuntimeException",
+          "sent msg",
+          true,
+          null,
+          TApplicationException.class,
+          p.serverImplementationType == ServerImplementationType.ASYNC_SERVER
+              ? "sent msg"
+              : null, // sync server return "Internal error processing
+          // returnVoidNoThrowsRuntimeException" message
+          TAppService01.AsyncClient::returnVoidNoThrowsRuntimeException);
     }
+  }
 
-
-    @ParameterizedTest
-    @MethodSource("provideParameters")
-    public void testSyncClientNoWaitForResultNoExceptionOnewayVoidNoThrows(TestParameters p) throws Exception {
-        try (AutoCloseable ignored = p.start()) {
-            p.checkSyncClient("onewayVoidNoThrows",
-                    "sent msg",
-                    false,
-                    null,
-                    null,
-                    null,
-                    (client, msg, throwException) -> {
-                        client.onewayVoidNoThrows(msg, throwException);
-                        return null;
-                    });
-        }
+  @ParameterizedTest
+  @MethodSource("provideParameters")
+  public void testAsyncClientMustThrowExceptionReturnVoidNoThrowsTApplicationException(
+      TestParameters p) throws Throwable {
+    try (AutoCloseable ignored = p.start()) {
+      p.checkAsyncClient(
+          "returnVoidNoThrowsTApplicationException",
+          "sent msg",
+          true,
+          null,
+          TApplicationException.class,
+          "sent msg",
+          TAppService01.AsyncClient::returnVoidNoThrowsTApplicationException);
     }
+  }
 
-    @ParameterizedTest
-    @MethodSource("provideParameters")
-    public void testSyncClientNoWaitForResultExceptionOnewayVoidNoThrows(TestParameters p) throws Exception {
-        try (AutoCloseable ignored = p.start()) {
-            p.checkSyncClient("onewayVoidNoThrows",
-                    "sent msg",
-                    true,
-                    null,
-                    null,
-                    null,
-                    (client, msg, throwException) -> {
-                        client.onewayVoidNoThrows(msg, throwException);
-                        return null;
-                    });
-        }
+  @ParameterizedTest
+  @MethodSource("provideParameters")
+  public void testSyncClientNoWaitForResultNoExceptionOnewayVoidNoThrows(TestParameters p)
+      throws Exception {
+    try (AutoCloseable ignored = p.start()) {
+      p.checkSyncClient(
+          "onewayVoidNoThrows",
+          "sent msg",
+          false,
+          null,
+          null,
+          null,
+          (client, msg, throwException) -> {
+            client.onewayVoidNoThrows(msg, throwException);
+            return null;
+          });
     }
+  }
 
-    @ParameterizedTest
-    @MethodSource("provideParameters")
-    public void testAsyncClientNoWaitForResultNoExceptionOnewayVoidNoThrows(TestParameters p) throws Throwable {
-        try (AutoCloseable ignored = p.start()) {
-            p.checkAsyncClient("onewayVoidNoThrows",
-                    "sent msg",
-                    false,
-                    null,
-                    null,
-                    null,
-                    TAppService01.AsyncClient::onewayVoidNoThrows);
-        }
+  @ParameterizedTest
+  @MethodSource("provideParameters")
+  public void testSyncClientNoWaitForResultExceptionOnewayVoidNoThrows(TestParameters p)
+      throws Exception {
+    try (AutoCloseable ignored = p.start()) {
+      p.checkSyncClient(
+          "onewayVoidNoThrows",
+          "sent msg",
+          true,
+          null,
+          null,
+          null,
+          (client, msg, throwException) -> {
+            client.onewayVoidNoThrows(msg, throwException);
+            return null;
+          });
     }
+  }
 
-    @ParameterizedTest
-    @MethodSource("provideParameters")
-    public void testAsyncClientNoWaitForResultExceptionOnewayVoidNoThrows(TestParameters p) throws Throwable {
-        try (AutoCloseable ignored = p.start()) {
-            p.checkAsyncClient("onewayVoidNoThrows",
-                    "sent msg",
-                    true,
-                    null,
-                    null,
-                    null,
-                    TAppService01.AsyncClient::onewayVoidNoThrows);
-        }
+  @ParameterizedTest
+  @MethodSource("provideParameters")
+  public void testAsyncClientNoWaitForResultNoExceptionOnewayVoidNoThrows(TestParameters p)
+      throws Throwable {
+    try (AutoCloseable ignored = p.start()) {
+      p.checkAsyncClient(
+          "onewayVoidNoThrows",
+          "sent msg",
+          false,
+          null,
+          null,
+          null,
+          TAppService01.AsyncClient::onewayVoidNoThrows);
     }
+  }
 
+  @ParameterizedTest
+  @MethodSource("provideParameters")
+  public void testAsyncClientNoWaitForResultExceptionOnewayVoidNoThrows(TestParameters p)
+      throws Throwable {
+    try (AutoCloseable ignored = p.start()) {
+      p.checkAsyncClient(
+          "onewayVoidNoThrows",
+          "sent msg",
+          true,
+          null,
+          null,
+          null,
+          TAppService01.AsyncClient::onewayVoidNoThrows);
+    }
+  }
 
-    private enum ServerImplementationType {
-
-        SYNC_SERVER(() -> {
-            ServiceSyncImp service = new ServiceSyncImp();
-            return Pair.of(new TAppService01.Processor<>(service), service);
+  private enum ServerImplementationType {
+    SYNC_SERVER(
+        () -> {
+          ServiceSyncImp service = new ServiceSyncImp();
+          return Pair.of(new TAppService01.Processor<>(service), service);
         }),
-        ASYNC_SERVER(() -> {
-            ServiceAsyncImp service = new ServiceAsyncImp();
-            return Pair.of(new TAppService01.AsyncProcessor<>(service), service);
+    ASYNC_SERVER(
+        () -> {
+          ServiceAsyncImp service = new ServiceAsyncImp();
+          return Pair.of(new TAppService01.AsyncProcessor<>(service), service);
         });
 
-        final TProcessor processor;
-        final ServiceBase service;
+    final TProcessor processor;
+    final ServiceBase service;
 
-        ServerImplementationType(Supplier<Pair<TProcessor, ServiceBase>> supplier) {
-            Pair<TProcessor, ServiceBase> pair = supplier.get();
-            this.processor = pair.getLeft();
-            this.service = pair.getRight();
-        }
+    ServerImplementationType(Supplier<Pair<TProcessor, ServiceBase>> supplier) {
+      Pair<TProcessor, ServiceBase> pair = supplier.get();
+      this.processor = pair.getLeft();
+      this.service = pair.getRight();
     }
+  }
 
+  @FunctionalInterface
+  private interface SyncCall<T, U, V, R> {
+    R apply(T t, U u, V v) throws Exception;
+  }
 
-    @FunctionalInterface
-    private interface SyncCall<T, U, V, R> {
-        R apply(T t, U u, V v) throws Exception;
-    }
-
-
-    @FunctionalInterface
-    private interface AsyncCall<T, U, V, X> {
-        void apply(T t, U u, V v, X x) throws Exception;
-    }
-
+  @FunctionalInterface
+  private interface AsyncCall<T, U, V, X> {
+    void apply(T t, U u, V v, X x) throws Exception;
+  }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/transport/ReadCountingTransport.java b/lib/java/src/test/java/org/apache/thrift/transport/ReadCountingTransport.java
index 1b2073c..078287f 100644
--- a/lib/java/src/test/java/org/apache/thrift/transport/ReadCountingTransport.java
+++ b/lib/java/src/test/java/org/apache/thrift/transport/ReadCountingTransport.java
@@ -18,7 +18,6 @@
  */
 package org.apache.thrift.transport;
 
-
 import org.apache.thrift.TConfiguration;
 
 public class ReadCountingTransport extends TTransport {
diff --git a/lib/java/src/test/java/org/apache/thrift/transport/TestAutoExpandingBuffer.java b/lib/java/src/test/java/org/apache/thrift/transport/TestAutoExpandingBuffer.java
index 0b7e4ad..621ea09 100644
--- a/lib/java/src/test/java/org/apache/thrift/transport/TestAutoExpandingBuffer.java
+++ b/lib/java/src/test/java/org/apache/thrift/transport/TestAutoExpandingBuffer.java
@@ -18,13 +18,12 @@
  */
 package org.apache.thrift.transport;
 
-import org.junit.jupiter.api.Test;
-
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
+import org.junit.jupiter.api.Test;
 
-public class TestAutoExpandingBuffer  {
+public class TestAutoExpandingBuffer {
   @Test
   public void testExpands() throws Exception {
     // has expected initial capacity
diff --git a/lib/java/src/test/java/org/apache/thrift/transport/TestAutoExpandingBufferReadTransport.java b/lib/java/src/test/java/org/apache/thrift/transport/TestAutoExpandingBufferReadTransport.java
index 0901913..8d5783c 100644
--- a/lib/java/src/test/java/org/apache/thrift/transport/TestAutoExpandingBufferReadTransport.java
+++ b/lib/java/src/test/java/org/apache/thrift/transport/TestAutoExpandingBufferReadTransport.java
@@ -18,14 +18,13 @@
  */
 package org.apache.thrift.transport;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+import java.nio.ByteBuffer;
 import org.apache.thrift.TConfiguration;
 import org.junit.jupiter.api.Test;
 
-import java.nio.ByteBuffer;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-public class TestAutoExpandingBufferReadTransport  {
+public class TestAutoExpandingBufferReadTransport {
   private static final byte[] HUNDRED_BYTES = new byte[100];
 
   static {
@@ -36,7 +35,8 @@
 
   @Test
   public void testIt() throws Exception {
-    AutoExpandingBufferReadTransport t = new AutoExpandingBufferReadTransport(new TConfiguration(), 150);
+    AutoExpandingBufferReadTransport t =
+        new AutoExpandingBufferReadTransport(new TConfiguration(), 150);
 
     TMemoryInputTransport membuf = new TMemoryInputTransport(new TConfiguration(), HUNDRED_BYTES);
 
diff --git a/lib/java/src/test/java/org/apache/thrift/transport/TestAutoExpandingBufferWriteTransport.java b/lib/java/src/test/java/org/apache/thrift/transport/TestAutoExpandingBufferWriteTransport.java
index 2424990..44ac63f 100644
--- a/lib/java/src/test/java/org/apache/thrift/transport/TestAutoExpandingBufferWriteTransport.java
+++ b/lib/java/src/test/java/org/apache/thrift/transport/TestAutoExpandingBufferWriteTransport.java
@@ -18,59 +18,61 @@
  */
 package org.apache.thrift.transport;
 
-import org.apache.thrift.TConfiguration;
-import org.junit.jupiter.api.Test;
-
-import java.nio.ByteBuffer;
-
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
+import java.nio.ByteBuffer;
+import org.apache.thrift.TConfiguration;
+import org.junit.jupiter.api.Test;
+
 public class TestAutoExpandingBufferWriteTransport {
 
-    private final TConfiguration config = new TConfiguration();
+  private final TConfiguration config = new TConfiguration();
 
-    @Test
-    public void testIt() throws Exception {
-        AutoExpandingBufferWriteTransport t = new AutoExpandingBufferWriteTransport(config, 1, 0);
-        assertEquals(0, t.getLength());
-        assertEquals(1, t.getBuf().array().length);
-        byte[] b1 = new byte[]{1, 2, 3};
-        t.write(b1);
-        assertEquals(3, t.getLength());
-        assertTrue(t.getBuf().array().length >= 3);
-        assertEquals(ByteBuffer.wrap(b1), ByteBuffer.wrap(t.getBuf().array(), 0, 3));
+  @Test
+  public void testIt() throws Exception {
+    AutoExpandingBufferWriteTransport t = new AutoExpandingBufferWriteTransport(config, 1, 0);
+    assertEquals(0, t.getLength());
+    assertEquals(1, t.getBuf().array().length);
+    byte[] b1 = new byte[] {1, 2, 3};
+    t.write(b1);
+    assertEquals(3, t.getLength());
+    assertTrue(t.getBuf().array().length >= 3);
+    assertEquals(ByteBuffer.wrap(b1), ByteBuffer.wrap(t.getBuf().array(), 0, 3));
 
-        t.reset();
-        assertEquals(0, t.getLength());
-        assertTrue(t.getBuf().array().length >= 3);
-        byte[] b2 = new byte[]{4, 5};
-        t.write(b2);
-        assertEquals(2, t.getLength());
-        assertEquals(ByteBuffer.wrap(b2), ByteBuffer.wrap(t.getBuf().array(), 0, 2));
+    t.reset();
+    assertEquals(0, t.getLength());
+    assertTrue(t.getBuf().array().length >= 3);
+    byte[] b2 = new byte[] {4, 5};
+    t.write(b2);
+    assertEquals(2, t.getLength());
+    assertEquals(ByteBuffer.wrap(b2), ByteBuffer.wrap(t.getBuf().array(), 0, 2));
 
-        AutoExpandingBufferWriteTransport uut = new AutoExpandingBufferWriteTransport(config, 8, 4);
-        assertEquals(4, uut.getLength());
-        assertEquals(8, uut.getBuf().array().length);
-        uut.write(b1);
-        assertEquals(7, uut.getLength());
-        assertEquals(8, uut.getBuf().array().length);
-        assertEquals(ByteBuffer.wrap(b1), ByteBuffer.wrap(uut.getBuf().array(), 4, 3));
-    }
+    AutoExpandingBufferWriteTransport uut = new AutoExpandingBufferWriteTransport(config, 8, 4);
+    assertEquals(4, uut.getLength());
+    assertEquals(8, uut.getBuf().array().length);
+    uut.write(b1);
+    assertEquals(7, uut.getLength());
+    assertEquals(8, uut.getBuf().array().length);
+    assertEquals(ByteBuffer.wrap(b1), ByteBuffer.wrap(uut.getBuf().array(), 4, 3));
+  }
 
-    @Test
-    public void testBadInitialSize() throws TTransportException {
-        assertThrows(IllegalArgumentException.class, () -> new AutoExpandingBufferWriteTransport(config, 0, 0));
-    }
+  @Test
+  public void testBadInitialSize() throws TTransportException {
+    assertThrows(
+        IllegalArgumentException.class, () -> new AutoExpandingBufferWriteTransport(config, 0, 0));
+  }
 
-    @Test
-    public void testBadFrontReserveSize() throws IllegalArgumentException, TTransportException {
-        assertThrows(IllegalArgumentException.class, () -> new AutoExpandingBufferWriteTransport(config, 4, -1));
-    }
+  @Test
+  public void testBadFrontReserveSize() throws IllegalArgumentException, TTransportException {
+    assertThrows(
+        IllegalArgumentException.class, () -> new AutoExpandingBufferWriteTransport(config, 4, -1));
+  }
 
-    @Test
-    public void testTooSmallFrontReserveSize() throws IllegalArgumentException, TTransportException {
-        assertThrows(IllegalArgumentException.class, () -> new AutoExpandingBufferWriteTransport(config, 4, 5));
-    }
+  @Test
+  public void testTooSmallFrontReserveSize() throws IllegalArgumentException, TTransportException {
+    assertThrows(
+        IllegalArgumentException.class, () -> new AutoExpandingBufferWriteTransport(config, 4, 5));
+  }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/transport/TestNonblockingServerSocket.java b/lib/java/src/test/java/org/apache/thrift/transport/TestNonblockingServerSocket.java
index 6bde36c..57a3739 100644
--- a/lib/java/src/test/java/org/apache/thrift/transport/TestNonblockingServerSocket.java
+++ b/lib/java/src/test/java/org/apache/thrift/transport/TestNonblockingServerSocket.java
@@ -19,17 +19,16 @@
 
 package org.apache.thrift.transport;
 
-import org.junit.jupiter.api.Test;
+import static org.junit.jupiter.api.Assertions.assertFalse;
 
 import java.nio.channels.ServerSocketChannel;
-
-import static org.junit.jupiter.api.Assertions.assertFalse;
+import org.junit.jupiter.api.Test;
 
 public class TestNonblockingServerSocket {
 
   @Test
   public void testSocketChannelBlockingMode() throws TTransportException {
-    try (TNonblockingServerSocket nonblockingServer = new TNonblockingServerSocket(0)){
+    try (TNonblockingServerSocket nonblockingServer = new TNonblockingServerSocket(0)) {
       ServerSocketChannel socketChannel = nonblockingServer.getServerSocketChannel();
       assertFalse(socketChannel.isBlocking(), "Socket channel should be nonblocking");
     }
diff --git a/lib/java/src/test/java/org/apache/thrift/transport/TestTByteBuffer.java b/lib/java/src/test/java/org/apache/thrift/transport/TestTByteBuffer.java
index 3397764..748de12 100644
--- a/lib/java/src/test/java/org/apache/thrift/transport/TestTByteBuffer.java
+++ b/lib/java/src/test/java/org/apache/thrift/transport/TestTByteBuffer.java
@@ -1,37 +1,42 @@
 package org.apache.thrift.transport;
 
-import org.junit.jupiter.api.Test;
-
-import java.nio.ByteBuffer;
-import java.nio.charset.StandardCharsets;
-
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 
-public class TestTByteBuffer  {
+import java.nio.ByteBuffer;
+import java.nio.charset.StandardCharsets;
+import org.junit.jupiter.api.Test;
+
+public class TestTByteBuffer {
   @Test
   public void testReadWrite() throws Exception {
     final TByteBuffer byteBuffer = new TByteBuffer(ByteBuffer.allocate(16));
     byteBuffer.write("Hello World".getBytes(StandardCharsets.UTF_8));
-    assertEquals("Hello World", new String(byteBuffer.flip().toByteArray(), StandardCharsets.UTF_8));
+    assertEquals(
+        "Hello World", new String(byteBuffer.flip().toByteArray(), StandardCharsets.UTF_8));
   }
 
   @Test
   public void testReuseReadWrite() throws Exception {
     final TByteBuffer byteBuffer = new TByteBuffer(ByteBuffer.allocate(16));
     byteBuffer.write("Hello World".getBytes(StandardCharsets.UTF_8));
-    assertEquals("Hello World", new String(byteBuffer.flip().toByteArray(), StandardCharsets.UTF_8));
+    assertEquals(
+        "Hello World", new String(byteBuffer.flip().toByteArray(), StandardCharsets.UTF_8));
 
     byteBuffer.clear();
 
     byteBuffer.write("Goodbye Horses".getBytes(StandardCharsets.UTF_8));
-    assertEquals("Goodbye Horses", new String(byteBuffer.flip().toByteArray(), StandardCharsets.UTF_8));
+    assertEquals(
+        "Goodbye Horses", new String(byteBuffer.flip().toByteArray(), StandardCharsets.UTF_8));
   }
 
   @Test
   public void testOverflow() throws Exception {
     final TByteBuffer byteBuffer = new TByteBuffer(ByteBuffer.allocate(4));
-    TTransportException e = assertThrows(TTransportException.class, ()-> byteBuffer.write("Hello World".getBytes(StandardCharsets.UTF_8)));
+    TTransportException e =
+        assertThrows(
+            TTransportException.class,
+            () -> byteBuffer.write("Hello World".getBytes(StandardCharsets.UTF_8)));
     assertEquals("Not enough room in output buffer", e.getMessage());
   }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/transport/TestTFastFramedTransport.java b/lib/java/src/test/java/org/apache/thrift/transport/TestTFastFramedTransport.java
index 6fa2380..51568fd 100644
--- a/lib/java/src/test/java/org/apache/thrift/transport/TestTFastFramedTransport.java
+++ b/lib/java/src/test/java/org/apache/thrift/transport/TestTFastFramedTransport.java
@@ -21,7 +21,7 @@
 import org.apache.thrift.transport.layered.TFastFramedTransport;
 
 public class TestTFastFramedTransport extends TestTFramedTransport {
-  protected final static int INITIAL_CAPACITY = 50;
+  protected static final int INITIAL_CAPACITY = 50;
 
   @Override
   protected TTransport getTransport(TTransport underlying) throws TTransportException {
@@ -29,7 +29,8 @@
   }
 
   @Override
-  protected TTransport getTransport(TTransport underlying, int maxLength) throws TTransportException {
+  protected TTransport getTransport(TTransport underlying, int maxLength)
+      throws TTransportException {
     return new TFastFramedTransport(underlying, INITIAL_CAPACITY, maxLength);
   }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/transport/TestTFramedTransport.java b/lib/java/src/test/java/org/apache/thrift/transport/TestTFramedTransport.java
index 0d861bd..5ceefa7 100644
--- a/lib/java/src/test/java/org/apache/thrift/transport/TestTFramedTransport.java
+++ b/lib/java/src/test/java/org/apache/thrift/transport/TestTFramedTransport.java
@@ -18,17 +18,6 @@
  */
 package org.apache.thrift.transport;
 
-import org.apache.thrift.transport.layered.TFastFramedTransport;
-import org.apache.thrift.transport.layered.TFramedTransport;
-import org.junit.jupiter.api.Test;
-
-import java.io.BufferedOutputStream;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-
 import static org.junit.jupiter.api.Assertions.assertArrayEquals;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -36,20 +25,31 @@
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
+import java.io.BufferedOutputStream;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import org.apache.thrift.transport.layered.TFastFramedTransport;
+import org.apache.thrift.transport.layered.TFramedTransport;
+import org.junit.jupiter.api.Test;
+
 public class TestTFramedTransport {
 
   protected TTransport getTransport(TTransport underlying) throws TTransportException {
     return new TFramedTransport(underlying);
   }
 
-  protected TTransport getTransport(TTransport underlying, int maxLength) throws TTransportException {
+  protected TTransport getTransport(TTransport underlying, int maxLength)
+      throws TTransportException {
     return new TFramedTransport(underlying, maxLength);
   }
 
   public static byte[] byteSequence(int start, int end) {
-    byte[] result = new byte[end-start+1];
-    for (int i = 0; i <= (end-start); i++) {
-      result[i] = (byte)(start+i);
+    byte[] result = new byte[end - start + 1];
+    for (int i = 0; i <= (end - start); i++) {
+      result[i] = (byte) (start + i);
     }
     return result;
   }
@@ -105,12 +105,15 @@
     TTransport trans = getTransport(countTrans, maxLength);
 
     byte[] readBuf = new byte[10];
-    TTransportException e = assertThrows(TTransportException.class, () -> trans.read(readBuf, 0, 4));
-    // We expect this exception because the frame we're trying to read is larger than our max frame length
+    TTransportException e =
+        assertThrows(TTransportException.class, () -> trans.read(readBuf, 0, 4));
+    // We expect this exception because the frame we're trying to read is larger than our max frame
+    // length
     assertEquals(TTransportException.CORRUPTED_DATA, e.getType());
     assertFalse(trans.isOpen());
 
-    TTransportException e2 = assertThrows(TTransportException.class, () -> trans.read(readBuf, 0, 4));
+    TTransportException e2 =
+        assertThrows(TTransportException.class, () -> trans.read(readBuf, 0, 4));
     // This time we get an exception indicating the connection was closed
     assertEquals(TTransportException.NOT_OPEN, e2.getType());
   }
@@ -118,13 +121,14 @@
   @Test
   public void testWrite() throws TTransportException, IOException {
     ByteArrayOutputStream baos = new ByteArrayOutputStream();
-    WriteCountingTransport countingTrans = new WriteCountingTransport(new TIOStreamTransport(new BufferedOutputStream(baos)));
+    WriteCountingTransport countingTrans =
+        new WriteCountingTransport(new TIOStreamTransport(new BufferedOutputStream(baos)));
     TTransport trans = getTransport(countingTrans);
 
-    trans.write(byteSequence(0,100));
+    trans.write(byteSequence(0, 100));
     assertEquals(0, countingTrans.writeCount);
-    trans.write(byteSequence(101,200));
-    trans.write(byteSequence(201,255));
+    trans.write(byteSequence(101, 200));
+    trans.write(byteSequence(201, 255));
     assertEquals(0, countingTrans.writeCount);
 
     trans.flush();
diff --git a/lib/java/src/test/java/org/apache/thrift/transport/TestTIOStreamTransport.java b/lib/java/src/test/java/org/apache/thrift/transport/TestTIOStreamTransport.java
index 4e66cf5..f5ae3cc 100644
--- a/lib/java/src/test/java/org/apache/thrift/transport/TestTIOStreamTransport.java
+++ b/lib/java/src/test/java/org/apache/thrift/transport/TestTIOStreamTransport.java
@@ -18,50 +18,49 @@
 
 package org.apache.thrift.transport;
 
-import org.junit.jupiter.api.Test;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.InputStream;
 import java.io.OutputStream;
-
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertTrue;
+import org.junit.jupiter.api.Test;
 
 public class TestTIOStreamTransport {
-    // THRIFT-5022
-    @Test
-    public void testOpenClose_2streams() throws TTransportException {
-        byte[] dummy = {20}; // So the input stream isn't EOF immediately.
-        InputStream input = new ByteArrayInputStream(dummy);
-        OutputStream output = new ByteArrayOutputStream();
-        TTransport transport = new TIOStreamTransport(input, output);
-        runOpenClose(transport);
-    }
+  // THRIFT-5022
+  @Test
+  public void testOpenClose_2streams() throws TTransportException {
+    byte[] dummy = {20}; // So the input stream isn't EOF immediately.
+    InputStream input = new ByteArrayInputStream(dummy);
+    OutputStream output = new ByteArrayOutputStream();
+    TTransport transport = new TIOStreamTransport(input, output);
+    runOpenClose(transport);
+  }
 
-    // THRIFT-5022
-    @Test
-    public void testOpenClose_1input() throws TTransportException {
-        byte[] dummy = {20};
-        InputStream input = new ByteArrayInputStream(dummy);
-        TTransport transport = new TIOStreamTransport(input);
-        runOpenClose(transport);
-    }
+  // THRIFT-5022
+  @Test
+  public void testOpenClose_1input() throws TTransportException {
+    byte[] dummy = {20};
+    InputStream input = new ByteArrayInputStream(dummy);
+    TTransport transport = new TIOStreamTransport(input);
+    runOpenClose(transport);
+  }
 
-    // THRIFT-5022
-    @Test
-    public void testIOpenClose_1output() throws TTransportException {
-        OutputStream output = new ByteArrayOutputStream();
-        TTransport transport = new TIOStreamTransport(output);
-        runOpenClose(transport);
-    }
+  // THRIFT-5022
+  @Test
+  public void testIOpenClose_1output() throws TTransportException {
+    OutputStream output = new ByteArrayOutputStream();
+    TTransport transport = new TIOStreamTransport(output);
+    runOpenClose(transport);
+  }
 
-    private void runOpenClose(TTransport transport) throws TTransportException {
-        transport.open();
-        boolean b1 = transport.isOpen();
-        assertTrue(b1);
-        transport.close();
-        boolean b2 = transport.isOpen();
-        assertFalse(b2);
-    }
+  private void runOpenClose(TTransport transport) throws TTransportException {
+    transport.open();
+    boolean b1 = transport.isOpen();
+    assertTrue(b1);
+    transport.close();
+    boolean b2 = transport.isOpen();
+    assertFalse(b2);
+  }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/transport/TestTMemoryInputTransport.java b/lib/java/src/test/java/org/apache/thrift/transport/TestTMemoryInputTransport.java
index 482bb3a..888eef1 100644
--- a/lib/java/src/test/java/org/apache/thrift/transport/TestTMemoryInputTransport.java
+++ b/lib/java/src/test/java/org/apache/thrift/transport/TestTMemoryInputTransport.java
@@ -18,16 +18,16 @@
  */
 package org.apache.thrift.transport;
 
-import org.junit.jupiter.api.Test;
-
 import static org.junit.jupiter.api.Assertions.assertArrayEquals;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 
-public class TestTMemoryInputTransport  {
+import org.junit.jupiter.api.Test;
+
+public class TestTMemoryInputTransport {
   @Test
   public void testFresh() throws Exception {
-    byte[] input_buf = new byte[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
+    byte[] input_buf = new byte[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
     TMemoryInputTransport trans = new TMemoryInputTransport(input_buf);
     assertEquals(0, trans.getBufferPosition());
     assertEquals(input_buf, trans.getBuffer());
@@ -35,7 +35,7 @@
 
     byte[] buf1 = new byte[4];
     trans.readAll(buf1, 0, 4);
-    assertArrayEquals(new byte[]{1, 2, 3, 4}, buf1);
+    assertArrayEquals(new byte[] {1, 2, 3, 4}, buf1);
     assertEquals(4, trans.getBufferPosition());
     assertEquals(6, trans.getBytesRemainingInBuffer());
 
@@ -45,20 +45,20 @@
     assertEquals(4, trans.getBytesRemainingInBuffer());
 
     trans.readAll(buf1, 0, 4);
-    assertArrayEquals(new byte[]{7, 8, 9, 10}, buf1);
+    assertArrayEquals(new byte[] {7, 8, 9, 10}, buf1);
     assertEquals(10, trans.getBufferPosition());
     assertEquals(0, trans.getBytesRemainingInBuffer());
   }
 
   @Test
   public void testReused() throws Exception {
-    byte[] input_buf = new byte[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
+    byte[] input_buf = new byte[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
     TMemoryInputTransport trans = new TMemoryInputTransport(input_buf);
     assertEquals(0, trans.getBufferPosition());
     assertEquals(input_buf, trans.getBuffer());
     assertEquals(10, trans.getBytesRemainingInBuffer());
 
-    byte[] new_buf = new byte[]{10, 9, 8};
+    byte[] new_buf = new byte[] {10, 9, 8};
     trans.reset(new_buf);
     assertEquals(0, trans.getBufferPosition());
     assertEquals(new_buf, trans.getBuffer());
@@ -67,7 +67,7 @@
 
   @Test
   public void testWithOffsetAndLength() throws TTransportException {
-    byte[] input_buf = new byte[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
+    byte[] input_buf = new byte[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
     TMemoryInputTransport trans = new TMemoryInputTransport(input_buf, 1, 3);
     assertEquals(1, trans.getBufferPosition());
     assertEquals(3, trans.getBytesRemainingInBuffer());
@@ -75,7 +75,7 @@
     {
       byte[] readBuffer = new byte[3];
       trans.readAll(readBuffer, 0, 3);
-      assertArrayEquals(new byte[]{2, 3, 4}, readBuffer);
+      assertArrayEquals(new byte[] {2, 3, 4}, readBuffer);
       assertThrows(Exception.class, () -> trans.readAll(readBuffer, 0, 3));
     }
 
@@ -83,7 +83,7 @@
       trans.reset(input_buf, 3, 4);
       byte[] readBuffer2 = new byte[4];
       trans.readAll(readBuffer2, 0, 4);
-      assertArrayEquals(new byte[]{4, 5, 6, 7}, readBuffer2);
+      assertArrayEquals(new byte[] {4, 5, 6, 7}, readBuffer2);
     }
   }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/transport/TestTMemoryTransport.java b/lib/java/src/test/java/org/apache/thrift/transport/TestTMemoryTransport.java
index 6d221db..9575610 100644
--- a/lib/java/src/test/java/org/apache/thrift/transport/TestTMemoryTransport.java
+++ b/lib/java/src/test/java/org/apache/thrift/transport/TestTMemoryTransport.java
@@ -19,15 +19,14 @@
 
 package org.apache.thrift.transport;
 
-import org.apache.thrift.TByteArrayOutputStream;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.function.Executable;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
 import java.nio.ByteBuffer;
 import java.util.Random;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertThrows;
+import org.apache.thrift.TByteArrayOutputStream;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.function.Executable;
 
 public class TestTMemoryTransport {
 
@@ -51,12 +50,14 @@
   public void testReadMoreThanRemaining() throws TTransportException {
     TMemoryTransport transport = new TMemoryTransport(new byte[] {0x00, 0x32});
     byte[] read = new byte[3];
-    assertThrows(TTransportException.class, new Executable() {
-      @Override
-      public void execute() throws Throwable {
-        transport.read(read, 0, 3);
-      }
-    });
+    assertThrows(
+        TTransportException.class,
+        new Executable() {
+          @Override
+          public void execute() throws Throwable {
+            transport.read(read, 0, 3);
+          }
+        });
   }
 
   @Test
@@ -68,6 +69,8 @@
     transport.write(output2, 0, 2);
     byte[] expected = {0x72, 0x56, 0x29, (byte) 0xAF, (byte) 0x9B, (byte) 0x83, 0x10};
     TByteArrayOutputStream outputByteArray = transport.getOutput();
-    assertEquals(ByteBuffer.wrap(expected), ByteBuffer.wrap(outputByteArray.get(), 0, outputByteArray.len()));
+    assertEquals(
+        ByteBuffer.wrap(expected),
+        ByteBuffer.wrap(outputByteArray.get(), 0, outputByteArray.len()));
   }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/transport/TestTSSLTransportFactory.java b/lib/java/src/test/java/org/apache/thrift/transport/TestTSSLTransportFactory.java
index b5186c0..b0f709b 100644
--- a/lib/java/src/test/java/org/apache/thrift/transport/TestTSSLTransportFactory.java
+++ b/lib/java/src/test/java/org/apache/thrift/transport/TestTSSLTransportFactory.java
@@ -19,10 +19,8 @@
 
 package org.apache.thrift.transport;
 
-import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
-
 import org.apache.thrift.TProcessor;
 import org.apache.thrift.protocol.TBinaryProtocol;
 import org.apache.thrift.protocol.TProtocolFactory;
@@ -36,12 +34,15 @@
   private TServer server;
 
   // TODO: Only supported on TBinaryProtocol. Doesn't work for TCompactProtocol
-  private static final List<TProtocolFactory> protocols = Collections.singletonList(new TBinaryProtocol.Factory());
+  private static final List<TProtocolFactory> protocols =
+      Collections.singletonList(new TBinaryProtocol.Factory());
 
   private static final String keyStoreLocation = System.getProperty("javax.net.ssl.keyStore");
-  private static final String keyStorePassword = System.getProperty("javax.net.ssl.keyStorePassword");
+  private static final String keyStorePassword =
+      System.getProperty("javax.net.ssl.keyStorePassword");
   private static final String trustStoreLocation = System.getProperty("javax.net.ssl.trustStore");
-  private static final String trustStorePassword = System.getProperty("javax.net.ssl.trustStorePassword");
+  private static final String trustStorePassword =
+      System.getProperty("javax.net.ssl.trustStorePassword");
 
   protected final String getKeyStoreLocation() {
     return keyStoreLocation;
@@ -60,8 +61,7 @@
   }
 
   @Override
-  public TTransport getClientTransport(TTransport underlyingTransport)
-  throws Exception {
+  public TTransport getClientTransport(TTransport underlyingTransport) throws Exception {
     return TSSLTransportFactory.getClientSocket(HOST, PORT);
   }
 
@@ -70,19 +70,24 @@
   }
 
   @Override
-  public void startServer(final TProcessor processor, final TProtocolFactory protoFactory, final TTransportFactory factory)
-  throws Exception {
-    serverThread = new Thread(() -> {
-      try {
-        TServerTransport serverTransport = getServerTransport();
-        final Args args = new Args(serverTransport).processor(processor);
-        server = new TSimpleServer(args);
-        server.serve();
-      } catch (Exception e) {
-        e.printStackTrace();
-        assert false;
-      }
-    });
+  public void startServer(
+      final TProcessor processor,
+      final TProtocolFactory protoFactory,
+      final TTransportFactory factory)
+      throws Exception {
+    serverThread =
+        new Thread(
+            () -> {
+              try {
+                TServerTransport serverTransport = getServerTransport();
+                final Args args = new Args(serverTransport).processor(processor);
+                server = new TSimpleServer(args);
+                server.serve();
+              } catch (Exception e) {
+                e.printStackTrace();
+                assert false;
+              }
+            });
 
     serverThread.start();
     Thread.sleep(SLEEP_DELAY);
diff --git a/lib/java/src/test/java/org/apache/thrift/transport/TestTSSLTransportFactoryCustomClient1.java b/lib/java/src/test/java/org/apache/thrift/transport/TestTSSLTransportFactoryCustomClient1.java
index 6b543e3..6a69872 100644
--- a/lib/java/src/test/java/org/apache/thrift/transport/TestTSSLTransportFactoryCustomClient1.java
+++ b/lib/java/src/test/java/org/apache/thrift/transport/TestTSSLTransportFactoryCustomClient1.java
@@ -22,11 +22,10 @@
 public class TestTSSLTransportFactoryCustomClient1 extends TestTSSLTransportFactory {
 
   @Override
-  public TTransport getClientTransport(TTransport underlyingTransport)
-  throws Exception {
-    TSSLTransportFactory.TSSLTransportParameters params = new
-      TSSLTransportFactory.TSSLTransportParameters();
+  public TTransport getClientTransport(TTransport underlyingTransport) throws Exception {
+    TSSLTransportFactory.TSSLTransportParameters params =
+        new TSSLTransportFactory.TSSLTransportParameters();
     params.setTrustStore(getTrustStoreLocation(), getTrustStorePassword());
-    return TSSLTransportFactory.getClientSocket(HOST, PORT, 0/*timeout*/, params);
+    return TSSLTransportFactory.getClientSocket(HOST, PORT, 0 /*timeout*/, params);
   }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/transport/TestTSSLTransportFactoryCustomClient2.java b/lib/java/src/test/java/org/apache/thrift/transport/TestTSSLTransportFactoryCustomClient2.java
index 2427b9b..cd0229f 100644
--- a/lib/java/src/test/java/org/apache/thrift/transport/TestTSSLTransportFactoryCustomClient2.java
+++ b/lib/java/src/test/java/org/apache/thrift/transport/TestTSSLTransportFactoryCustomClient2.java
@@ -22,11 +22,10 @@
 public class TestTSSLTransportFactoryCustomClient2 extends TestTSSLTransportFactory {
 
   @Override
-  public TTransport getClientTransport(TTransport underlyingTransport)
-  throws Exception {
-    TSSLTransportFactory.TSSLTransportParameters params = new
-      TSSLTransportFactory.TSSLTransportParameters();
+  public TTransport getClientTransport(TTransport underlyingTransport) throws Exception {
+    TSSLTransportFactory.TSSLTransportParameters params =
+        new TSSLTransportFactory.TSSLTransportParameters();
     params.setTrustStore(getTrustStoreLocation(), null);
-    return TSSLTransportFactory.getClientSocket(HOST, PORT, 0/*timeout*/, params);
+    return TSSLTransportFactory.getClientSocket(HOST, PORT, 0 /*timeout*/, params);
   }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/transport/TestTSSLTransportFactoryStreamedStore.java b/lib/java/src/test/java/org/apache/thrift/transport/TestTSSLTransportFactoryStreamedStore.java
index cc3cb68..55b965f 100644
--- a/lib/java/src/test/java/org/apache/thrift/transport/TestTSSLTransportFactoryStreamedStore.java
+++ b/lib/java/src/test/java/org/apache/thrift/transport/TestTSSLTransportFactoryStreamedStore.java
@@ -25,23 +25,23 @@
 public class TestTSSLTransportFactoryStreamedStore extends TestTSSLTransportFactory {
 
   @Override
-  public TTransport getClientTransport(TTransport underlyingTransport)
-  throws Exception {
-    TSSLTransportFactory.TSSLTransportParameters params = new
-      TSSLTransportFactory.TSSLTransportParameters();
+  public TTransport getClientTransport(TTransport underlyingTransport) throws Exception {
+    TSSLTransportFactory.TSSLTransportParameters params =
+        new TSSLTransportFactory.TSSLTransportParameters();
 
     params.setTrustStore(new FileInputStream(getTrustStoreLocation()), getTrustStorePassword());
 
-    return TSSLTransportFactory.getClientSocket(HOST, PORT, 0/*timeout*/, params);
+    return TSSLTransportFactory.getClientSocket(HOST, PORT, 0 /*timeout*/, params);
   }
 
   @Override
   protected TServerSocket getServerTransport() throws Exception {
-    TSSLTransportFactory.TSSLTransportParameters params = new
-        TSSLTransportFactory.TSSLTransportParameters();
+    TSSLTransportFactory.TSSLTransportParameters params =
+        new TSSLTransportFactory.TSSLTransportParameters();
 
     params.setKeyStore(new FileInputStream(getKeyStoreLocation()), getKeyStorePassword());
 
-    return TSSLTransportFactory.getServerSocket(PORT, 0/*timeout*/, InetAddress.getByName(HOST), params);
+    return TSSLTransportFactory.getServerSocket(
+        PORT, 0 /*timeout*/, InetAddress.getByName(HOST), params);
   }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/transport/TestTSaslTransports.java b/lib/java/src/test/java/org/apache/thrift/transport/TestTSaslTransports.java
index 7cc5ca6..224da21 100644
--- a/lib/java/src/test/java/org/apache/thrift/transport/TestTSaslTransports.java
+++ b/lib/java/src/test/java/org/apache/thrift/transport/TestTSaslTransports.java
@@ -19,17 +19,17 @@
 
 package org.apache.thrift.transport;
 
-import org.apache.thrift.TConfiguration;
-import org.apache.thrift.TProcessor;
-import org.apache.thrift.protocol.TProtocolFactory;
-import org.apache.thrift.server.ServerTestBase;
-import org.apache.thrift.server.TServer;
-import org.apache.thrift.server.TServer.Args;
-import org.apache.thrift.server.TSimpleServer;
-import org.junit.jupiter.api.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
 
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.util.HashMap;
+import java.util.Map;
 import javax.security.auth.callback.Callback;
 import javax.security.auth.callback.CallbackHandler;
 import javax.security.auth.callback.NameCallback;
@@ -43,19 +43,18 @@
 import javax.security.sasl.SaslException;
 import javax.security.sasl.SaslServer;
 import javax.security.sasl.SaslServerFactory;
-import java.io.IOException;
-import java.nio.charset.StandardCharsets;
-import java.util.HashMap;
-import java.util.Map;
+import org.apache.thrift.TConfiguration;
+import org.apache.thrift.TProcessor;
+import org.apache.thrift.protocol.TProtocolFactory;
+import org.apache.thrift.server.ServerTestBase;
+import org.apache.thrift.server.TServer;
+import org.apache.thrift.server.TServer.Args;
+import org.apache.thrift.server.TSimpleServer;
+import org.junit.jupiter.api.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertNull;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.junit.jupiter.api.Assertions.fail;
-
-public class TestTSaslTransports  {
+public class TestTSaslTransports {
 
   private static final Logger LOGGER = LoggerFactory.getLogger(TestTSaslTransports.class);
 
@@ -76,15 +75,16 @@
     WRAPPED_PROPS.put("com.sun.security.sasl.digest.realm", REALM);
   }
 
-  private static final String testMessage1 = "Hello, world! Also, four "
-      + "score and seven years ago our fathers brought forth on this "
-      + "continent a new nation, conceived in liberty, and dedicated to the "
-      + "proposition that all men are created equal.";
+  private static final String testMessage1 =
+      "Hello, world! Also, four "
+          + "score and seven years ago our fathers brought forth on this "
+          + "continent a new nation, conceived in liberty, and dedicated to the "
+          + "proposition that all men are created equal.";
 
-  private static final String testMessage2 = "I have a dream that one day "
-      + "this nation will rise up and live out the true meaning of its creed: "
-      + "'We hold these truths to be self-evident, that all men are created equal.'";
-
+  private static final String testMessage2 =
+      "I have a dream that one day "
+          + "this nation will rise up and live out the true meaning of its creed: "
+          + "'We hold these truths to be self-evident, that all men are created equal.'";
 
   public static class TestSaslCallbackHandler implements CallbackHandler {
     private final String password;
@@ -130,19 +130,23 @@
     }
 
     private void internalRun() throws Exception {
-      try (TServerSocket serverSocket = new TServerSocket(
-              new TServerSocket.ServerSocketTransportArgs().
-                      port(ServerTestBase.PORT))) {
+      try (TServerSocket serverSocket =
+          new TServerSocket(
+              new TServerSocket.ServerSocketTransportArgs().port(ServerTestBase.PORT))) {
         acceptAndWrite(serverSocket);
       }
     }
 
-    private void acceptAndWrite(TServerSocket serverSocket)
-      throws Exception {
+    private void acceptAndWrite(TServerSocket serverSocket) throws Exception {
       TTransport serverTransport = serverSocket.accept();
-      TTransport saslServerTransport = new TSaslServerTransport(
-        mechanism, SERVICE, HOST,
-        props, new TestSaslCallbackHandler(PASSWORD), serverTransport);
+      TTransport saslServerTransport =
+          new TSaslServerTransport(
+              mechanism,
+              SERVICE,
+              HOST,
+              props,
+              new TestSaslCallbackHandler(PASSWORD),
+              serverTransport);
 
       saslServerTransport.open();
 
@@ -177,8 +181,15 @@
 
     try {
       TSocket clientSocket = new TSocket(HOST, ServerTestBase.PORT);
-      TTransport saslClientTransport = new TSaslClientTransport(mechanism,
-                                                                PRINCIPAL, SERVICE, HOST, props, new TestSaslCallbackHandler(PASSWORD), clientSocket);
+      TTransport saslClientTransport =
+          new TSaslClientTransport(
+              mechanism,
+              PRINCIPAL,
+              SERVICE,
+              HOST,
+              props,
+              new TestSaslCallbackHandler(PASSWORD),
+              clientSocket);
       saslClientTransport.open();
       LOGGER.debug("client writing: {}", testMessage1);
       saslClientTransport.write(testMessage1.getBytes());
@@ -228,8 +239,8 @@
   }
 
   /**
-   * Test that we get the proper exceptions thrown back the server when
-   * the client provides invalid password.
+   * Test that we get the proper exceptions thrown back the server when the client provides invalid
+   * password.
    */
   @Test
   public void testBadPassword() throws Exception {
@@ -242,13 +253,23 @@
       // Ah well.
     }
 
-    TTransportException tte = assertThrows(TTransportException.class, () -> {
-      TSocket clientSocket = new TSocket(HOST, ServerTestBase.PORT);
-      TTransport saslClientTransport = new TSaslClientTransport(
-              UNWRAPPED_MECHANISM, PRINCIPAL, SERVICE, HOST, UNWRAPPED_PROPS,
-              new TestSaslCallbackHandler("NOT THE PASSWORD"), clientSocket);
-      saslClientTransport.open();
-    }, "Was able to open transport with bad password");
+    TTransportException tte =
+        assertThrows(
+            TTransportException.class,
+            () -> {
+              TSocket clientSocket = new TSocket(HOST, ServerTestBase.PORT);
+              TTransport saslClientTransport =
+                  new TSaslClientTransport(
+                      UNWRAPPED_MECHANISM,
+                      PRINCIPAL,
+                      SERVICE,
+                      HOST,
+                      UNWRAPPED_PROPS,
+                      new TestSaslCallbackHandler("NOT THE PASSWORD"),
+                      clientSocket);
+              saslClientTransport.open();
+            },
+            "Was able to open transport with bad password");
     LOGGER.error("Exception for bad password", tte);
     assertNotNull(tte.getMessage());
     assertTrue(tte.getMessage().contains("Invalid response"));
@@ -271,32 +292,52 @@
     @Override
     public TTransport getClientTransport(TTransport underlyingTransport) throws Exception {
       return new TSaslClientTransport(
-        WRAPPED_MECHANISM, PRINCIPAL, SERVICE, HOST, WRAPPED_PROPS,
-        new TestSaslCallbackHandler(PASSWORD), underlyingTransport);
+          WRAPPED_MECHANISM,
+          PRINCIPAL,
+          SERVICE,
+          HOST,
+          WRAPPED_PROPS,
+          new TestSaslCallbackHandler(PASSWORD),
+          underlyingTransport);
     }
 
     @Override
-    public void startServer(final TProcessor processor, final TProtocolFactory protoFactory, final TTransportFactory factory) throws Exception {
-      serverThread = new Thread() {
-        public void run() {
-          try {
-            // Transport
-            TServerSocket socket = new TServerSocket(new TServerSocket.ServerSocketTransportArgs().port(PORT));
+    public void startServer(
+        final TProcessor processor,
+        final TProtocolFactory protoFactory,
+        final TTransportFactory factory)
+        throws Exception {
+      serverThread =
+          new Thread() {
+            public void run() {
+              try {
+                // Transport
+                TServerSocket socket =
+                    new TServerSocket(new TServerSocket.ServerSocketTransportArgs().port(PORT));
 
-            TTransportFactory factory = new TSaslServerTransport.Factory(
-              WRAPPED_MECHANISM, SERVICE, HOST, WRAPPED_PROPS,
-              new TestSaslCallbackHandler(PASSWORD));
-            server = new TSimpleServer(new Args(socket).processor(processor).transportFactory(factory).protocolFactory(protoFactory));
+                TTransportFactory factory =
+                    new TSaslServerTransport.Factory(
+                        WRAPPED_MECHANISM,
+                        SERVICE,
+                        HOST,
+                        WRAPPED_PROPS,
+                        new TestSaslCallbackHandler(PASSWORD));
+                server =
+                    new TSimpleServer(
+                        new Args(socket)
+                            .processor(processor)
+                            .transportFactory(factory)
+                            .protocolFactory(protoFactory));
 
-            // Run it
-            LOGGER.debug("Starting the server on port {}", PORT);
-            server.serve();
-          } catch (Exception e) {
-            e.printStackTrace();
-            fail(e);
-          }
-        }
-      };
+                // Run it
+                LOGGER.debug("Starting the server on port {}", PORT);
+                server.serve();
+              } catch (Exception e) {
+                e.printStackTrace();
+                fail(e);
+              }
+            }
+          };
       serverThread.start();
       Thread.sleep(1000);
     }
@@ -310,14 +351,9 @@
         LOGGER.debug("interrupted during sleep", e);
       }
     }
-
   }
 
-
-  /**
-   * Implementation of SASL ANONYMOUS, used for testing client-side
-   * initial responses.
-   */
+  /** Implementation of SASL ANONYMOUS, used for testing client-side initial responses. */
   private static class AnonymousClient implements SaslClient {
     private final String username;
     private boolean hasProvidedInitialResponse;
@@ -327,9 +363,15 @@
     }
 
     @Override
-    public String getMechanismName() { return "ANONYMOUS"; }
+    public String getMechanismName() {
+      return "ANONYMOUS";
+    }
+
     @Override
-    public boolean hasInitialResponse() { return true; }
+    public boolean hasInitialResponse() {
+      return true;
+    }
+
     @Override
     public byte[] evaluateChallenge(byte[] challenge) throws SaslException {
       if (hasProvidedInitialResponse) {
@@ -339,58 +381,84 @@
       hasProvidedInitialResponse = true;
       return username.getBytes(StandardCharsets.UTF_8);
     }
+
     @Override
-    public boolean isComplete() { return hasProvidedInitialResponse; }
+    public boolean isComplete() {
+      return hasProvidedInitialResponse;
+    }
+
     @Override
     public byte[] unwrap(byte[] incoming, int offset, int len) {
       throw new UnsupportedOperationException();
     }
+
     @Override
     public byte[] wrap(byte[] outgoing, int offset, int len) {
       throw new UnsupportedOperationException();
     }
+
     @Override
-    public Object getNegotiatedProperty(String propName) { return null; }
+    public Object getNegotiatedProperty(String propName) {
+      return null;
+    }
+
     @Override
     public void dispose() {}
   }
 
   private static class AnonymousServer implements SaslServer {
     private String user;
+
     @Override
-    public String getMechanismName() { return "ANONYMOUS"; }
+    public String getMechanismName() {
+      return "ANONYMOUS";
+    }
+
     @Override
     public byte[] evaluateResponse(byte[] response) throws SaslException {
       this.user = new String(response, StandardCharsets.UTF_8);
       return null;
     }
+
     @Override
-    public boolean isComplete() { return user != null; }
+    public boolean isComplete() {
+      return user != null;
+    }
+
     @Override
-    public String getAuthorizationID() { return user; }
+    public String getAuthorizationID() {
+      return user;
+    }
+
     @Override
     public byte[] unwrap(byte[] incoming, int offset, int len) {
       throw new UnsupportedOperationException();
     }
+
     @Override
     public byte[] wrap(byte[] outgoing, int offset, int len) {
       throw new UnsupportedOperationException();
     }
+
     @Override
-    public Object getNegotiatedProperty(String propName) { return null; }
+    public Object getNegotiatedProperty(String propName) {
+      return null;
+    }
+
     @Override
     public void dispose() {}
-
   }
 
-  public static class SaslAnonymousFactory
-    implements SaslClientFactory, SaslServerFactory {
+  public static class SaslAnonymousFactory implements SaslClientFactory, SaslServerFactory {
 
     @Override
     public SaslClient createSaslClient(
-      String[] mechanisms, String authorizationId, String protocol,
-      String serverName, Map<String,?> props, CallbackHandler cbh)
-    {
+        String[] mechanisms,
+        String authorizationId,
+        String protocol,
+        String serverName,
+        Map<String, ?> props,
+        CallbackHandler cbh) {
       for (String mech : mechanisms) {
         if ("ANONYMOUS".equals(mech)) {
           return new AnonymousClient(authorizationId);
@@ -401,22 +469,27 @@
 
     @Override
     public SaslServer createSaslServer(
-      String mechanism, String protocol, String serverName, Map<String,?> props, CallbackHandler cbh)
-    {
+        String mechanism,
+        String protocol,
+        String serverName,
+        Map<String, ?> props,
+        CallbackHandler cbh) {
       if ("ANONYMOUS".equals(mechanism)) {
         return new AnonymousServer();
       }
       return null;
     }
+
     @Override
     public String[] getMechanismNames(Map<String, ?> props) {
-      return new String[] { "ANONYMOUS" };
+      return new String[] {"ANONYMOUS"};
     }
   }
 
   static {
     java.security.Security.addProvider(new SaslAnonymousProvider());
   }
+
   public static class SaslAnonymousProvider extends java.security.Provider {
     public SaslAnonymousProvider() {
       super("ThriftSaslAnonymous", 1.0, "Thrift Anonymous SASL provider");
@@ -432,15 +505,15 @@
 
     public MockTTransport(int mode) throws TTransportException {
       readBuffer = new TMemoryInputTransport();
-      if (mode==1) {
+      if (mode == 1) {
         // Invalid status byte
-        badHeader = new byte[] { (byte)0xFF, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x05 };
+        badHeader = new byte[] {(byte) 0xFF, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x05};
       } else if (mode == 2) {
         // Valid status byte, negative payload length
-        badHeader = new byte[] { (byte)0x01, (byte)0xFF, (byte)0xFF, (byte)0xFF, (byte)0xFF };
+        badHeader = new byte[] {(byte) 0x01, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF};
       } else if (mode == 3) {
         // Valid status byte, excessively large, bogus payload length
-        badHeader = new byte[] { (byte)0x01, (byte)0x64, (byte)0x00, (byte)0x00, (byte)0x00 };
+        badHeader = new byte[] {(byte) 0x01, (byte) 0x64, (byte) 0x00, (byte) 0x00, (byte) 0x00};
       }
       readBuffer.reset(badHeader);
     }
diff --git a/lib/java/src/test/java/org/apache/thrift/transport/TestTSimpleFileTransport.java b/lib/java/src/test/java/org/apache/thrift/transport/TestTSimpleFileTransport.java
index 926b782..94c1f32 100644
--- a/lib/java/src/test/java/org/apache/thrift/transport/TestTSimpleFileTransport.java
+++ b/lib/java/src/test/java/org/apache/thrift/transport/TestTSimpleFileTransport.java
@@ -18,41 +18,41 @@
  */
 package org.apache.thrift.transport;
 
-import org.junit.jupiter.api.Test;
-
-import java.nio.file.Files;
-import java.nio.file.Path;
-
 import static org.junit.jupiter.api.Assertions.assertArrayEquals;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNull;
 
-public class TestTSimpleFileTransport  {
+import java.nio.file.Files;
+import java.nio.file.Path;
+import org.junit.jupiter.api.Test;
+
+public class TestTSimpleFileTransport {
   @Test
   public void testFresh() throws Exception {
-    //Test write side
+    // Test write side
     Path tempFilePathName = Files.createTempFile("TSimpleFileTransportTest", null);
     Files.delete(tempFilePathName);
-    byte[] input_buf = new byte[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
-    TSimpleFileTransport trans_write = new TSimpleFileTransport(tempFilePathName.toString(),false, true, false);
+    byte[] input_buf = new byte[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
+    TSimpleFileTransport trans_write =
+        new TSimpleFileTransport(tempFilePathName.toString(), false, true, false);
     assert (!trans_write.isOpen());
     trans_write.open();
-    assert(trans_write.isOpen());
+    assert (trans_write.isOpen());
     trans_write.write(input_buf);
-    trans_write.write(input_buf,2,2);
+    trans_write.write(input_buf, 2, 2);
     trans_write.flush();
     trans_write.close();
 
-    //Test read side
-    TSimpleFileTransport trans = new TSimpleFileTransport(tempFilePathName.toString(),true, false);
-    assert(trans.isOpen());
+    // Test read side
+    TSimpleFileTransport trans = new TSimpleFileTransport(tempFilePathName.toString(), true, false);
+    assert (trans.isOpen());
 
-    //Simple file trans provides no buffer access
+    // Simple file trans provides no buffer access
     assertEquals(0, trans.getBufferPosition());
     assertNull(trans.getBuffer());
     assertEquals(-1, trans.getBytesRemainingInBuffer());
 
-    //Test file pointer operations
+    // Test file pointer operations
     assertEquals(0, trans.getFilePointer());
     assertEquals(12, trans.length());
 
@@ -60,10 +60,10 @@
     byte[] buf1 = new byte[BUFSIZ];
     trans.readAll(buf1, 0, BUFSIZ);
     assertEquals(BUFSIZ, trans.getFilePointer());
-    assertArrayEquals(new byte[]{1, 2, 3, 4}, buf1);
+    assertArrayEquals(new byte[] {1, 2, 3, 4}, buf1);
 
     int bytesRead = trans.read(buf1, 0, BUFSIZ);
-    assert(bytesRead > 0);
+    assert (bytesRead > 0);
     for (int i = 0; i < bytesRead; ++i) {
       assertEquals(buf1[i], i + 5);
     }
@@ -71,7 +71,7 @@
     trans.seek(0);
     assertEquals(0, trans.getFilePointer());
     trans.readAll(buf1, 0, BUFSIZ);
-    assertArrayEquals(new byte[]{1, 2, 3, 4}, buf1);
+    assertArrayEquals(new byte[] {1, 2, 3, 4}, buf1);
     assertEquals(BUFSIZ, trans.getFilePointer());
     trans.close();
     Files.delete(tempFilePathName);
diff --git a/lib/java/src/test/java/org/apache/thrift/transport/TestTZlibTransport.java b/lib/java/src/test/java/org/apache/thrift/transport/TestTZlibTransport.java
index 75e917f..345a4d7 100644
--- a/lib/java/src/test/java/org/apache/thrift/transport/TestTZlibTransport.java
+++ b/lib/java/src/test/java/org/apache/thrift/transport/TestTZlibTransport.java
@@ -18,7 +18,8 @@
  */
 package org.apache.thrift.transport;
 
-import org.junit.jupiter.api.Test;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import java.io.BufferedOutputStream;
 import java.io.ByteArrayInputStream;
@@ -29,20 +30,18 @@
 import java.util.zip.DataFormatException;
 import java.util.zip.DeflaterOutputStream;
 import java.util.zip.InflaterInputStream;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.jupiter.api.Assertions.assertArrayEquals;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-public class TestTZlibTransport  {
+public class TestTZlibTransport {
 
   protected TTransport getTransport(TTransport underlying) throws TTransportException {
     return new TZlibTransport(underlying);
   }
 
   public static byte[] byteSequence(int start, int end) {
-    byte[] result = new byte[end-start+1];
-    for (int i = 0; i <= (end-start); i++) {
-      result[i] = (byte)(start+i);
+    byte[] result = new byte[end - start + 1];
+    for (int i = 0; i <= (end - start); i++) {
+      result[i] = (byte) (start + i);
     }
     return result;
   }
@@ -50,8 +49,8 @@
   @Test
   public void testClose() throws TTransportException {
     ByteArrayOutputStream baos = new ByteArrayOutputStream();
-    WriteCountingTransport countingTrans = new WriteCountingTransport(new TIOStreamTransport(new BufferedOutputStream
-        (baos)));
+    WriteCountingTransport countingTrans =
+        new WriteCountingTransport(new TIOStreamTransport(new BufferedOutputStream(baos)));
     TTransport trans = getTransport(countingTrans);
     trans.write(byteSequence(0, 245));
     countingTrans.close();
@@ -68,7 +67,8 @@
     final byte[] compressed = baos.toByteArray();
 
     final byte[] buf = new byte[255];
-    TTransport transRead = getTransport(new TIOStreamTransport(new ByteArrayInputStream(compressed)));
+    TTransport transRead =
+        getTransport(new TIOStreamTransport(new ByteArrayInputStream(compressed)));
     int readBytes = transRead.read(buf, 0, buf.length);
     assertEquals(uncompressed.length, readBytes);
     transRead.close();
@@ -111,7 +111,8 @@
   @Test
   public void testWrite() throws TTransportException, IOException, DataFormatException {
     ByteArrayOutputStream baos = new ByteArrayOutputStream();
-    WriteCountingTransport countingTrans = new WriteCountingTransport(new TIOStreamTransport(new BufferedOutputStream(baos)));
+    WriteCountingTransport countingTrans =
+        new WriteCountingTransport(new TIOStreamTransport(new BufferedOutputStream(baos)));
     TTransport trans = getTransport(countingTrans);
 
     trans.write(byteSequence(0, 100));
@@ -127,7 +128,8 @@
     trans.flush();
     assertEquals(3, countingTrans.writeCount);
 
-    DataInputStream din = new DataInputStream(new InflaterInputStream(new ByteArrayInputStream(baos.toByteArray())));
+    DataInputStream din =
+        new DataInputStream(new InflaterInputStream(new ByteArrayInputStream(baos.toByteArray())));
     byte[] buf = new byte[256];
     int n = din.read(buf, 0, 256);
     assertEquals(n, 256);
@@ -136,11 +138,10 @@
     buf = new byte[246];
     n = din.read(buf, 0, 246);
     assertEquals(n, 246);
-    for (int i = 0; i<buf.length; i++) {
-      assertEquals(byteSequence(0,245)[i], buf[i], "for "+i);
+    for (int i = 0; i < buf.length; i++) {
+      assertEquals(byteSequence(0, 245)[i], buf[i], "for " + i);
     }
 
     assertArrayEquals(byteSequence(0, 245), buf);
   }
-
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/transport/WriteCountingTransport.java b/lib/java/src/test/java/org/apache/thrift/transport/WriteCountingTransport.java
index 50b778b..cb05a92 100644
--- a/lib/java/src/test/java/org/apache/thrift/transport/WriteCountingTransport.java
+++ b/lib/java/src/test/java/org/apache/thrift/transport/WriteCountingTransport.java
@@ -18,7 +18,6 @@
  */
 package org.apache.thrift.transport;
 
-
 import org.apache.thrift.TConfiguration;
 
 public class WriteCountingTransport extends TTransport {
@@ -33,7 +32,9 @@
   public void close() {}
 
   @Override
-  public boolean isOpen() {return true;}
+  public boolean isOpen() {
+    return true;
+  }
 
   @Override
   public void open() throws TTransportException {}
@@ -45,7 +46,7 @@
 
   @Override
   public void write(byte[] buf, int off, int len) throws TTransportException {
-    writeCount ++;
+    writeCount++;
     trans.write(buf, off, len);
   }
 
diff --git a/lib/java/src/test/java/org/apache/thrift/transport/sasl/TestDataFrameReader.java b/lib/java/src/test/java/org/apache/thrift/transport/sasl/TestDataFrameReader.java
index 4b90cce..4288d4a 100644
--- a/lib/java/src/test/java/org/apache/thrift/transport/sasl/TestDataFrameReader.java
+++ b/lib/java/src/test/java/org/apache/thrift/transport/sasl/TestDataFrameReader.java
@@ -19,23 +19,23 @@
 
 package org.apache.thrift.transport.sasl;
 
-import org.apache.thrift.transport.TMemoryInputTransport;
-import org.apache.thrift.transport.TTransportException;
-import org.junit.jupiter.api.Test;
-
-import java.nio.ByteBuffer;
-
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
+import java.nio.ByteBuffer;
+import org.apache.thrift.transport.TMemoryInputTransport;
+import org.apache.thrift.transport.TTransportException;
+import org.junit.jupiter.api.Test;
+
 public class TestDataFrameReader {
 
   @Test
   public void testRead() throws TTransportException {
     // Prepare data
     int payloadSize = 23;
-    ByteBuffer buffer = ByteBuffer.allocate(DataFrameHeaderReader.PAYLOAD_LENGTH_BYTES + payloadSize);
+    ByteBuffer buffer =
+        ByteBuffer.allocate(DataFrameHeaderReader.PAYLOAD_LENGTH_BYTES + payloadSize);
     buffer.putInt(payloadSize);
     for (int i = 0; i < payloadSize; i++) {
       buffer.put((byte) i);
@@ -53,12 +53,18 @@
     dataFrameReader.read(transport);
     assertFalse(dataFrameReader.isComplete(), "Only header is complete");
     assertTrue(dataFrameReader.getHeader().isComplete(), "Header should be complete");
-    assertEquals(payloadSize, dataFrameReader.getHeader().payloadSize(), "Payload size should be " + payloadSize);
+    assertEquals(
+        payloadSize,
+        dataFrameReader.getHeader().payloadSize(),
+        "Payload size should be " + payloadSize);
     // Read the rest of payload.
     transport.reset(buffer.array(), 6, 21);
     dataFrameReader.read(transport);
     assertTrue(dataFrameReader.isComplete(), "Reader should be complete");
     buffer.position(DataFrameHeaderReader.PAYLOAD_LENGTH_BYTES);
-    assertEquals(buffer, ByteBuffer.wrap(dataFrameReader.getPayload()), "Payload should be the same as from the transport");
+    assertEquals(
+        buffer,
+        ByteBuffer.wrap(dataFrameReader.getPayload()),
+        "Payload should be the same as from the transport");
   }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/transport/sasl/TestDataFrameWriter.java b/lib/java/src/test/java/org/apache/thrift/transport/sasl/TestDataFrameWriter.java
index b6f4529..741a5f7 100644
--- a/lib/java/src/test/java/org/apache/thrift/transport/sasl/TestDataFrameWriter.java
+++ b/lib/java/src/test/java/org/apache/thrift/transport/sasl/TestDataFrameWriter.java
@@ -19,6 +19,13 @@
 
 package org.apache.thrift.transport.sasl;
 
+import static org.apache.thrift.transport.sasl.DataFrameHeaderReader.PAYLOAD_LENGTH_BYTES;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+import java.nio.ByteBuffer;
 import org.apache.thrift.EncodingUtils;
 import org.apache.thrift.transport.TNonblockingTransport;
 import org.junit.jupiter.api.Test;
@@ -26,80 +33,76 @@
 import org.mockito.invocation.InvocationOnMock;
 import org.mockito.stubbing.Answer;
 
-import java.nio.ByteBuffer;
-
-import static org.apache.thrift.transport.sasl.DataFrameHeaderReader.PAYLOAD_LENGTH_BYTES;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
 public class TestDataFrameWriter {
 
-    private static final byte[] BYTES = new byte[]{0x32, 0x2A, (byte) 0xE1, 0x18, (byte) 0x90, 0x75};
+  private static final byte[] BYTES = new byte[] {0x32, 0x2A, (byte) 0xE1, 0x18, (byte) 0x90, 0x75};
 
-    @Test
-    public void testProvideEntireByteArrayAsPayload() {
-        DataFrameWriter frameWriter = new DataFrameWriter();
-        frameWriter.withOnlyPayload(BYTES);
-        byte[] expectedBytes = new byte[BYTES.length + PAYLOAD_LENGTH_BYTES];
-        EncodingUtils.encodeBigEndian(BYTES.length, expectedBytes);
-        System.arraycopy(BYTES, 0, expectedBytes, PAYLOAD_LENGTH_BYTES, BYTES.length);
-        assertEquals(ByteBuffer.wrap(expectedBytes), frameWriter.frameBytes);
-    }
+  @Test
+  public void testProvideEntireByteArrayAsPayload() {
+    DataFrameWriter frameWriter = new DataFrameWriter();
+    frameWriter.withOnlyPayload(BYTES);
+    byte[] expectedBytes = new byte[BYTES.length + PAYLOAD_LENGTH_BYTES];
+    EncodingUtils.encodeBigEndian(BYTES.length, expectedBytes);
+    System.arraycopy(BYTES, 0, expectedBytes, PAYLOAD_LENGTH_BYTES, BYTES.length);
+    assertEquals(ByteBuffer.wrap(expectedBytes), frameWriter.frameBytes);
+  }
 
-    @Test
-    public void testProvideByteArrayPortionAsPayload() {
-        DataFrameWriter frameWriter = new DataFrameWriter();
-        int portionOffset = 2;
-        int portionLength = 3;
-        frameWriter.withOnlyPayload(BYTES, portionOffset, portionLength);
-        byte[] expectedBytes = new byte[portionLength + PAYLOAD_LENGTH_BYTES];
-        EncodingUtils.encodeBigEndian(portionLength, expectedBytes);
-        System.arraycopy(BYTES, portionOffset, expectedBytes, PAYLOAD_LENGTH_BYTES, portionLength);
-        assertEquals(ByteBuffer.wrap(expectedBytes), frameWriter.frameBytes);
-    }
+  @Test
+  public void testProvideByteArrayPortionAsPayload() {
+    DataFrameWriter frameWriter = new DataFrameWriter();
+    int portionOffset = 2;
+    int portionLength = 3;
+    frameWriter.withOnlyPayload(BYTES, portionOffset, portionLength);
+    byte[] expectedBytes = new byte[portionLength + PAYLOAD_LENGTH_BYTES];
+    EncodingUtils.encodeBigEndian(portionLength, expectedBytes);
+    System.arraycopy(BYTES, portionOffset, expectedBytes, PAYLOAD_LENGTH_BYTES, portionLength);
+    assertEquals(ByteBuffer.wrap(expectedBytes), frameWriter.frameBytes);
+  }
 
-    @Test
-    public void testProvideHeaderAndPayload() {
-        DataFrameWriter frameWriter = new DataFrameWriter();
-        assertThrows(IllegalArgumentException.class, () -> frameWriter.withHeaderAndPayload(new byte[1], new byte[1]));
-    }
+  @Test
+  public void testProvideHeaderAndPayload() {
+    DataFrameWriter frameWriter = new DataFrameWriter();
+    assertThrows(
+        IllegalArgumentException.class,
+        () -> frameWriter.withHeaderAndPayload(new byte[1], new byte[1]));
+  }
 
-    @Test
-    public void testProvidePayloadToIncompleteFrame() {
-        DataFrameWriter frameWriter = new DataFrameWriter();
-        assertThrows(IllegalStateException.class, () -> {
-            frameWriter.withOnlyPayload(BYTES);
-            frameWriter.withOnlyPayload(new byte[1]);
+  @Test
+  public void testProvidePayloadToIncompleteFrame() {
+    DataFrameWriter frameWriter = new DataFrameWriter();
+    assertThrows(
+        IllegalStateException.class,
+        () -> {
+          frameWriter.withOnlyPayload(BYTES);
+          frameWriter.withOnlyPayload(new byte[1]);
         });
-    }
+  }
 
-    @Test
-    public void testWrite() throws Exception {
-        DataFrameWriter frameWriter = new DataFrameWriter();
-        frameWriter.withOnlyPayload(BYTES);
-        // Slow socket which writes one byte per call.
-        TNonblockingTransport transport = Mockito.mock(TNonblockingTransport.class);
-        SlowWriting slowWriting = new SlowWriting();
-        Mockito.when(transport.write(frameWriter.frameBytes)).thenAnswer(slowWriting);
-        frameWriter.write(transport);
-        while (slowWriting.written < frameWriter.frameBytes.limit()) {
-            assertFalse(frameWriter.isComplete(), "Frame writer should not be complete");
-            frameWriter.write(transport);
-        }
-        assertTrue(frameWriter.isComplete(), "Frame writer should be complete");
+  @Test
+  public void testWrite() throws Exception {
+    DataFrameWriter frameWriter = new DataFrameWriter();
+    frameWriter.withOnlyPayload(BYTES);
+    // Slow socket which writes one byte per call.
+    TNonblockingTransport transport = Mockito.mock(TNonblockingTransport.class);
+    SlowWriting slowWriting = new SlowWriting();
+    Mockito.when(transport.write(frameWriter.frameBytes)).thenAnswer(slowWriting);
+    frameWriter.write(transport);
+    while (slowWriting.written < frameWriter.frameBytes.limit()) {
+      assertFalse(frameWriter.isComplete(), "Frame writer should not be complete");
+      frameWriter.write(transport);
     }
+    assertTrue(frameWriter.isComplete(), "Frame writer should be complete");
+  }
 
-    private static class SlowWriting implements Answer<Integer> {
-        int written = 0;
+  private static class SlowWriting implements Answer<Integer> {
+    int written = 0;
 
-        @Override
-        public Integer answer(InvocationOnMock invocation) throws Throwable {
-            ByteBuffer bytes = (ByteBuffer) invocation.getArguments()[0];
-            bytes.get();
-            written++;
-            return 1;
-        }
+    @Override
+    public Integer answer(InvocationOnMock invocation) throws Throwable {
+      ByteBuffer bytes = (ByteBuffer) invocation.getArguments()[0];
+      bytes.get();
+      written++;
+      return 1;
     }
+  }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/transport/sasl/TestSaslNegotiationFrameReader.java b/lib/java/src/test/java/org/apache/thrift/transport/sasl/TestSaslNegotiationFrameReader.java
index 7c4556a..fef8883 100644
--- a/lib/java/src/test/java/org/apache/thrift/transport/sasl/TestSaslNegotiationFrameReader.java
+++ b/lib/java/src/test/java/org/apache/thrift/transport/sasl/TestSaslNegotiationFrameReader.java
@@ -19,52 +19,53 @@
 
 package org.apache.thrift.transport.sasl;
 
-import org.apache.thrift.transport.TMemoryInputTransport;
-import org.apache.thrift.transport.TTransportException;
-import org.junit.jupiter.api.Test;
-
-import java.nio.ByteBuffer;
-
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
+import java.nio.ByteBuffer;
+import org.apache.thrift.transport.TMemoryInputTransport;
+import org.apache.thrift.transport.TTransportException;
+import org.junit.jupiter.api.Test;
+
 public class TestSaslNegotiationFrameReader {
 
-    @Test
-    public void testRead() throws TTransportException {
-        TMemoryInputTransport transport = new TMemoryInputTransport();
-        SaslNegotiationFrameReader negotiationReader = new SaslNegotiationFrameReader();
-        // No bytes received
-        negotiationReader.read(transport);
-        assertFalse(negotiationReader.isComplete(), "No bytes received");
-        assertFalse(negotiationReader.getHeader().isComplete(), "No bytes received");
-        // Read header
-        ByteBuffer buffer = ByteBuffer.allocate(5);
-        buffer.put(0, NegotiationStatus.OK.getValue());
-        buffer.putInt(1, 10);
-        transport.reset(buffer.array());
-        negotiationReader.read(transport);
-        assertFalse(negotiationReader.isComplete(), "Only header is complete");
-        assertTrue(negotiationReader.getHeader().isComplete(), "Header should be complete");
-        assertEquals(10, negotiationReader.getHeader().payloadSize(), "Payload size should be 10");
-        // Read payload
-        transport.reset(new byte[20]);
-        negotiationReader.read(transport);
-        assertTrue(negotiationReader.isComplete(), "Reader should be complete");
-        assertEquals(10, negotiationReader.getPayload().length, "Payload length should be 10");
-    }
+  @Test
+  public void testRead() throws TTransportException {
+    TMemoryInputTransport transport = new TMemoryInputTransport();
+    SaslNegotiationFrameReader negotiationReader = new SaslNegotiationFrameReader();
+    // No bytes received
+    negotiationReader.read(transport);
+    assertFalse(negotiationReader.isComplete(), "No bytes received");
+    assertFalse(negotiationReader.getHeader().isComplete(), "No bytes received");
+    // Read header
+    ByteBuffer buffer = ByteBuffer.allocate(5);
+    buffer.put(0, NegotiationStatus.OK.getValue());
+    buffer.putInt(1, 10);
+    transport.reset(buffer.array());
+    negotiationReader.read(transport);
+    assertFalse(negotiationReader.isComplete(), "Only header is complete");
+    assertTrue(negotiationReader.getHeader().isComplete(), "Header should be complete");
+    assertEquals(10, negotiationReader.getHeader().payloadSize(), "Payload size should be 10");
+    // Read payload
+    transport.reset(new byte[20]);
+    negotiationReader.read(transport);
+    assertTrue(negotiationReader.isComplete(), "Reader should be complete");
+    assertEquals(10, negotiationReader.getPayload().length, "Payload length should be 10");
+  }
 
-    @Test
-    public void testReadInvalidNegotiationStatus() throws TTransportException {
-        byte[] bytes = new byte[5];
-        // Invalid status byte.
-        bytes[0] = -1;
-        TMemoryInputTransport transport = new TMemoryInputTransport(bytes);
-        SaslNegotiationFrameReader negotiationReader = new SaslNegotiationFrameReader();
-        assertThrows(TSaslNegotiationException.class, () -> {
-            negotiationReader.read(transport);
+  @Test
+  public void testReadInvalidNegotiationStatus() throws TTransportException {
+    byte[] bytes = new byte[5];
+    // Invalid status byte.
+    bytes[0] = -1;
+    TMemoryInputTransport transport = new TMemoryInputTransport(bytes);
+    SaslNegotiationFrameReader negotiationReader = new SaslNegotiationFrameReader();
+    assertThrows(
+        TSaslNegotiationException.class,
+        () -> {
+          negotiationReader.read(transport);
         });
-    }
+  }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/transport/sasl/TestSaslNegotiationFrameWriter.java b/lib/java/src/test/java/org/apache/thrift/transport/sasl/TestSaslNegotiationFrameWriter.java
index 49110e4..6e08a9f 100644
--- a/lib/java/src/test/java/org/apache/thrift/transport/sasl/TestSaslNegotiationFrameWriter.java
+++ b/lib/java/src/test/java/org/apache/thrift/transport/sasl/TestSaslNegotiationFrameWriter.java
@@ -19,39 +19,41 @@
 
 package org.apache.thrift.transport.sasl;
 
-import org.apache.thrift.EncodingUtils;
-import org.junit.jupiter.api.Test;
-
-import java.nio.ByteBuffer;
-
 import static org.apache.thrift.transport.sasl.SaslNegotiationFrameWriter.HEADER_BYTES;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 
+import java.nio.ByteBuffer;
+import org.apache.thrift.EncodingUtils;
+import org.junit.jupiter.api.Test;
+
 public class TestSaslNegotiationFrameWriter {
 
-    private static final byte[] PAYLOAD = {0x11, 0x08, 0x3F, 0x58, 0x73, 0x22, 0x00, (byte) 0xFF};
+  private static final byte[] PAYLOAD = {0x11, 0x08, 0x3F, 0x58, 0x73, 0x22, 0x00, (byte) 0xFF};
 
-    @Test
-    public void testWithHeaderAndPayload() {
-        SaslNegotiationFrameWriter frameWriter = new SaslNegotiationFrameWriter();
-        frameWriter.withHeaderAndPayload(new byte[]{NegotiationStatus.OK.getValue()}, PAYLOAD);
-        byte[] expectedBytes = new byte[HEADER_BYTES + PAYLOAD.length];
-        expectedBytes[0] = NegotiationStatus.OK.getValue();
-        EncodingUtils.encodeBigEndian(PAYLOAD.length, expectedBytes, 1);
-        System.arraycopy(PAYLOAD, 0, expectedBytes, HEADER_BYTES, PAYLOAD.length);
-        assertEquals(ByteBuffer.wrap(expectedBytes), frameWriter.frameBytes);
-    }
+  @Test
+  public void testWithHeaderAndPayload() {
+    SaslNegotiationFrameWriter frameWriter = new SaslNegotiationFrameWriter();
+    frameWriter.withHeaderAndPayload(new byte[] {NegotiationStatus.OK.getValue()}, PAYLOAD);
+    byte[] expectedBytes = new byte[HEADER_BYTES + PAYLOAD.length];
+    expectedBytes[0] = NegotiationStatus.OK.getValue();
+    EncodingUtils.encodeBigEndian(PAYLOAD.length, expectedBytes, 1);
+    System.arraycopy(PAYLOAD, 0, expectedBytes, HEADER_BYTES, PAYLOAD.length);
+    assertEquals(ByteBuffer.wrap(expectedBytes), frameWriter.frameBytes);
+  }
 
-    @Test
-    public void testWithInvalidHeaderLength() {
-        SaslNegotiationFrameWriter frameWriter = new SaslNegotiationFrameWriter();
-        assertThrows(IllegalArgumentException.class, () -> frameWriter.withHeaderAndPayload(new byte[5], 0, 2, PAYLOAD, 0, 1));
-    }
+  @Test
+  public void testWithInvalidHeaderLength() {
+    SaslNegotiationFrameWriter frameWriter = new SaslNegotiationFrameWriter();
+    assertThrows(
+        IllegalArgumentException.class,
+        () -> frameWriter.withHeaderAndPayload(new byte[5], 0, 2, PAYLOAD, 0, 1));
+  }
 
-    @Test
-    public void testWithOnlyPayload() {
-        SaslNegotiationFrameWriter frameWriter = new SaslNegotiationFrameWriter();
-        assertThrows(UnsupportedOperationException.class, () -> frameWriter.withOnlyPayload(new byte[0]));
-    }
+  @Test
+  public void testWithOnlyPayload() {
+    SaslNegotiationFrameWriter frameWriter = new SaslNegotiationFrameWriter();
+    assertThrows(
+        UnsupportedOperationException.class, () -> frameWriter.withOnlyPayload(new byte[0]));
+  }
 }
diff --git a/lib/java/src/test/java/org/apache/thrift/utils/TestStringUtils.java b/lib/java/src/test/java/org/apache/thrift/utils/TestStringUtils.java
index 2728157..6fcea1e 100644
--- a/lib/java/src/test/java/org/apache/thrift/utils/TestStringUtils.java
+++ b/lib/java/src/test/java/org/apache/thrift/utils/TestStringUtils.java
@@ -19,44 +19,42 @@
 
 package org.apache.thrift.utils;
 
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNull;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
 public class TestStringUtils {
 
-    @Test
-    public void testToHexString() {
-        byte[] bytes = {0x00, 0x1A, (byte) 0xEF, (byte) 0xAB, (byte) 0x92};
-        assertEquals("001AEFAB92", StringUtils.bytesToHexString(bytes));
-        assertEquals("EFAB92", StringUtils.bytesToHexString(bytes, 2, 3));
-        assertNull(StringUtils.bytesToHexString(null));
-    }
+  @Test
+  public void testToHexString() {
+    byte[] bytes = {0x00, 0x1A, (byte) 0xEF, (byte) 0xAB, (byte) 0x92};
+    assertEquals("001AEFAB92", StringUtils.bytesToHexString(bytes));
+    assertEquals("EFAB92", StringUtils.bytesToHexString(bytes, 2, 3));
+    assertNull(StringUtils.bytesToHexString(null));
+  }
 
+  private byte[] bytes;
 
-    private byte[] bytes;
+  @BeforeEach
+  public void setUp() throws Exception {
+    bytes = new byte[] {1, 2, 3, 4, 5};
+  }
 
-    @BeforeEach
-    public void setUp() throws Exception {
-        bytes = new byte[]{1, 2, 3, 4, 5};
-    }
+  @Test
+  public void testNegativeLength() {
+    assertThrows(IllegalArgumentException.class, () -> StringUtils.bytesToHexString(bytes, 0, -1));
+  }
 
-    @Test
-    public void testNegativeLength() {
-        assertThrows(IllegalArgumentException.class, () -> StringUtils.bytesToHexString(bytes, 0, -1));
-    }
+  @Test
+  public void testNegativeStartOffset() {
+    assertThrows(IndexOutOfBoundsException.class, () -> StringUtils.bytesToHexString(bytes, -1, 1));
+  }
 
-    @Test
-    public void testNegativeStartOffset() {
-        assertThrows(IndexOutOfBoundsException.class, () -> StringUtils.bytesToHexString(bytes, -1, 1));
-    }
-
-    @Test
-    public void testInvalidRange() {
-        assertThrows(IndexOutOfBoundsException.class, () -> StringUtils.bytesToHexString(bytes, 5, 1));
-    }
-
+  @Test
+  public void testInvalidRange() {
+    assertThrows(IndexOutOfBoundsException.class, () -> StringUtils.bytesToHexString(bytes, 5, 1));
+  }
 }