Replace C style array declaration with Java style

### Motivation

The C style array definitions look weird for a Java developer.

### Changes

All C style array declarations were updated with the Java array declarations and the stylechecker rule was added to enforce the Java way. 

Reviewers: Enrico Olivelli <eolivelli@gmail.com>, Sijie Guo <None>

This closes #2139 from vzhikserg/replace-c-style-array-declaration-with-java-style
diff --git a/bookkeeper-benchmark/src/main/java/org/apache/bookkeeper/benchmark/BenchThroughputLatency.java b/bookkeeper-benchmark/src/main/java/org/apache/bookkeeper/benchmark/BenchThroughputLatency.java
index 08dc002..e7f7f8a 100644
--- a/bookkeeper-benchmark/src/main/java/org/apache/bookkeeper/benchmark/BenchThroughputLatency.java
+++ b/bookkeeper-benchmark/src/main/java/org/apache/bookkeeper/benchmark/BenchThroughputLatency.java
@@ -64,13 +64,13 @@
     static final Logger LOG = LoggerFactory.getLogger(BenchThroughputLatency.class);
 
     BookKeeper bk;
-    LedgerHandle lh[];
+    LedgerHandle[] lh;
     AtomicLong counter;
 
     Semaphore sem;
     int numberOfLedgers = 1;
     final int sendLimit;
-    final long latencies[];
+    final long[] latencies;
 
     static class Context {
         long localStartTime;
@@ -115,9 +115,9 @@
     }
 
     long previous = 0;
-    byte bytes[];
+    byte[] bytes;
 
-    void setEntryData(byte data[]) {
+    void setEntryData(byte[] data) {
         bytes = data;
     }
 
@@ -310,7 +310,7 @@
         // Do a warmup run
         Thread thread;
 
-        byte data[] = new byte[entrysize];
+        byte[] data = new byte[entrysize];
         Arrays.fill(data, (byte) 'x');
 
         ClientConfiguration conf = new ClientConfiguration();
diff --git a/bookkeeper-benchmark/src/test/java/org/apache/bookkeeper/benchmark/TestBenchmark.java b/bookkeeper-benchmark/src/test/java/org/apache/bookkeeper/benchmark/TestBenchmark.java
index 8678017..bee5f90 100644
--- a/bookkeeper-benchmark/src/test/java/org/apache/bookkeeper/benchmark/TestBenchmark.java
+++ b/bookkeeper-benchmark/src/test/java/org/apache/bookkeeper/benchmark/TestBenchmark.java
@@ -97,7 +97,7 @@
         t.start();
 
         Thread.sleep(10000);
-        byte data[] = new byte[1024];
+        byte[] data = new byte[1024];
         Arrays.fill(data, (byte) 'x');
 
         long lastLedgerId = 0;
diff --git a/bookkeeper-common/src/main/java/org/apache/bookkeeper/common/util/OrderedExecutor.java b/bookkeeper-common/src/main/java/org/apache/bookkeeper/common/util/OrderedExecutor.java
index a645d64..4330340 100644
--- a/bookkeeper-common/src/main/java/org/apache/bookkeeper/common/util/OrderedExecutor.java
+++ b/bookkeeper-common/src/main/java/org/apache/bookkeeper/common/util/OrderedExecutor.java
@@ -75,8 +75,8 @@
     protected static final long WARN_TIME_MICRO_SEC_DEFAULT = TimeUnit.SECONDS.toMicros(1);
 
     final String name;
-    final ExecutorService threads[];
-    final long threadIds[];
+    final ExecutorService[] threads;
+    final long[] threadIds;
     final Random rand = new Random();
     final OpStatsLogger taskExecutionStats;
     final OpStatsLogger taskPendingStats;
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/BookieShell.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/BookieShell.java
index 9849052..5149898 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/BookieShell.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/BookieShell.java
@@ -2026,7 +2026,7 @@
         }
     }
 
-    public static void main(String argv[]) throws Exception {
+    public static void main(String[] argv) throws Exception {
         BookieShell shell = new BookieShell();
 
         // handle some common options for multiple cmds
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Cookie.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Cookie.java
index 1ddc5ab..5e8cb64 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Cookie.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Cookie.java
@@ -363,7 +363,7 @@
      *         if the 'bookieHost' was created using a hostname
      */
     public boolean isBookieHostCreatedFromIp() throws IOException {
-        String parts[] = bookieHost.split(":");
+        String[] parts = bookieHost.split(":");
         if (parts.length != 2) {
             throw new IOException(bookieHost + " does not have the form host:port");
         }
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/GarbageCollectorThread.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/GarbageCollectorThread.java
index 811fbe6..94a02a2 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/GarbageCollectorThread.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/GarbageCollectorThread.java
@@ -436,7 +436,7 @@
         logsToCompact.sort(Comparator.comparing(EntryLogMetadata::getUsage));
 
         final int numBuckets = 10;
-        int entryLogUsageBuckets[] = new int[numBuckets];
+        int[] entryLogUsageBuckets = new int[numBuckets];
 
         for (EntryLogMetadata meta : logsToCompact) {
             int bucketIndex = Math.min(
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/IndexPersistenceMgr.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/IndexPersistenceMgr.java
index 898e146..c98bc6e 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/IndexPersistenceMgr.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/IndexPersistenceMgr.java
@@ -177,7 +177,7 @@
      * the FileInfo from cache, that FileInfo is then evicted and closed before we
      * could even increase the reference counter.
      */
-    CachedFileInfo getFileInfo(final Long ledger, final byte masterKey[]) throws IOException {
+    CachedFileInfo getFileInfo(final Long ledger, final byte[] masterKey) throws IOException {
         try {
             CachedFileInfo fi;
             persistenceMgrStats.getPendingGetFileInfoCounter().inc();
@@ -596,7 +596,7 @@
         if (count == 0) {
             return;
         }
-        ByteBuffer buffs[] = new ByteBuffer[count];
+        ByteBuffer[] buffs = new ByteBuffer[count];
         for (int j = 0; j < count; j++) {
             buffs[j] = entries.get(start + j).getPageToWrite();
             if (entries.get(start + j).getLedger() != ledger) {
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Journal.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Journal.java
index 06fc5e2..4ee540c 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Journal.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Journal.java
@@ -103,7 +103,7 @@
      * @return list of filtered ids
      */
     static List<Long> listJournalIds(File journalDir, JournalIdFilter filter) {
-        File logFiles[] = journalDir.listFiles();
+        File[] logFiles = journalDir.listFiles();
         if (logFiles == null || logFiles.length == 0) {
             return Collections.emptyList();
         }
@@ -190,7 +190,7 @@
         }
 
         void rollLog(LastLogMark lastMark) throws NoWritableLedgerDirException {
-            byte buff[] = new byte[16];
+            byte[] buff = new byte[16];
             ByteBuffer bb = ByteBuffer.wrap(buff);
             // we should record <logId, logPosition> marked in markLog
             // which is safe since records before lastMark have been
@@ -229,7 +229,7 @@
          * and then max log position in max journal log.
          */
         void readLog() {
-            byte buff[] = new byte[16];
+            byte[] buff = new byte[16];
             ByteBuffer bb = ByteBuffer.wrap(buff);
             LogMark mark = new LogMark();
             for (File dir: ledgerDirsManager.getAllLedgerDirs()) {
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerDescriptor.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerDescriptor.java
index abb7b34..1acf832 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerDescriptor.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerDescriptor.java
@@ -61,7 +61,7 @@
         return bb;
     }
 
-    abstract void checkAccess(byte masterKey[]) throws BookieException, IOException;
+    abstract void checkAccess(byte[] masterKey) throws BookieException, IOException;
 
     abstract long getLedgerId();
 
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerDescriptorImpl.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerDescriptorImpl.java
index da884b5..34c11bc 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerDescriptorImpl.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerDescriptorImpl.java
@@ -54,7 +54,7 @@
     }
 
     @Override
-    void checkAccess(byte masterKey[]) throws BookieException, IOException {
+    void checkAccess(byte[] masterKey) throws BookieException, IOException {
         if (!Arrays.equals(this.masterKey, masterKey)) {
             LOG.error("[{}] Requested master key {} does not match the cached master key {}",
                     this.ledgerId, Arrays.toString(masterKey), Arrays.toString(this.masterKey));
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerDescriptorReadOnlyImpl.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerDescriptorReadOnlyImpl.java
index 40bf988..2f6655b 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerDescriptorReadOnlyImpl.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerDescriptorReadOnlyImpl.java
@@ -46,7 +46,7 @@
     }
 
     @Override
-    void checkAccess(byte masterKey[]) throws BookieException, IOException {
+    void checkAccess(byte[] masterKey) throws BookieException, IOException {
         assert false;
         throw new IOException("Invalid action on read only descriptor");
     }
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/storage/ldb/ArrayGroupSort.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/storage/ldb/ArrayGroupSort.java
index 719b33d..16f7557 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/storage/ldb/ArrayGroupSort.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/storage/ldb/ArrayGroupSort.java
@@ -52,7 +52,7 @@
 
     ////// Private
 
-    private void quickSort(long array[], int low, int high) {
+    private void quickSort(long[] array, int low, int high) {
         if (low < high) {
             int pivotIdx = partition(array, low, high);
             quickSort(array, low, pivotIdx - groupSize);
@@ -60,7 +60,7 @@
         }
     }
 
-    private int partition(long array[], int low, int high) {
+    private int partition(long[] array, int low, int high) {
         int pivotIdx = high;
         int i = low;
 
@@ -75,7 +75,7 @@
         return i;
     }
 
-    private void swap(long array[], int a, int b) {
+    private void swap(long[] array, int a, int b) {
         long tmp;
         for (int k = 0; k < groupSize; k++) {
             tmp = array[a + k];
@@ -84,7 +84,7 @@
         }
     }
 
-    private boolean isLess(long array[], int idx1, int idx2) {
+    private boolean isLess(long[] array, int idx1, int idx2) {
         for (int i = 0; i < keySize; i++) {
             long k1 = array[idx1 + i];
             long k2 = array[idx2 + i];
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookKeeper.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookKeeper.java
index 94591af..52dde9c 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookKeeper.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookKeeper.java
@@ -846,7 +846,7 @@
      * @throws InterruptedException
      * @throws BKException
      */
-    public LedgerHandle createLedger(DigestType digestType, byte passwd[])
+    public LedgerHandle createLedger(DigestType digestType, byte[] passwd)
             throws BKException, InterruptedException {
         return createLedger(3, 2, digestType, passwd);
     }
@@ -865,7 +865,7 @@
      * @throws BKException
      */
     public LedgerHandle createLedger(int ensSize, int qSize,
-                                     DigestType digestType, byte passwd[])
+                                     DigestType digestType, byte[] passwd)
             throws InterruptedException, BKException {
         return createLedger(ensSize, qSize, qSize, digestType, passwd, Collections.emptyMap());
     }
@@ -885,7 +885,7 @@
      * @throws BKException
      */
     public LedgerHandle createLedger(int ensSize, int writeQuorumSize, int ackQuorumSize,
-            DigestType digestType, byte passwd[])
+            DigestType digestType, byte[] passwd)
             throws InterruptedException, BKException {
         return createLedger(ensSize, writeQuorumSize, ackQuorumSize, digestType, passwd, Collections.emptyMap());
     }
@@ -904,7 +904,7 @@
      * @throws BKException
      */
     public LedgerHandle createLedger(int ensSize, int writeQuorumSize, int ackQuorumSize,
-                                     DigestType digestType, byte passwd[], final Map<String, byte[]> customMetadata)
+                                     DigestType digestType, byte[] passwd, final Map<String, byte[]> customMetadata)
             throws InterruptedException, BKException {
         CompletableFuture<LedgerHandle> future = new CompletableFuture<>();
         SyncCreateCallback result = new SyncCreateCallback(future);
@@ -939,7 +939,7 @@
      * @throws BKException
      */
     public LedgerHandle createLedgerAdv(int ensSize, int writeQuorumSize, int ackQuorumSize,
-                                        DigestType digestType, byte passwd[])
+                                        DigestType digestType, byte[] passwd)
             throws InterruptedException, BKException {
         return createLedgerAdv(ensSize, writeQuorumSize, ackQuorumSize,
                                digestType, passwd, Collections.emptyMap());
@@ -961,7 +961,7 @@
      * @throws BKException
      */
     public LedgerHandle createLedgerAdv(int ensSize, int writeQuorumSize, int ackQuorumSize,
-                                        DigestType digestType, byte passwd[], final Map<String, byte[]> customMetadata)
+                                        DigestType digestType, byte[] passwd, final Map<String, byte[]> customMetadata)
             throws InterruptedException, BKException {
         CompletableFuture<LedgerHandleAdv> future = new CompletableFuture<>();
         SyncCreateAdvCallback result = new SyncCreateAdvCallback(future);
@@ -1053,7 +1053,7 @@
                                         int writeQuorumSize,
                                         int ackQuorumSize,
                                         DigestType digestType,
-                                        byte passwd[],
+                                        byte[] passwd,
                                         final Map<String, byte[]> customMetadata)
             throws InterruptedException, BKException {
         CompletableFuture<LedgerHandleAdv> future = new CompletableFuture<>();
@@ -1166,7 +1166,7 @@
      * @param ctx
      *          optional control object
      */
-    public void asyncOpenLedger(final long lId, final DigestType digestType, final byte passwd[],
+    public void asyncOpenLedger(final long lId, final DigestType digestType, final byte[] passwd,
                                 final OpenCallback cb, final Object ctx) {
         closeLock.readLock().lock();
         try {
@@ -1211,7 +1211,7 @@
      * @param ctx
      *          optional control object
      */
-    public void asyncOpenLedgerNoRecovery(final long lId, final DigestType digestType, final byte passwd[],
+    public void asyncOpenLedgerNoRecovery(final long lId, final DigestType digestType, final byte[] passwd,
                                           final OpenCallback cb, final Object ctx) {
         closeLock.readLock().lock();
         try {
@@ -1241,7 +1241,7 @@
      * @throws InterruptedException
      * @throws BKException
      */
-    public LedgerHandle openLedger(long lId, DigestType digestType, byte passwd[])
+    public LedgerHandle openLedger(long lId, DigestType digestType, byte[] passwd)
             throws BKException, InterruptedException {
         CompletableFuture<LedgerHandle> future = new CompletableFuture<>();
         SyncOpenCallback result = new SyncOpenCallback(future);
@@ -1268,7 +1268,7 @@
      * @throws InterruptedException
      * @throws BKException
      */
-    public LedgerHandle openLedgerNoRecovery(long lId, DigestType digestType, byte passwd[])
+    public LedgerHandle openLedgerNoRecovery(long lId, DigestType digestType, byte[] passwd)
             throws BKException, InterruptedException {
         CompletableFuture<LedgerHandle> future = new CompletableFuture<>();
         SyncOpenCallback result = new SyncOpenCallback(future);
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/FlatLedgerManager.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/FlatLedgerManager.java
index 7c89326..17612d7 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/FlatLedgerManager.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/FlatLedgerManager.java
@@ -73,7 +73,7 @@
     public long getLedgerId(String nodeName) throws IOException {
         long ledgerId;
         try {
-            String parts[] = nodeName.split(ledgerPrefix);
+            String[] parts = nodeName.split(ledgerPrefix);
             ledgerId = Long.parseLong(parts[parts.length - 1]);
         } catch (NumberFormatException e) {
             throw new IOException(e);
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/LedgerLayout.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/LedgerLayout.java
index eb5b705..09f3a70 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/LedgerLayout.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/LedgerLayout.java
@@ -100,7 +100,7 @@
             log.debug("Parsing Layout: {}", layout);
         }
 
-        String lines[] = layout.split(lSplitter);
+        String[] lines = layout.split(lSplitter);
 
         try {
             int layoutFormatVersion = Integer.parseInt(lines[0]);
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/LedgerMetadataSerDe.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/LedgerMetadataSerDe.java
index 2ee441a..4004844 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/LedgerMetadataSerDe.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/LedgerMetadataSerDe.java
@@ -460,7 +460,7 @@
 
             String line = reader.readLine();
             while (line != null) {
-                String parts[] = line.split(FIELD_SPLITTER);
+                String[] parts = line.split(FIELD_SPLITTER);
 
                 if (parts[1].equals(V1_CLOSED_TAG)) {
                     Long l = Long.parseLong(parts[0]);
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/ZkLedgerIdGenerator.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/ZkLedgerIdGenerator.java
index c5d5346..842f1a0 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/ZkLedgerIdGenerator.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/ZkLedgerIdGenerator.java
@@ -126,7 +126,7 @@
     private static long getLedgerIdFromGenPath(String nodeName, String ledgerPrefix) throws IOException {
         long ledgerId;
         try {
-            String parts[] = nodeName.split(ledgerPrefix);
+            String[] parts = nodeName.split(ledgerPrefix);
             ledgerId = Long.parseLong(parts[parts.length - 1]);
         } catch (NumberFormatException e) {
             throw new IOException(e);
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/ZkLedgerUnderreplicationManager.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/ZkLedgerUnderreplicationManager.java
index 7d25e82..9dc441b 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/ZkLedgerUnderreplicationManager.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/ZkLedgerUnderreplicationManager.java
@@ -393,9 +393,9 @@
 
                 try {
                     // clean up the hierarchy
-                    String parts[] = getUrLedgerZnode(ledgerId).split("/");
+                    String[] parts = getUrLedgerZnode(ledgerId).split("/");
                     for (int i = 1; i <= 4; i++) {
-                        String p[] = Arrays.copyOf(parts, parts.length - i);
+                        String[] p = Arrays.copyOf(parts, parts.length - i);
                         String path = Joiner.on("/").join(p);
                         Stat s = zkc.exists(path, null);
                         if (s != null) {
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/net/DNS.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/net/DNS.java
index 308728e..854145c 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/net/DNS.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/net/DNS.java
@@ -194,7 +194,7 @@
             allAddrs.removeAll(getSubinterfaceInetAddrs(netIf));
         }
 
-        String ips[] = new String[allAddrs.size()];
+        String[] ips = new String[allAddrs.size()];
         int i = 0;
         for (InetAddress addr : allAddrs) {
             ips[i++] = addr.getHostAddress();
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieClientImpl.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieClientImpl.java
index 9cd52e1..5b708e5 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieClientImpl.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieClientImpl.java
@@ -633,7 +633,7 @@
             }
         };
         Counter counter = new Counter();
-        byte hello[] = "hello".getBytes(UTF_8);
+        byte[] hello = "hello".getBytes(UTF_8);
         long ledger = Long.parseLong(args[2]);
         EventLoopGroup eventLoopGroup = new NioEventLoopGroup(1);
         OrderedExecutor executor = OrderedExecutor.newBuilder()
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/sasl/SaslServerState.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/sasl/SaslServerState.java
index 2291526..c297d0d 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/sasl/SaslServerState.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/sasl/SaslServerState.java
@@ -150,7 +150,7 @@
                 throws IOException {
             String configurationEntry = serverConfiguration.getString(SaslConstants.JAAS_BOOKIE_SECTION_NAME,
                 SaslConstants.JAAS_DEFAULT_BOOKIE_SECTION_NAME);
-            AppConfigurationEntry configurationEntries[] = configuration.getAppConfigurationEntry(configurationEntry);
+            AppConfigurationEntry[] configurationEntries = configuration.getAppConfigurationEntry(configurationEntry);
 
             if (configurationEntries == null) {
                 String errorMessage = "Could not find a '" + configurationEntry
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/server/http/service/DecommissionService.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/server/http/service/DecommissionService.java
index 0091ce9..41f18cb 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/server/http/service/DecommissionService.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/server/http/service/DecommissionService.java
@@ -74,7 +74,7 @@
             HashMap<String, String> configMap = JsonUtil.fromJson(requestBody, HashMap.class);
             if (configMap != null && configMap.containsKey("bookie_src")) {
                 try {
-                    String bookieSrcString[] = configMap.get("bookie_src").split(":");
+                    String[] bookieSrcString = configMap.get("bookie_src").split(":");
                     BookieSocketAddress bookieSrc = new BookieSocketAddress(
                       bookieSrcString[0], Integer.parseInt(bookieSrcString[1]));
 
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/server/http/service/ListBookieInfoService.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/server/http/service/ListBookieInfoService.java
index 14439be..b543cec 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/server/http/service/ListBookieInfoService.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/server/http/service/ListBookieInfoService.java
@@ -64,7 +64,7 @@
     }
 
     String getReadable(long val) {
-        String unit[] = {"", "KB", "MB", "GB", "TB" };
+        String[] unit = {"", "KB", "MB", "GB", "TB" };
         int cnt = 0;
         double d = val;
         while (d >= 1000 && cnt < unit.length - 1) {
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/server/http/service/RecoveryBookieService.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/server/http/service/RecoveryBookieService.java
index 3a08baf..4a0a0a3 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/server/http/service/RecoveryBookieService.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/server/http/service/RecoveryBookieService.java
@@ -105,7 +105,7 @@
 
         if (HttpServer.Method.PUT == request.getMethod() && !requestJsonBody.bookieSrc.isEmpty()) {
             runFunctionWithRegistrationManager(conf, rm -> {
-                String bookieSrcString[] = requestJsonBody.bookieSrc.get(0).split(":");
+                String[] bookieSrcString = requestJsonBody.bookieSrc.get(0).split(":");
                 BookieSocketAddress bookieSrc = new BookieSocketAddress(
                     bookieSrcString[0], Integer.parseInt(bookieSrcString[1]));
                 boolean deleteCookie = requestJsonBody.deleteCookie;
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/tools/cli/commands/bookies/InfoCommand.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/tools/cli/commands/bookies/InfoCommand.java
index 2e49d39..4abb2c4 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/tools/cli/commands/bookies/InfoCommand.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/tools/cli/commands/bookies/InfoCommand.java
@@ -52,7 +52,7 @@
     }
 
     String getReadable(long val) {
-        String unit[] = {"", "KB", "MB", "GB", "TB"};
+        String[] unit = {"", "KB", "MB", "GB", "TB"};
         int cnt = 0;
         double d = val;
         while (d >= 1000 && cnt < unit.length - 1) {
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/tools/cli/commands/bookies/RecoverCommand.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/tools/cli/commands/bookies/RecoverCommand.java
index ba4acf5..c1a1694 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/tools/cli/commands/bookies/RecoverCommand.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/tools/cli/commands/bookies/RecoverCommand.java
@@ -125,7 +125,7 @@
         final String[] bookieStrs = flags.bookieAddress.split(",");
         final Set<BookieSocketAddress> bookieAddrs = new HashSet<>();
         for (String bookieStr : bookieStrs) {
-            final String bookieStrParts[] = bookieStr.split(":");
+            final String[] bookieStrParts = bookieStr.split(":");
             if (bookieStrParts.length != 2) {
                 System.err.println("BookieSrcs has invalid bookie address format (host:port expected) : "
                                    + bookieStr);
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/AvailabilityOfEntriesOfLedger.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/AvailabilityOfEntriesOfLedger.java
index 8a3047a..b4987c8 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/AvailabilityOfEntriesOfLedger.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/AvailabilityOfEntriesOfLedger.java
@@ -48,7 +48,7 @@
     public static final long INVALID_ENTRYID = -1;
     public static final AvailabilityOfEntriesOfLedger EMPTY_AVAILABILITYOFENTRIESOFLEDGER;
     static {
-        long tmpArray[] = {};
+        long[] tmpArray = {};
         EMPTY_AVAILABILITYOFENTRIESOFLEDGER = new AvailabilityOfEntriesOfLedger(Arrays.stream(tmpArray).iterator());
     }
 
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/LocalBookKeeper.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/LocalBookKeeper.java
index d6efeac..b078dd4 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/LocalBookKeeper.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/LocalBookKeeper.java
@@ -95,9 +95,9 @@
     private static String defaultLocalBookiesConfigDir = "/tmp/localbookies-config";
 
     //BookKeeper variables
-    File journalDirs[];
-    BookieServer bs[];
-    ServerConfiguration bsConfs[];
+    File[] journalDirs;
+    BookieServer[] bs;
+    ServerConfiguration[] bsConfs;
     Integer initialPort = 5000;
     private ServerConfiguration baseConf;
 
@@ -497,7 +497,7 @@
 
     public static boolean waitForServerUp(String hp, long timeout) {
         long start = System.currentTimeMillis();
-        String split[] = hp.split(":");
+        String[] split = hp.split(":");
         String host = split[0];
         int port = Integer.parseInt(split[1]);
         while (true) {
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/ZeroBuffer.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/ZeroBuffer.java
index 8778d6e..73c786c 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/ZeroBuffer.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/ZeroBuffer.java
@@ -29,7 +29,7 @@
  */
 
 public class ZeroBuffer {
-    private static final byte zeroBytes[] = new byte[64 * 1024];
+    private static final byte[] zeroBytes = new byte[64 * 1024];
 
     /**
      * Fill zeros into given buffer.
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/LedgerStorageCheckpointTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/LedgerStorageCheckpointTest.java
index 89a5063..1ea661b 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/LedgerStorageCheckpointTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/LedgerStorageCheckpointTest.java
@@ -168,7 +168,7 @@
     }
 
     private LogMark readLastMarkFile(File lastMarkFile) throws IOException {
-        byte buff[] = new byte[16];
+        byte[] buff = new byte[16];
         ByteBuffer bb = ByteBuffer.wrap(buff);
         LogMark rolledLogMark = new LogMark();
         FileInputStream fis = new FileInputStream(lastMarkFile);
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookKeeperTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookKeeperTest.java
index 3c842e6..a2cd7a0 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookKeeperTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookKeeperTest.java
@@ -849,7 +849,7 @@
             }
 
             @Override
-            public void create(final String path, byte data[], List<ACL> acl, CreateMode createMode, StringCallback cb,
+            public void create(final String path, byte[] data, List<ACL> acl, CreateMode createMode, StringCallback cb,
                     Object ctx) {
                 StringCallback injectedCallback = new StringCallback() {
                     @Override
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/MockBookKeeper.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/MockBookKeeper.java
index 81212d1..d26b226 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/MockBookKeeper.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/MockBookKeeper.java
@@ -76,12 +76,12 @@
     }
 
     @Override
-    public LedgerHandle createLedger(DigestType digestType, byte passwd[]) throws BKException {
+    public LedgerHandle createLedger(DigestType digestType, byte[] passwd) throws BKException {
         return createLedger(3, 2, digestType, passwd);
     }
 
     @Override
-    public LedgerHandle createLedger(int ensSize, int qSize, DigestType digestType, byte passwd[]) throws BKException {
+    public LedgerHandle createLedger(int ensSize, int qSize, DigestType digestType, byte[] passwd) throws BKException {
         return createLedger(ensSize, qSize, qSize, digestType, passwd);
     }
 
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestFencing.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestFencing.java
index aa2dd6b..096273e 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestFencing.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestFencing.java
@@ -182,7 +182,7 @@
 
 
         CyclicBarrier barrier = new CyclicBarrier(numRecovery + 1);
-        LedgerOpenThread threads[] = new LedgerOpenThread[numRecovery];
+        LedgerOpenThread[] threads = new LedgerOpenThread[numRecovery];
         for (int i = 0; i < numRecovery; i++) {
             threads[i] = new LedgerOpenThread(i, digestType, writelh.getId(), barrier);
             threads[i].start();
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestPendingReadLacOp.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestPendingReadLacOp.java
index c9ca508..34d69e5 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestPendingReadLacOp.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestPendingReadLacOp.java
@@ -36,8 +36,8 @@
  */
 public class TestPendingReadLacOp extends BookKeeperClusterTestCase {
     private static final Logger LOG = LoggerFactory.getLogger(TestPendingReadLacOp.class);
-    byte pwd[] = "asdf".getBytes();
-    byte data[] = "foo".getBytes();
+    byte[] pwd = "asdf".getBytes();
+    byte[] data = "foo".getBytes();
 
     public TestPendingReadLacOp() {
         super(3);
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestReadLastEntry.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestReadLastEntry.java
index 35c0f3b..c314676 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestReadLastEntry.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestReadLastEntry.java
@@ -87,7 +87,7 @@
     @Test
     public void testTryReadLastEntryAsync() throws Exception {
         final LedgerHandle lh = bkc.createLedger(1, 1, 1, digestType, "".getBytes());
-        byte data[] = new byte[1024];
+        byte[] data = new byte[1024];
         Arrays.fill(data, (byte) 'x');
         for (int j = 0; j < 100; j++) {
             data[1023] = Integer.valueOf(j).byteValue();
@@ -122,7 +122,7 @@
     @Test
     public void testTryReadLastEntrySync() throws Exception {
         final LedgerHandle lh = bkc.createLedger(1, 1, 1, digestType, "".getBytes());
-        byte data[] = new byte[1024];
+        byte[] data = new byte[1024];
         Arrays.fill(data, (byte) 'x');
         for (int j = 0; j < 100; j++) {
             data[1023] = Integer.valueOf(j).byteValue();
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/LedgerManagerIteratorTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/LedgerManagerIteratorTest.java
index 1593e4b..60c7d0b 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/LedgerManagerIteratorTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/LedgerManagerIteratorTest.java
@@ -268,7 +268,7 @@
             createLedger(lm, id);
         }
 
-        String paths[] = {
+        String[] paths = {
                 "/ledgers/633/4994/3938/4948", // Empty L4 path, must be skipped
 
         };
@@ -315,7 +315,7 @@
             createLedger(lm, id);
         }
 
-        String paths[] = {
+        String[] paths = {
                 "/ledgers/000/0000/0000", // top level, W-4292762
                 "/ledgers/234/5678/9999", // shares two path segments with the first one, comes after
                 "/ledgers/339/0000/0000", // shares one path segment with the second one, comes first
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieClientTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieClientTest.java
index 322ca6d..2562009 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieClientTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieClientTest.java
@@ -110,7 +110,7 @@
     }
 
     private static void recursiveDelete(File dir) {
-        File children[] = dir.listFiles();
+        File[] children = dir.listFiles();
         if (children != null) {
             for (File child : children) {
                 recursiveDelete(child);
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieReadWriteTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieReadWriteTest.java
index afcb4b4..7e4f442 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieReadWriteTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieReadWriteTest.java
@@ -286,7 +286,7 @@
             // bkc.initMessageDigest("SHA1");
             ledgerId = lh.getId();
             LOG.info("Ledger ID: " + lh.getId());
-            byte bytes[] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i'};
+            byte[] bytes = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i'};
 
             lh.asyncAddEntry(bytes, 0, bytes.length, this, sync);
             lh.asyncAddEntry(bytes, 0, 4, this, sync); // abcd
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieZKExpireTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieZKExpireTest.java
index 21ac7e5..37160b5 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieZKExpireTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieZKExpireTest.java
@@ -53,7 +53,7 @@
 
             HashSet<Thread> threadset = new HashSet<Thread>();
             int threadCount = Thread.activeCount();
-            Thread threads[] = new Thread[threadCount * 2];
+            Thread[] threads = new Thread[threadCount * 2];
             threadCount = Thread.enumerate(threads);
             for (int i = 0; i < threadCount; i++) {
                 if (threads[i].getName().indexOf("SendThread") != -1) {
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ConcurrentLedgerTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ConcurrentLedgerTest.java
index d611e9d..282c7a5 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ConcurrentLedgerTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ConcurrentLedgerTest.java
@@ -109,7 +109,7 @@
         recursiveDelete(ledgerDir);
     }
 
-    byte zeros[] = new byte[16];
+    byte[] zeros = new byte[16];
 
     int iterations = 51;
     {
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/OpStatTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/OpStatTest.java
index a950709..256616c 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/OpStatTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/OpStatTest.java
@@ -70,7 +70,7 @@
         f.accept(logger.getSuccessCount(), logger.getSuccessAverage());
     }
 
-    private void validateOpStat(TestStatsProvider stats, String paths[], BiConsumer<Long, Double> f) {
+    private void validateOpStat(TestStatsProvider stats, String[] paths, BiConsumer<Long, Double> f) {
         for (String path : paths) {
             validateOpStat(stats, path, f);
         }
@@ -83,7 +83,7 @@
         f.accept(counter.get(), counter.getMax());
     }
 
-    private void validateNonMonotonicCounterGauges(TestStatsProvider stats, String paths[], BiConsumer<Long, Long> f) {
+    private void validateNonMonotonicCounterGauges(TestStatsProvider stats, String[] paths, BiConsumer<Long, Long> f) {
         for (String path : paths) {
             validateNonMonotonicCounterGauge(stats, path, f);
         }
diff --git a/bookkeeper-stats-providers/codahale-metrics-provider/src/test/java/org/apache/bookkeeper/stats/codahale/FastTimerTest.java b/bookkeeper-stats-providers/codahale-metrics-provider/src/test/java/org/apache/bookkeeper/stats/codahale/FastTimerTest.java
index b3a744f..84c61e5 100644
--- a/bookkeeper-stats-providers/codahale-metrics-provider/src/test/java/org/apache/bookkeeper/stats/codahale/FastTimerTest.java
+++ b/bookkeeper-stats-providers/codahale-metrics-provider/src/test/java/org/apache/bookkeeper/stats/codahale/FastTimerTest.java
@@ -100,9 +100,9 @@
     public void testTimer() {
         // load definitions for testing the timer
         // following 3 array lengths must match: each element defines values for one phase
-        final int timeRange[] = new int[] {   90,  190,   50,   90, 100, 100 };
-        final int timeBase[] = new int[]  {   10,   10,   50,   10,   0,   0 };
-        final int rate[] = new int[]      { 1000, 1000, 1000, 1000,   0,   1 };
+        final int[] timeRange = new int[] {   90,  190,   50,   90, 100, 100 };
+        final int[] timeBase = new int[]  {   10,   10,   50,   10,   0,   0 };
+        final int[] rate = new int[]      { 1000, 1000, 1000, 1000,   0,   1 };
 
         final int window = 5; // use a 5 second window for testing
         FastTimer t = getMockedFastTimer(window, FastTimer.Buckets.fine);
diff --git a/buildtools/src/main/resources/bookkeeper/checkstyle.xml b/buildtools/src/main/resources/bookkeeper/checkstyle.xml
index 452f640..42b499d 100644
--- a/buildtools/src/main/resources/bookkeeper/checkstyle.xml
+++ b/buildtools/src/main/resources/bookkeeper/checkstyle.xml
@@ -437,5 +437,8 @@
         <!-- Required to support SuppressWarningsComment -->
         <module name="FileContentsHolder"/>
 
+        <!-- Enforces Java style array type definition -->
+        <module name="ArrayTypeStyleCheck"/>
+
     </module>
 </module>
diff --git a/circe-checksum/src/main/java/com/scurrilous/circe/crc/Sse42Crc32C.java b/circe-checksum/src/main/java/com/scurrilous/circe/crc/Sse42Crc32C.java
index 28a989d..22379a0 100644
--- a/circe-checksum/src/main/java/com/scurrilous/circe/crc/Sse42Crc32C.java
+++ b/circe-checksum/src/main/java/com/scurrilous/circe/crc/Sse42Crc32C.java
@@ -54,7 +54,7 @@
         config = 0;
     }
 
-    public Sse42Crc32C(int chunkWords[]) {
+    public Sse42Crc32C(int[] chunkWords) {
         if (chunkWords.length == 0) {
             config = 0;
         } else {
diff --git a/stream/distributedlog/core/src/main/java/org/apache/distributedlog/impl/federated/FederatedZKLogMetadataStore.java b/stream/distributedlog/core/src/main/java/org/apache/distributedlog/impl/federated/FederatedZKLogMetadataStore.java
index 8d45866..280d8ea 100644
--- a/stream/distributedlog/core/src/main/java/org/apache/distributedlog/impl/federated/FederatedZKLogMetadataStore.java
+++ b/stream/distributedlog/core/src/main/java/org/apache/distributedlog/impl/federated/FederatedZKLogMetadataStore.java
@@ -504,7 +504,7 @@
     }
 
     private String getNamespaceFromZkPath(String zkPath) throws UnexpectedException {
-        String parts[] = zkPath.split(SUB_NAMESPACE_PREFIX);
+        String[] parts = zkPath.split(SUB_NAMESPACE_PREFIX);
         if (parts.length <= 0) {
             throw new UnexpectedException("Invalid namespace @ " + zkPath);
         }
diff --git a/stream/distributedlog/core/src/main/java/org/apache/distributedlog/tools/Tool.java b/stream/distributedlog/core/src/main/java/org/apache/distributedlog/tools/Tool.java
index 31395ca..cfcc8a1 100644
--- a/stream/distributedlog/core/src/main/java/org/apache/distributedlog/tools/Tool.java
+++ b/stream/distributedlog/core/src/main/java/org/apache/distributedlog/tools/Tool.java
@@ -223,7 +223,7 @@
         return cmd.runCmd(newArgs);
     }
 
-    public static void main(String args[]) {
+    public static void main(String[] args) {
         int rc = -1;
         if (args.length <= 0) {
             System.err.println("No tool to run.");