You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tajo.apache.org by ji...@apache.org on 2016/01/14 18:50:26 UTC

[2/2] tajo git commit: TAJO-1971: Replace 'for' loop with 'foreach'.

TAJO-1971: Replace 'for' loop with 'foreach'.

Closes #890

Signed-off-by: Jihoon Son <ji...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/tajo/repo
Commit: http://git-wip-us.apache.org/repos/asf/tajo/commit/0d434cdb
Tree: http://git-wip-us.apache.org/repos/asf/tajo/tree/0d434cdb
Diff: http://git-wip-us.apache.org/repos/asf/tajo/diff/0d434cdb

Branch: refs/heads/master
Commit: 0d434cdba4eb08bd1a0f394866b40345bec880b5
Parents: 869dd23
Author: Dongkyu Hwangbo <hw...@gmail.com>
Authored: Thu Jan 14 09:47:45 2016 -0800
Committer: Jihoon Son <ji...@apache.org>
Committed: Thu Jan 14 09:50:00 2016 -0800

----------------------------------------------------------------------
 CHANGES                                         |  2 ++
 .../store/HiveCatalogStoreClientPool.java       |  3 +-
 .../catalog/store/TestHiveCatalogStore.java     | 10 +++---
 .../InfoSchemaMetadataDictionary.java           |  3 +-
 .../apache/tajo/catalog/CatalogTestingUtil.java |  6 ++--
 .../java/org/apache/tajo/util/BytesUtils.java   |  4 +--
 .../java/org/apache/tajo/util/ProtoUtil.java    |  4 +--
 .../apache/tajo/datum/TestIntervalDatum.java    | 10 +++---
 .../tajo/tuple/memory/TestMemoryRowBlock.java   |  8 ++---
 .../tajo/engine/eval/TestEvalTreeUtil.java      |  4 +--
 .../planner/physical/TestHashPartitioner.java   | 16 +++++-----
 .../apache/tajo/master/TestRepartitioner.java   | 28 ++++++++---------
 .../tajo/engine/codegen/CaseWhenEmitter.java    |  4 +--
 .../engine/planner/PhysicalPlannerImpl.java     |  4 +--
 .../planner/physical/ColPartitionStoreExec.java |  3 +-
 .../DistinctGroupbyFirstAggregationExec.java    |  3 +-
 .../DistinctGroupbyHashAggregationExec.java     | 27 ++++++++---------
 .../DistinctGroupbySecondAggregationExec.java   |  3 +-
 .../DistinctGroupbySortAggregationExec.java     |  6 ++--
 .../engine/planner/physical/WindowAggExec.java  |  7 ++---
 .../tajo/engine/query/TaskRequestImpl.java      | 17 +++++------
 .../apache/tajo/master/exec/DDLExecutor.java    |  3 +-
 .../apache/tajo/master/exec/QueryExecutor.java  |  4 +--
 .../java/org/apache/tajo/querymaster/Query.java |  4 +--
 .../apache/tajo/querymaster/Repartitioner.java  |  4 +--
 .../java/org/apache/tajo/querymaster/Task.java  |  3 +-
 .../java/org/apache/tajo/webapp/HttpServer.java |  4 +--
 .../java/org/apache/tajo/jdbc/TestTajoJdbc.java | 10 +++---
 .../org/apache/tajo/plan/LogicalPlanner.java    | 22 ++++++--------
 .../tajo/plan/logical/DistinctGroupbyNode.java  |  4 +--
 .../tajo/plan/serder/EvalNodeSerializer.java    |  4 +--
 .../tajo/storage/BaseTupleComparator.java       |  4 +--
 .../tajo/storage/hbase/HBaseTablespace.java     |  4 +--
 .../org/apache/tajo/storage/FileTablespace.java |  4 +--
 .../storage/parquet/TajoSchemaConverter.java    |  3 +-
 .../org/apache/tajo/storage/rcfile/RCFile.java  |  9 ++----
 .../sequencefile/SequenceFileScanner.java       |  4 +--
 .../tajo/storage/thirdparty/orc/OrcUtils.java   | 16 +++++-----
 .../org/objectweb/asm/AnnotationWriter.java     | 32 ++++++++++----------
 .../tajo/org/objectweb/asm/ClassReader.java     |  6 ++--
 .../tajo/org/objectweb/asm/ClassWriter.java     |  3 +-
 .../apache/tajo/org/objectweb/asm/Frame.java    |  4 +--
 .../tajo/org/objectweb/asm/MethodWriter.java    | 14 ++++-----
 .../org/apache/tajo/org/objectweb/asm/Type.java | 12 ++++----
 .../objectweb/asm/commons/AdviceAdapter.java    | 12 ++++----
 .../objectweb/asm/commons/AnalyzerAdapter.java  | 15 +++++----
 .../objectweb/asm/commons/GeneratorAdapter.java |  4 +--
 .../asm/commons/JSRInlinerAdapter.java          | 19 +++---------
 .../asm/commons/LocalVariablesSorter.java       |  4 +--
 .../org/objectweb/asm/commons/Remapper.java     |  4 +--
 .../asm/commons/SerialVersionUIDAdder.java      |  4 +--
 .../optimizer/AnnotationConstantsCollector.java | 32 ++++++++++----------
 .../asm/optimizer/ClassConstantsCollector.java  |  8 ++---
 .../org/objectweb/asm/optimizer/Constant.java   |  4 +--
 .../objectweb/asm/optimizer/ConstantPool.java   |  4 +--
 .../objectweb/asm/optimizer/JarOptimizer.java   |  4 +--
 .../org/objectweb/asm/optimizer/Shrinker.java   |  4 +--
 .../org/objectweb/asm/tree/AnnotationNode.java  |  4 +--
 .../asm/tree/LookupSwitchInsnNode.java          |  4 +--
 .../objectweb/asm/tree/analysis/Analyzer.java   | 12 +++-----
 .../asm/tree/analysis/BasicVerifier.java        |  6 ++--
 .../asm/tree/analysis/SimpleVerifier.java       |  3 +-
 .../tajo/org/objectweb/asm/util/ASMifier.java   |  8 ++---
 .../objectweb/asm/util/CheckClassAdapter.java   |  7 ++---
 .../objectweb/asm/util/CheckMethodAdapter.java  | 12 ++++----
 .../tajo/org/objectweb/asm/util/Printer.java    |  3 +-
 .../tajo/org/objectweb/asm/util/Textifier.java  | 11 +++----
 .../objectweb/asm/xml/ASMContentHandler.java    |  6 ++--
 .../objectweb/asm/xml/SAXAnnotationAdapter.java | 32 ++++++++++----------
 .../org/objectweb/asm/xml/SAXClassAdapter.java  |  8 ++---
 .../org/objectweb/asm/xml/SAXCodeAdapter.java   |  8 ++---
 71 files changed, 275 insertions(+), 316 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index ed08106..bc12eb8 100644
--- a/CHANGES
+++ b/CHANGES
@@ -8,6 +8,8 @@ Release 0.12.0 - unreleased
 
   IMPROVEMENT
 
+    TAJO-1971: Replace 'for' loop with 'foreach'. (Dongkyu Hwangbo via jihoon)
+
     TAJO-2040: Decrease the default size of max request for locality. (jinho)
 
     TAJO-2035: Rewrite README file using Markdown format. 

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-catalog/tajo-catalog-drivers/tajo-hive/src/main/java/org/apache/tajo/catalog/store/HiveCatalogStoreClientPool.java
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-drivers/tajo-hive/src/main/java/org/apache/tajo/catalog/store/HiveCatalogStoreClientPool.java b/tajo-catalog/tajo-catalog-drivers/tajo-hive/src/main/java/org/apache/tajo/catalog/store/HiveCatalogStoreClientPool.java
index bfde8cf..8be3a73 100644
--- a/tajo-catalog/tajo-catalog-drivers/tajo-hive/src/main/java/org/apache/tajo/catalog/store/HiveCatalogStoreClientPool.java
+++ b/tajo-catalog/tajo-catalog-drivers/tajo-hive/src/main/java/org/apache/tajo/catalog/store/HiveCatalogStoreClientPool.java
@@ -114,8 +114,7 @@ public class HiveCatalogStoreClientPool {
   }
 
   public void setParameters(Configuration conf) {
-    for( Iterator<Entry<String, String>> iter = conf.iterator(); iter.hasNext();) {
-      Map.Entry<String, String> entry = iter.next();
+    for (Entry<String, String> entry : conf) {
       this.hiveConf.set(entry.getKey(), entry.getValue());
     }
   }

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-catalog/tajo-catalog-drivers/tajo-hive/src/test/java/org/apache/tajo/catalog/store/TestHiveCatalogStore.java
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-drivers/tajo-hive/src/test/java/org/apache/tajo/catalog/store/TestHiveCatalogStore.java b/tajo-catalog/tajo-catalog-drivers/tajo-hive/src/test/java/org/apache/tajo/catalog/store/TestHiveCatalogStore.java
index ffe9578..7e1a3a4 100644
--- a/tajo-catalog/tajo-catalog-drivers/tajo-hive/src/test/java/org/apache/tajo/catalog/store/TestHiveCatalogStore.java
+++ b/tajo-catalog/tajo-catalog-drivers/tajo-hive/src/test/java/org/apache/tajo/catalog/store/TestHiveCatalogStore.java
@@ -415,8 +415,8 @@ public class TestHiveCatalogStore {
 
     List<PartitionKeyProto> partitionKeyList = new ArrayList<>();
     String[] partitionNames = partitionName.split("/");
-    for(int i = 0; i < partitionNames.length; i++) {
-      String[] eachPartitionName = partitionNames[i].split("=");
+    for (String aName : partitionNames) {
+      String[] eachPartitionName = aName.split("=");
 
       PartitionKeyProto.Builder builder = PartitionKeyProto.newBuilder();
       builder.setColumnName(eachPartitionName[0]);
@@ -452,9 +452,9 @@ public class TestHiveCatalogStore {
       builder.setPath(path.toString());
 
       List<PartitionKeyProto> partitionKeyList = new ArrayList<>();
-      String[] split = partitionName.split("/");
-      for(int i = 0; i < split.length; i++) {
-        String[] eachPartitionName = split[i].split("=");
+      String[] splits = partitionName.split("/");
+      for (String aSplit : splits) {
+        String[] eachPartitionName = aSplit.split("=");
 
         PartitionKeyProto.Builder keyBuilder = PartitionKeyProto.newBuilder();
         keyBuilder.setColumnName(eachPartitionName[0]);

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/dictionary/InfoSchemaMetadataDictionary.java
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/dictionary/InfoSchemaMetadataDictionary.java b/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/dictionary/InfoSchemaMetadataDictionary.java
index fb7129e..d9008aa 100644
--- a/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/dictionary/InfoSchemaMetadataDictionary.java
+++ b/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/dictionary/InfoSchemaMetadataDictionary.java
@@ -95,8 +95,7 @@ public class InfoSchemaMetadataDictionary {
     }
     
     tableName = tableName.toUpperCase();
-    for (int idx = 0; idx < schemaInfoTableDescriptors.size(); idx++) {
-      TableDescriptor testDescriptor = schemaInfoTableDescriptors.get(idx);
+    for (TableDescriptor testDescriptor : schemaInfoTableDescriptors) {
       if (testDescriptor.getTableNameString().equalsIgnoreCase(tableName)) {
         tableDescriptor = testDescriptor;
         break;

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/CatalogTestingUtil.java
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/CatalogTestingUtil.java b/tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/CatalogTestingUtil.java
index a041adc..3a1a0cd 100644
--- a/tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/CatalogTestingUtil.java
+++ b/tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/CatalogTestingUtil.java
@@ -144,14 +144,14 @@ public class CatalogTestingUtil {
     String[] partitionNames = partitionName.split("/");
 
     List<PartitionKeyProto> partitionKeyList = new ArrayList<>();
-    for(int i = 0; i < partitionNames.length; i++) {
-      String [] splits = partitionNames[i].split("=");
+    for (String partition : partitionNames) {
+      String[] splits = partition.split("=");
       String columnName = "", partitionValue = "";
       if (splits.length == 2) {
         columnName = splits[0];
         partitionValue = splits[1];
       } else if (splits.length == 1) {
-        if (partitionNames[i].charAt(0) == '=') {
+        if (partition.charAt(0) == '=') {
           partitionValue = splits[0];
         } else {
           columnName = "";

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-common/src/main/java/org/apache/tajo/util/BytesUtils.java
----------------------------------------------------------------------
diff --git a/tajo-common/src/main/java/org/apache/tajo/util/BytesUtils.java b/tajo-common/src/main/java/org/apache/tajo/util/BytesUtils.java
index 812aa4b..11d77ce 100644
--- a/tajo-common/src/main/java/org/apache/tajo/util/BytesUtils.java
+++ b/tajo-common/src/main/java/org/apache/tajo/util/BytesUtils.java
@@ -229,8 +229,8 @@ public class BytesUtils {
 
     int maxLen = Integer.MIN_VALUE;
 
-    for (int i = 0; i < bytes.length; i++) {
-      maxLen = Math.max(maxLen, bytes[i].length);
+    for (byte[] aByte : bytes) {
+      maxLen = Math.max(maxLen, aByte.length);
     }
 
     for (int i = 0; i < bytes.length; i++) {

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-common/src/main/java/org/apache/tajo/util/ProtoUtil.java
----------------------------------------------------------------------
diff --git a/tajo-common/src/main/java/org/apache/tajo/util/ProtoUtil.java b/tajo-common/src/main/java/org/apache/tajo/util/ProtoUtil.java
index 4b58bf7..7a44e09 100644
--- a/tajo-common/src/main/java/org/apache/tajo/util/ProtoUtil.java
+++ b/tajo-common/src/main/java/org/apache/tajo/util/ProtoUtil.java
@@ -67,8 +67,8 @@ public class ProtoUtil {
    */
   public static <T> Iterable<T> toProtoObjects(ProtoObject[] protoObjects) {
     List<T> converted = Lists.newArrayList();
-    for (int i = 0; i < protoObjects.length; i++) {
-      converted.add((T) protoObjects[i].getProto());
+    for (ProtoObject protoObject : protoObjects) {
+      converted.add((T) protoObject.getProto());
     }
     return converted;
   }

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-common/src/test/java/org/apache/tajo/datum/TestIntervalDatum.java
----------------------------------------------------------------------
diff --git a/tajo-common/src/test/java/org/apache/tajo/datum/TestIntervalDatum.java b/tajo-common/src/test/java/org/apache/tajo/datum/TestIntervalDatum.java
index 1e70a9e..3175c51 100644
--- a/tajo-common/src/test/java/org/apache/tajo/datum/TestIntervalDatum.java
+++ b/tajo-common/src/test/java/org/apache/tajo/datum/TestIntervalDatum.java
@@ -122,8 +122,8 @@ public class TestIntervalDatum {
 
     // date '2001-10-01' - integer '7' ==>	date '2001-09-24'
     datum = DatumFactory.createDate(2001, 10, 1);
-    for (int i = 0; i < datums.length; i++) {
-      Datum result2 = datum.minus(datums[i]);
+    for (Datum eachDatum : datums) {
+      Datum result2 = datum.minus(eachDatum);
       assertEquals(TajoDataTypes.Type.DATE, result2.type());
       assertEquals(DatumFactory.createDate(2001, 9, 24), result2);
     }
@@ -177,12 +177,12 @@ public class TestIntervalDatum {
         new Float4Datum(900.0f), new Float8Datum(900.0f)};
 
     datum = new IntervalDatum(1000);
-    for (int i = 0; i < datum900.length; i++) {
-      Datum result2 = datum.multiply(datum900[i]);
+    for (Datum aDatum900 : datum900) {
+      Datum result2 = datum.multiply(aDatum900);
       assertEquals(TajoDataTypes.Type.INTERVAL, result2.type());
       assertEquals(new IntervalDatum(15 * 60 * 1000), result2);
 
-      result2 = datum900[i].multiply(datum);
+      result2 = aDatum900.multiply(datum);
       assertEquals(TajoDataTypes.Type.INTERVAL, result2.type());
       assertEquals(new IntervalDatum(15 * 60 * 1000), result2);
     }

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-common/src/test/java/org/apache/tajo/tuple/memory/TestMemoryRowBlock.java
----------------------------------------------------------------------
diff --git a/tajo-common/src/test/java/org/apache/tajo/tuple/memory/TestMemoryRowBlock.java b/tajo-common/src/test/java/org/apache/tajo/tuple/memory/TestMemoryRowBlock.java
index 4e77d68..780f97f 100644
--- a/tajo-common/src/test/java/org/apache/tajo/tuple/memory/TestMemoryRowBlock.java
+++ b/tajo-common/src/test/java/org/apache/tajo/tuple/memory/TestMemoryRowBlock.java
@@ -287,10 +287,10 @@ public class TestMemoryRowBlock {
     LOG.info("reading takes " + (readEnd - readStart) + " msec");
 
     int count = 0;
-    for (int l = 0; l < rowBlock.size(); l++) {
-      for(int m = 0; m < schema.length; m++ ) {
-        if (rowBlock.get(l).contains(m) && rowBlock.get(l).get(m).type() == Type.INT4) {
-          count ++;
+    for (VTuple aRowBlock : rowBlock) {
+      for (int m = 0; m < schema.length; m++) {
+        if (aRowBlock.contains(m) && aRowBlock.get(m).type() == Type.INT4) {
+          count++;
         }
       }
     }

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-core-tests/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java
----------------------------------------------------------------------
diff --git a/tajo-core-tests/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java b/tajo-core-tests/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java
index e87f390..6a659be 100644
--- a/tajo-core-tests/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java
+++ b/tajo-core-tests/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java
@@ -348,8 +348,8 @@ public class TestEvalTreeUtil {
     List aggEvals = groupByNode.getAggFunctions();
 
     List<AggregationFunctionCallEval> list = new ArrayList<>();
-    for (int i = 0; i < aggEvals.size(); i++) {
-      list.addAll(EvalTreeUtil.findDistinctAggFunction((EvalNode) aggEvals.get(i)));
+    for (Object aggEval : aggEvals) {
+      list.addAll(EvalTreeUtil.findDistinctAggFunction((EvalNode) aggEval));
     }
     assertEquals(2, list.size());
 

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/physical/TestHashPartitioner.java
----------------------------------------------------------------------
diff --git a/tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/physical/TestHashPartitioner.java b/tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/physical/TestHashPartitioner.java
index 9558b2d..ebf109a 100644
--- a/tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/physical/TestHashPartitioner.java
+++ b/tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/physical/TestHashPartitioner.java
@@ -45,7 +45,7 @@ public class TestHashPartitioner {
   }
 
   @Test
-  public final void testGetPartition() {   
+  public final void testGetPartition() {
     VTuple tuple1 = new VTuple(3);
     tuple1.put(new Datum[] {
         DatumFactory.createInt4(1),
@@ -76,16 +76,16 @@ public class TestHashPartitioner {
         DatumFactory.createInt4(2),
         DatumFactory.createInt4(4)
     });
-    
+
     int [] partKeys = {0,1};
     Partitioner p = new HashPartitioner(partKeys, 2);
-    
+
     int part1 = p.getPartition(tuple1);
     assertEquals(part1, p.getPartition(tuple2));
     assertEquals(part1, p.getPartition(tuple3));
-    
+
     int part2 = p.getPartition(tuple4);
-    assertEquals(part2, p.getPartition(tuple5));    
+    assertEquals(part2, p.getPartition(tuple5));
   }
 
   @Test
@@ -99,8 +99,8 @@ public class TestHashPartitioner {
     }
 
     int[] testNumPartitions = new int[]{31, 62, 124, 32, 63, 125};
-    for (int index = 0; index <  testNumPartitions.length; index++) {
-      Partitioner p = new HashPartitioner(new int[]{0, 1, 2}, testNumPartitions[index]);
+    for (int testNumPartition : testNumPartitions) {
+      Partitioner p = new HashPartitioner(new int[]{0, 1, 2}, testNumPartition);
 
       Set<Integer> ids = new TreeSet<>();
       for (int i = 0; i < data.length; i++) {
@@ -111,7 +111,7 @@ public class TestHashPartitioner {
       }
 
       // The number of partitions isn't exactly matched.
-      assertTrue(ids.size() + 5 >= testNumPartitions[index]);
+      assertTrue(ids.size() + 5 >= testNumPartition);
     }
   }
 }

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-core-tests/src/test/java/org/apache/tajo/master/TestRepartitioner.java
----------------------------------------------------------------------
diff --git a/tajo-core-tests/src/test/java/org/apache/tajo/master/TestRepartitioner.java b/tajo-core-tests/src/test/java/org/apache/tajo/master/TestRepartitioner.java
index c260ab6..85a0c10 100644
--- a/tajo-core-tests/src/test/java/org/apache/tajo/master/TestRepartitioner.java
+++ b/tajo-core-tests/src/test/java/org/apache/tajo/master/TestRepartitioner.java
@@ -182,10 +182,10 @@ public class TestRepartitioner {
     for (int i = 0; i < 20; i++) {
       List<Pair<Long, Integer>> pages = new ArrayList<>();
       long offset = 0;
-      for (int j = 0; j < pageLengths.length; j++) {
-        pages.add(new Pair(offset, pageLengths[j]));
-        offset += pageLengths[j];
-        expectedTotalLength += pageLengths[j];
+      for (int pageLength : pageLengths) {
+        pages.add(new Pair(offset, pageLength));
+        offset += pageLength;
+        expectedTotalLength += pageLength;
       }
       IntermediateEntry interm = new IntermediateEntry(i, -1, -1, new Task.PullHost("" + i, i));
       interm.setPages(pages);
@@ -241,10 +241,10 @@ public class TestRepartitioner {
     for (int i = 0; i < 20; i++) {
       List<Pair<Long, Integer>> pages = new ArrayList<>();
       long offset = 0;
-      for (int j = 0; j < pageLengths.length; j++) {
-        pages.add(new Pair(offset, pageLengths[j]));
-        offset += pageLengths[j];
-        expectedTotalLength += pageLengths[j];
+      for (int pageLength : pageLengths) {
+        pages.add(new Pair(offset, pageLength));
+        offset += pageLength;
+        expectedTotalLength += pageLength;
       }
       IntermediateEntry interm = new IntermediateEntry(i, -1, 0, new Task.PullHost("" + i, i));
       interm.setPages(pages);
@@ -373,8 +373,8 @@ public class TestRepartitioner {
     List<IntermediateEntry> entries = new ArrayList<>();
     for (int i = 0; i < 2; i++) {
       List<Pair<Long, Integer>> pages = new ArrayList<>();
-      for (int j = 0; j < pageDatas.length; j++) {
-        pages.add(new Pair(pageDatas[j][0], (int) (pageDatas[j][1])));
+      for (long[] pageData : pageDatas) {
+        pages.add(new Pair(pageData[0], (int) (pageData[1])));
       }
       IntermediateEntry entry = new IntermediateEntry(-1, -1, 1, new Task.PullHost("host" + i , 9000));
       entry.setPages(pages);
@@ -432,10 +432,10 @@ public class TestRepartitioner {
     for (int i = 0; i < 20; i++) {
       List<Pair<Long, Integer>> pages = new ArrayList<>();
       long offset = 0;
-      for (int j = 0; j < pageLengths.length; j++) {
-        pages.add(new Pair(offset, pageLengths[j]));
-        offset += pageLengths[j];
-        expectedTotalLength += pageLengths[j];
+      for (int pageLength : pageLengths) {
+        pages.add(new Pair(offset, pageLength));
+        offset += pageLength;
+        expectedTotalLength += pageLength;
       }
       IntermediateEntry interm = new IntermediateEntry(i, -1, 0, pullHost);
       interm.setPages(pages);

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-core/src/main/java/org/apache/tajo/engine/codegen/CaseWhenEmitter.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/engine/codegen/CaseWhenEmitter.java b/tajo-core/src/main/java/org/apache/tajo/engine/codegen/CaseWhenEmitter.java
index d09b290..3f212b3 100644
--- a/tajo-core/src/main/java/org/apache/tajo/engine/codegen/CaseWhenEmitter.java
+++ b/tajo-core/src/main/java/org/apache/tajo/engine/codegen/CaseWhenEmitter.java
@@ -142,8 +142,8 @@ class CaseWhenEmitter {
   private static EvalNode extractCommonTerm(List<CaseWhenEval.IfThenEval> ifThenEvals) {
     EvalNode commonTerm = null;
 
-    for (int i = 0; i < ifThenEvals.size(); i++) {
-      EvalNode predicate = ifThenEvals.get(i).getCondition();
+    for (CaseWhenEval.IfThenEval ifThenEval : ifThenEvals) {
+      EvalNode predicate = ifThenEval.getCondition();
       if (!checkIfSimplePredicate(predicate)) {
         return null;
       }

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-core/src/main/java/org/apache/tajo/engine/planner/PhysicalPlannerImpl.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/engine/planner/PhysicalPlannerImpl.java b/tajo-core/src/main/java/org/apache/tajo/engine/planner/PhysicalPlannerImpl.java
index 8bc935b..5ff2067 100644
--- a/tajo-core/src/main/java/org/apache/tajo/engine/planner/PhysicalPlannerImpl.java
+++ b/tajo-core/src/main/java/org/apache/tajo/engine/planner/PhysicalPlannerImpl.java
@@ -989,8 +989,8 @@ public class PhysicalPlannerImpl implements PhysicalPlanner {
       List<SortSpec> enforcedSortSpecList = Lists.newArrayList();
       int i = 0;
       outer:
-      for (int j = 0; j < sortSpecProtos.size(); j++) {
-        SortSpec enforcedSortSpecs = new SortSpec(sortSpecProtos.get(j));
+      for (SortSpecProto sortSpecProto : sortSpecProtos) {
+        SortSpec enforcedSortSpecs = new SortSpec(sortSpecProto);
 
         for (Column grpKey : grpColumns) { // if this sort key is included in grouping columns, skip it.
           if (enforcedSortSpecs.getSortKey().equals(grpKey)) {

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/ColPartitionStoreExec.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/ColPartitionStoreExec.java b/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/ColPartitionStoreExec.java
index 445644b..bc667cb 100644
--- a/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/ColPartitionStoreExec.java
+++ b/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/ColPartitionStoreExec.java
@@ -168,8 +168,7 @@ public abstract class ColPartitionStoreExec extends UnaryPhysicalExec {
 
     String[] partitionKeyPairs = partition.split("/");
 
-    for(int i = 0; i < partitionKeyPairs.length; i++) {
-      String partitionKeyPair = partitionKeyPairs[i];
+    for (String partitionKeyPair : partitionKeyPairs) {
       String[] split = partitionKeyPair.split("=");
 
       PartitionKeyProto.Builder keyBuilder = PartitionKeyProto.newBuilder();

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbyFirstAggregationExec.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbyFirstAggregationExec.java b/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbyFirstAggregationExec.java
index 427e87f..18c6bc9 100644
--- a/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbyFirstAggregationExec.java
+++ b/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbyFirstAggregationExec.java
@@ -319,8 +319,7 @@ public class DistinctGroupbyFirstAggregationExec extends UnaryPhysicalExec {
 
       List<Column> distinctGroupingKeyIndexSet = new ArrayList<>();
       Column[] groupingColumns = groupbyNode.getGroupingColumns();
-      for (int idx = 0; idx < groupingColumns.length; idx++) {
-        Column col = groupingColumns[idx];
+      for (Column col : groupingColumns) {
         if (!groupingKeySet.contains(col)) {
           distinctGroupingKeyIndexSet.add(col);
         }

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbyHashAggregationExec.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbyHashAggregationExec.java b/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbyHashAggregationExec.java
index 8c860dc..6607416 100644
--- a/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbyHashAggregationExec.java
+++ b/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbyHashAggregationExec.java
@@ -151,8 +151,7 @@ public class DistinctGroupbyHashAggregationExec extends UnaryPhysicalExec {
     List<TupleList> tupleSlots = new ArrayList<>();
 
     // aggregation with single grouping key
-    for (int i = 0; i < hashAggregators.length; i++) {
-      HashAggregator hashAggregator = hashAggregators[i];
+    for (HashAggregator hashAggregator : hashAggregators) {
       if (!hashAggregator.iterator.hasNext()) {
         nullCount++;
         tupleSlots.add(new TupleList());
@@ -283,12 +282,12 @@ public class DistinctGroupbyHashAggregationExec extends UnaryPhysicalExec {
   private void loadChildHashTable() throws IOException {
     Tuple tuple;
     while(!context.isStopped() && (tuple = child.next()) != null) {
-      for (int i = 0; i < hashAggregators.length; i++) {
-        hashAggregators[i].compute(tuple);
+      for (HashAggregator hashAggregator : hashAggregators) {
+        hashAggregator.compute(tuple);
       }
     }
-    for (int i = 0; i < hashAggregators.length; i++) {
-      hashAggregators[i].initFetch();
+    for (HashAggregator hashAggregator : hashAggregators) {
+      hashAggregator.initFetch();
     }
 
     totalNumRows = hashAggregators[0].hashTable.size();
@@ -297,8 +296,8 @@ public class DistinctGroupbyHashAggregationExec extends UnaryPhysicalExec {
   @Override
   public void close() throws IOException {
     if (hashAggregators != null) {
-      for (int i = 0; i < hashAggregators.length; i++) {
-        hashAggregators[i].close();
+      for (HashAggregator hashAggregator : hashAggregators) {
+        hashAggregator.close();
       }
     }
     if (child != null) {
@@ -315,8 +314,8 @@ public class DistinctGroupbyHashAggregationExec extends UnaryPhysicalExec {
 
   public void rescan() throws IOException {
     finished = false;
-    for (int i = 0; i < hashAggregators.length; i++) {
-      hashAggregators[i].initFetch();
+    for (HashAggregator hashAggregator : hashAggregators) {
+      hashAggregator.initFetch();
     }
     if (currentAggregatedTuples != null) {
       currentAggregatedTuples.clear();
@@ -364,11 +363,9 @@ public class DistinctGroupbyHashAggregationExec extends UnaryPhysicalExec {
       List<Column> groupingKeyColumnList = new ArrayList<>(distinctGroupingKeyColumnSet);
 
       Column[] keyColumns = groupbyNode.getGroupingColumns();
-      Column col;
-      for (int idx = 0; idx < keyColumns.length; idx++) {
-        col = keyColumns[idx];
-        if (!distinctGroupingKeyColumnSet.contains(col)) {
-          groupingKeyColumnList.add(col);
+      for (Column keyColumn : keyColumns) {
+        if (!distinctGroupingKeyColumnSet.contains(keyColumn)) {
+          groupingKeyColumnList.add(keyColumn);
         }
       }
       Column[] groupingKeyColumns = groupingKeyColumnList.toArray(new Column[groupingKeyColumnList.size()]);

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbySecondAggregationExec.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbySecondAggregationExec.java b/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbySecondAggregationExec.java
index 9826ff7..f15fc7d 100644
--- a/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbySecondAggregationExec.java
+++ b/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbySecondAggregationExec.java
@@ -142,8 +142,7 @@ public class DistinctGroupbySecondAggregationExec extends UnaryPhysicalExec {
       if (eachGroupby.isDistinct()) {
         List<Integer> distinctGroupingKeyIndex = new ArrayList<>();
         Column[] distinctGroupingColumns = eachGroupby.getGroupingColumns();
-        for (int idx = 0; idx < distinctGroupingColumns.length; idx++) {
-          Column col = distinctGroupingColumns[idx];
+        for (Column col : distinctGroupingColumns) {
           int keyIndex;
           if (col.hasQualifier()) {
             keyIndex = inSchema.getColumnId(col.getQualifiedName());

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbySortAggregationExec.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbySortAggregationExec.java b/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbySortAggregationExec.java
index e611d88..b3fb130 100644
--- a/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbySortAggregationExec.java
+++ b/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbySortAggregationExec.java
@@ -109,11 +109,11 @@ public class DistinctGroupbySortAggregationExec extends PhysicalExec {
     }
 
     int mergeTupleIndex = 0;
-    for (int i = 0; i < currentTuples.length; i++) {
-      int tupleSize = currentTuples[i].size();
+    for (Tuple currentTuple : currentTuples) {
+      int tupleSize = currentTuple.size();
       for (int j = 0; j < tupleSize; j++) {
         if (resultColumnIdIndexes[mergeTupleIndex] >= 0) {
-          outTuple.put(resultColumnIdIndexes[mergeTupleIndex], currentTuples[i].asDatum(j));
+          outTuple.put(resultColumnIdIndexes[mergeTupleIndex], currentTuple.asDatum(j));
         }
         mergeTupleIndex++;
       }

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/WindowAggExec.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/WindowAggExec.java b/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/WindowAggExec.java
index ab13b59..44845e7 100644
--- a/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/WindowAggExec.java
+++ b/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/WindowAggExec.java
@@ -282,9 +282,7 @@ public class WindowAggExec extends UnaryPhysicalExec {
 
     evaluatedTuples = new TupleList();
 
-    for (int i = 0; i <accumulatedInTuples.size(); i++) {
-      Tuple inTuple = accumulatedInTuples.get(i);
-
+    for (Tuple inTuple : accumulatedInTuples) {
       for (int c = 0; c < nonFunctionColumnNum; c++) {
         evaluatedTuple.put(c, inTuple.asDatum(nonFunctionColumns[c]));
       }
@@ -316,9 +314,8 @@ public class WindowAggExec extends UnaryPhysicalExec {
       }
 
       if (aggFuncFlags[idx]) {
-        for (int i = 0; i < evaluatedTuples.size(); i++) {
+        for (Tuple outTuple : evaluatedTuples) {
           Datum result = functions[idx].terminate(contexts[idx]);
-          Tuple outTuple = evaluatedTuples.get(i);
           outTuple.put(nonFunctionColumnNum + idx, result);
         }
       }

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-core/src/main/java/org/apache/tajo/engine/query/TaskRequestImpl.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/engine/query/TaskRequestImpl.java b/tajo-core/src/main/java/org/apache/tajo/engine/query/TaskRequestImpl.java
index fc7556c..65c23f4 100644
--- a/tajo-core/src/main/java/org/apache/tajo/engine/query/TaskRequestImpl.java
+++ b/tajo-core/src/main/java/org/apache/tajo/engine/query/TaskRequestImpl.java
@@ -26,7 +26,6 @@ import org.apache.tajo.ResourceProtos.TaskRequestProto;
 import org.apache.tajo.ResourceProtos.FetchProto;
 import org.apache.tajo.ResourceProtos.TaskRequestProtoOrBuilder;
 import org.apache.tajo.plan.serder.PlanProto;
-import org.apache.tajo.worker.FetchImpl;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -87,9 +86,8 @@ public class TaskRequestImpl implements TaskRequest {
     this.queryContext = queryContext;
     this.dataChannel = dataChannel;
     this.enforcer = enforcer;
-		this.queryMasterHostAndPort = queryMasterHostAndPort;
-	}
-
+    this.queryMasterHostAndPort = queryMasterHostAndPort;
+  }
 	@Override
 	public TaskRequestProto getProto() {
 		mergeLocalToProto();
@@ -214,8 +212,7 @@ public class TaskRequestImpl implements TaskRequest {
 
   @Override
   public List<FetchProto> getFetches() {
-	  initFetches();    
-
+	  initFetches();
     return this.fetches;
 	}
 	
@@ -242,8 +239,8 @@ public class TaskRequestImpl implements TaskRequest {
 			builder.setId(this.id.getProto());
 		}
 		if (fragments != null) {
-			for (int i = 0; i < fragments.size(); i++) {
-				builder.addFragments(fragments.get(i));
+      for (FragmentProto fragment : fragments) {
+        builder.addFragments(fragment);
 			}
 		}
 		if (this.outputTable != null) {
@@ -259,8 +256,8 @@ public class TaskRequestImpl implements TaskRequest {
 		  builder.setInterQuery(this.interQuery);
 		}
     if (this.fetches != null) {
-      for (int i = 0; i < fetches.size(); i++) {
-        builder.addFetches(fetches.get(i));
+      for (FetchProto fetch : fetches) {
+        builder.addFetches(fetch);
       }
     }
     if (this.queryMasterHostAndPort != null) {

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-core/src/main/java/org/apache/tajo/master/exec/DDLExecutor.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/master/exec/DDLExecutor.java b/tajo-core/src/main/java/org/apache/tajo/master/exec/DDLExecutor.java
index 7a52acc..6a22141 100644
--- a/tajo-core/src/main/java/org/apache/tajo/master/exec/DDLExecutor.java
+++ b/tajo-core/src/main/java/org/apache/tajo/master/exec/DDLExecutor.java
@@ -668,8 +668,7 @@ public class DDLExecutor {
 
     String[] partitionKeyPairs = partitionName.split("/");
 
-    for(int i = 0; i < partitionKeyPairs.length; i++) {
-      String partitionKeyPair = partitionKeyPairs[i];
+    for (String partitionKeyPair : partitionKeyPairs) {
       String[] split = partitionKeyPair.split("=");
 
       PartitionKeyProto.Builder keyBuilder = PartitionKeyProto.newBuilder();

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-core/src/main/java/org/apache/tajo/master/exec/QueryExecutor.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/master/exec/QueryExecutor.java b/tajo-core/src/main/java/org/apache/tajo/master/exec/QueryExecutor.java
index 8dddf2c..641e2b9 100644
--- a/tajo-core/src/main/java/org/apache/tajo/master/exec/QueryExecutor.java
+++ b/tajo-core/src/main/java/org/apache/tajo/master/exec/QueryExecutor.java
@@ -381,8 +381,8 @@ public class QueryExecutor {
 
   public static void startScriptExecutors(QueryContext queryContext, EvalContext evalContext, List<Target> targets)
       throws IOException {
-    for (int i = 0; i < targets.size(); i++) {
-      EvalNode eval = targets.get(i).getEvalTree();
+    for (Target target : targets) {
+      EvalNode eval = target.getEvalTree();
       if (eval instanceof GeneralFunctionEval) {
         GeneralFunctionEval functionEval = (GeneralFunctionEval) eval;
         if (functionEval.getFuncDesc().getInvocation().hasPython()) {

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-core/src/main/java/org/apache/tajo/querymaster/Query.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/querymaster/Query.java b/tajo-core/src/main/java/org/apache/tajo/querymaster/Query.java
index 599931d..82907ca 100644
--- a/tajo-core/src/main/java/org/apache/tajo/querymaster/Query.java
+++ b/tajo-core/src/main/java/org/apache/tajo/querymaster/Query.java
@@ -264,8 +264,8 @@ public class Query implements EventHandler<QueryEvent> {
       float totalProgress = 0.0f;
       float proportion = 1.0f / (float)(getExecutionBlockCursor().size() - 1); // minus one is due to
 
-      for (int i = 0; i < subProgresses.length; i++) {
-        totalProgress += subProgresses[i] * proportion;
+      for (float subProgress : subProgresses) {
+        totalProgress += subProgress * proportion;
       }
 
       return totalProgress;

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-core/src/main/java/org/apache/tajo/querymaster/Repartitioner.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/querymaster/Repartitioner.java b/tajo-core/src/main/java/org/apache/tajo/querymaster/Repartitioner.java
index acf6c16..ec7ed2d 100644
--- a/tajo-core/src/main/java/org/apache/tajo/querymaster/Repartitioner.java
+++ b/tajo-core/src/main/java/org/apache/tajo/querymaster/Repartitioner.java
@@ -153,8 +153,8 @@ public class Repartitioner {
     if (joinNode != null) {
       // If all stats are zero, return
       boolean isEmptyAllJoinTables = true;
-      for (int i = 0; i < stats.length; i++) {
-        if (stats[i] > 0) {
+      for (long stat : stats) {
+        if (stat > 0) {
           isEmptyAllJoinTables = false;
           break;
         }

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-core/src/main/java/org/apache/tajo/querymaster/Task.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/querymaster/Task.java b/tajo-core/src/main/java/org/apache/tajo/querymaster/Task.java
index 9d038ac..c56bb0e 100644
--- a/tajo-core/src/main/java/org/apache/tajo/querymaster/Task.java
+++ b/tajo-core/src/main/java/org/apache/tajo/querymaster/Task.java
@@ -876,8 +876,7 @@ public class Task implements EventHandler<TaskEvent> {
       long currentBytes = 0;
 
       long realSplitVolume = firstSplitVolume > 0 ? firstSplitVolume : splitVolume;
-      for (int i = 0; i < pageSize; i++) {
-        Pair<Long, Integer> eachPage = pages.get(i);
+      for (Pair<Long, Integer> eachPage : pages) {
         if (currentOffset == -1) {
           currentOffset = eachPage.getFirst();
         }

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-core/src/main/java/org/apache/tajo/webapp/HttpServer.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/webapp/HttpServer.java b/tajo-core/src/main/java/org/apache/tajo/webapp/HttpServer.java
index 72309eb..7a6b603 100644
--- a/tajo-core/src/main/java/org/apache/tajo/webapp/HttpServer.java
+++ b/tajo-core/src/main/java/org/apache/tajo/webapp/HttpServer.java
@@ -357,8 +357,8 @@ public class HttpServer {
       }
       // Make sure there is no handler failures.
       Handler[] handlers = webServer.getHandlers();
-      for (int i = 0; i < handlers.length; i++) {
-        if (handlers[i].isFailed()) {
+      for (Handler handler : handlers) {
+        if (handler.isFailed()) {
           throw new IOException(
               "Problem in starting http server. Server handlers failed");
         }

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-jdbc/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java
----------------------------------------------------------------------
diff --git a/tajo-jdbc/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java b/tajo-jdbc/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java
index 80c6e86..fb1dd61 100644
--- a/tajo-jdbc/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java
+++ b/tajo-jdbc/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java
@@ -367,11 +367,11 @@ public class TestTajoJdbc extends QueryTestCaseBase {
     conns[1] = DriverManager.getConnection(connUri);
 
     try {
-      for (int i = 0; i < conns.length; i++) {
+      for (Connection conn : conns) {
         Statement stmt = null;
         ResultSet res = null;
         try {
-          stmt = conns[i].createStatement();
+          stmt = conn.createStatement();
 
           res = stmt.executeQuery("select l_returnflag, l_linestatus, count(*) as count_order from lineitem " +
             "group by l_returnflag, l_linestatus order by l_returnflag, l_linestatus");
@@ -425,11 +425,11 @@ public class TestTajoJdbc extends QueryTestCaseBase {
     conns[1] = DriverManager.getConnection(connUri);
 
     try {
-      for (int i = 0; i < conns.length; i++) {
+      for (Connection conn : conns) {
         Statement stmt = null;
         ResultSet res = null;
         try {
-          stmt = conns[i].createStatement();
+          stmt = conn.createStatement();
 
           res = stmt.executeQuery("select l_returnflag, l_linestatus, count(*) as count_order from lineitem " +
             "group by l_returnflag, l_linestatus order by l_returnflag, l_linestatus");
@@ -461,7 +461,7 @@ public class TestTajoJdbc extends QueryTestCaseBase {
           if (stmt != null) {
             stmt.close();
           }
-          conns[i].close();
+          conn.close();
         }
       }
     } finally {

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-plan/src/main/java/org/apache/tajo/plan/LogicalPlanner.java
----------------------------------------------------------------------
diff --git a/tajo-plan/src/main/java/org/apache/tajo/plan/LogicalPlanner.java b/tajo-plan/src/main/java/org/apache/tajo/plan/LogicalPlanner.java
index 190e12b..3d8ad41 100644
--- a/tajo-plan/src/main/java/org/apache/tajo/plan/LogicalPlanner.java
+++ b/tajo-plan/src/main/java/org/apache/tajo/plan/LogicalPlanner.java
@@ -488,8 +488,7 @@ public class LogicalPlanner extends BaseAlgebraVisitor<LogicalPlanner.PlanContex
 
     List<Target> targets = new ArrayList<>();
 
-    for (int i = 0; i < referenceNames.length; i++) {
-      String refName = referenceNames[i];
+    for (String refName : referenceNames) {
       if (block.isConstReference(refName)) {
         targets.add(new Target(block.getConstByReference(refName), refName));
       } else if (block.namedExprsMgr.isEvaluated(refName)) {
@@ -497,7 +496,7 @@ public class LogicalPlanner extends BaseAlgebraVisitor<LogicalPlanner.PlanContex
       } else {
         NamedExpr namedExpr = block.namedExprsMgr.getNamedExpr(refName);
         EvalNode evalNode = exprAnnotator.createEvalNode(context, namedExpr.getExpr(),
-            NameResolvingMode.RELS_AND_SUBEXPRS);
+                NameResolvingMode.RELS_AND_SUBEXPRS);
         block.namedExprsMgr.markAsEvaluated(refName, evalNode);
         targets.add(new Target(evalNode, refName));
       }
@@ -736,8 +735,8 @@ public class LogicalPlanner extends BaseAlgebraVisitor<LogicalPlanner.PlanContex
         }
       }
     }
-    for (int i = 0; i < winFuncRefs.size(); i++) {
-      targets.add(block.namedExprsMgr.getTarget(winFuncRefs.get(i)));
+    for (String winFuncRef : winFuncRefs) {
+      targets.add(block.namedExprsMgr.getTarget(winFuncRef));
     }
     windowAggNode.setTargets(targets);
     verifyProjectedFields(block, windowAggNode);
@@ -1009,12 +1008,11 @@ public class LogicalPlanner extends BaseAlgebraVisitor<LogicalPlanner.PlanContex
 
     // Set grouping sets
     List<Column> groupingColumns = Lists.newArrayList();
-    for (int i = 0; i < groupingKeyRefNames.length; i++) {
-      String refName = groupingKeyRefNames[i];
+    for (String refName : groupingKeyRefNames) {
       if (context.getQueryBlock().isConstReference(refName)) {
         continue;
-      } else if (block.namedExprsMgr.isEvaluated(groupingKeyRefNames[i])) {
-        groupingColumns.add(block.namedExprsMgr.getTarget(groupingKeyRefNames[i]).getNamedColumn());
+      } else if (block.namedExprsMgr.isEvaluated(refName)) {
+        groupingColumns.add(block.namedExprsMgr.getTarget(refName).getNamedColumn());
       } else {
         throw makeSyntaxError("Each grouping column expression must be a scalar expression.");
       }
@@ -1680,11 +1678,11 @@ public class LogicalPlanner extends BaseAlgebraVisitor<LogicalPlanner.PlanContex
       // It guarantees that the equivalence between the numbers of target and projected columns.
       ColumnReferenceExpr [] targets = expr.getTargetColumns();
       Schema targetColumns = new Schema();
-      for (int i = 0; i < targets.length; i++) {
-        Column targetColumn = desc.getLogicalSchema().getColumn(targets[i].getCanonicalName().replace(".", "/"));
+      for (ColumnReferenceExpr target : targets) {
+        Column targetColumn = desc.getLogicalSchema().getColumn(target.getCanonicalName().replace(".", "/"));
 
         if (targetColumn == null) {
-          throw makeSyntaxError("column '" + targets[i] + "' of relation '" + desc.getName() + "' does not exist");
+          throw makeSyntaxError("column '" + target + "' of relation '" + desc.getName() + "' does not exist");
         }
 
         targetColumns.addColumn(targetColumn);

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-plan/src/main/java/org/apache/tajo/plan/logical/DistinctGroupbyNode.java
----------------------------------------------------------------------
diff --git a/tajo-plan/src/main/java/org/apache/tajo/plan/logical/DistinctGroupbyNode.java b/tajo-plan/src/main/java/org/apache/tajo/plan/logical/DistinctGroupbyNode.java
index 8bafccf..c9d5373 100644
--- a/tajo-plan/src/main/java/org/apache/tajo/plan/logical/DistinctGroupbyNode.java
+++ b/tajo-plan/src/main/java/org/apache/tajo/plan/logical/DistinctGroupbyNode.java
@@ -212,8 +212,8 @@ public class DistinctGroupbyNode extends UnaryNode implements Projectable, Clone
     for (GroupbyNode eachNode: subGroupbyPlan) {
       if (eachNode.hasAggFunctions()) {
         List<AggregationFunctionCallEval> aggrFunctions = eachNode.getAggFunctions();
-        for (int j = 0; j < aggrFunctions.size(); j++) {
-          sb.append(prefix).append(aggrFunctions.get(j));
+        for (AggregationFunctionCallEval aggrFunction : aggrFunctions) {
+          sb.append(prefix).append(aggrFunction);
           prefix = ",";
         }
       }

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-plan/src/main/java/org/apache/tajo/plan/serder/EvalNodeSerializer.java
----------------------------------------------------------------------
diff --git a/tajo-plan/src/main/java/org/apache/tajo/plan/serder/EvalNodeSerializer.java b/tajo-plan/src/main/java/org/apache/tajo/plan/serder/EvalNodeSerializer.java
index 3532b37..f37ce69 100644
--- a/tajo-plan/src/main/java/org/apache/tajo/plan/serder/EvalNodeSerializer.java
+++ b/tajo-plan/src/main/java/org/apache/tajo/plan/serder/EvalNodeSerializer.java
@@ -268,8 +268,8 @@ public class EvalNodeSerializer
     // building itself
     PlanProto.FunctionEval.Builder funcBuilder = PlanProto.FunctionEval.newBuilder();
     funcBuilder.setFuncion(function.getFuncDesc().getProto());
-    for (int i = 0; i < childIds.length; i++) {
-      funcBuilder.addParamIds(childIds[i]);
+    for (int childId : childIds) {
+      funcBuilder.addParamIds(childId);
     }
 
     // registering itself and building EvalNode

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/storage/BaseTupleComparator.java
----------------------------------------------------------------------
diff --git a/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/storage/BaseTupleComparator.java b/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/storage/BaseTupleComparator.java
index 6d4b137..921563a 100644
--- a/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/storage/BaseTupleComparator.java
+++ b/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/storage/BaseTupleComparator.java
@@ -167,8 +167,8 @@ public class BaseTupleComparator extends TupleComparator implements ProtoObject<
   public TupleComparatorProto getProto() {
     TupleComparatorProto.Builder builder = TupleComparatorProto.newBuilder();
     builder.setSchema(schema.getProto());
-    for (int i = 0; i < sortSpecs.length; i++) {
-      builder.addSortSpecs(sortSpecs[i].getProto());
+    for (SortSpec sortSpec : sortSpecs) {
+      builder.addSortSpecs(sortSpec.getProto());
     }
 
     TupleComparatorSpecProto.Builder sortSpecBuilder;

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-storage/tajo-storage-hbase/src/main/java/org/apache/tajo/storage/hbase/HBaseTablespace.java
----------------------------------------------------------------------
diff --git a/tajo-storage/tajo-storage-hbase/src/main/java/org/apache/tajo/storage/hbase/HBaseTablespace.java b/tajo-storage/tajo-storage-hbase/src/main/java/org/apache/tajo/storage/hbase/HBaseTablespace.java
index 3541c50..a7aa11b 100644
--- a/tajo-storage/tajo-storage-hbase/src/main/java/org/apache/tajo/storage/hbase/HBaseTablespace.java
+++ b/tajo-storage/tajo-storage-hbase/src/main/java/org/apache/tajo/storage/hbase/HBaseTablespace.java
@@ -142,8 +142,8 @@ public class HBaseTablespace extends Tablespace {
     ColumnMapping columnMapping = new ColumnMapping(schema, tableMeta.getPropertySet());
     int numRowKeys = 0;
     boolean[] isRowKeyMappings = columnMapping.getIsRowKeyMappings();
-    for (int i = 0; i < isRowKeyMappings.length; i++) {
-      if (isRowKeyMappings[i]) {
+    for (boolean isRowKeyMapping : isRowKeyMappings) {
+      if (isRowKeyMapping) {
         numRowKeys++;
       }
     }

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-storage/tajo-storage-hdfs/src/main/java/org/apache/tajo/storage/FileTablespace.java
----------------------------------------------------------------------
diff --git a/tajo-storage/tajo-storage-hdfs/src/main/java/org/apache/tajo/storage/FileTablespace.java b/tajo-storage/tajo-storage-hdfs/src/main/java/org/apache/tajo/storage/FileTablespace.java
index ee4512b..e50d587 100644
--- a/tajo-storage/tajo-storage-hdfs/src/main/java/org/apache/tajo/storage/FileTablespace.java
+++ b/tajo-storage/tajo-storage-hdfs/src/main/java/org/apache/tajo/storage/FileTablespace.java
@@ -321,9 +321,7 @@ public class FileTablespace extends Tablespace {
 
     PathFilter inputFilter = new MultiPathFilter(filters);
 
-    for (int i = 0; i < dirs.length; ++i) {
-      Path p = dirs[i];
-
+    for (Path p : dirs) {
       FileStatus[] matches = fs.globStatus(p, inputFilter);
       if (matches == null) {
         LOG.warn("Input path does not exist: " + p);

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-storage/tajo-storage-hdfs/src/main/java/org/apache/tajo/storage/parquet/TajoSchemaConverter.java
----------------------------------------------------------------------
diff --git a/tajo-storage/tajo-storage-hdfs/src/main/java/org/apache/tajo/storage/parquet/TajoSchemaConverter.java b/tajo-storage/tajo-storage-hdfs/src/main/java/org/apache/tajo/storage/parquet/TajoSchemaConverter.java
index e4f4730..3d573f6 100644
--- a/tajo-storage/tajo-storage-hdfs/src/main/java/org/apache/tajo/storage/parquet/TajoSchemaConverter.java
+++ b/tajo-storage/tajo-storage-hdfs/src/main/java/org/apache/tajo/storage/parquet/TajoSchemaConverter.java
@@ -55,8 +55,7 @@ public class TajoSchemaConverter {
 
   private Schema convertFields(List<Type> parquetFields) {
     List<Column> columns = new ArrayList<>();
-    for (int i = 0; i < parquetFields.size(); ++i) {
-      Type fieldType = parquetFields.get(i);
+    for (Type fieldType : parquetFields) {
       if (fieldType.isRepetition(Type.Repetition.REPEATED)) {
         throw new RuntimeException("REPEATED not supported outside LIST or" +
             " MAP. Type: " + fieldType);

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-storage/tajo-storage-hdfs/src/main/java/org/apache/tajo/storage/rcfile/RCFile.java
----------------------------------------------------------------------
diff --git a/tajo-storage/tajo-storage-hdfs/src/main/java/org/apache/tajo/storage/rcfile/RCFile.java b/tajo-storage/tajo-storage-hdfs/src/main/java/org/apache/tajo/storage/rcfile/RCFile.java
index 26bbcaf..ebdc472 100644
--- a/tajo-storage/tajo-storage-hdfs/src/main/java/org/apache/tajo/storage/rcfile/RCFile.java
+++ b/tajo-storage/tajo-storage-hdfs/src/main/java/org/apache/tajo/storage/rcfile/RCFile.java
@@ -906,8 +906,7 @@ public class RCFile {
     public int getKeyBufferSize() throws IOException {
       int ret = 0;
       ret += WritableUtils.getVIntSize(bufferedRecords);
-      for (int i = 0; i < columnBuffers.length; i++) {
-        ColumnBuffer currentBuf = columnBuffers[i];
+      for (ColumnBuffer currentBuf : columnBuffers) {
         ret += WritableUtils.getVIntSize(currentBuf.columnValueLength);
         ret += WritableUtils.getVIntSize(currentBuf.uncompressedColumnValueLength);
         ret += WritableUtils.getVIntSize(currentBuf.columnKeyLength);
@@ -927,8 +926,7 @@ public class RCFile {
       int ret = 12; //12 bytes |record count, key length, compressed key length|
 
       ret += WritableUtils.getVIntSize(bufferedRecords);
-      for (int i = 0; i < columnBuffers.length; i++) {
-        ColumnBuffer currentBuf = columnBuffers[i];
+      for (ColumnBuffer currentBuf : columnBuffers) {
         ret += WritableUtils.getVIntSize(currentBuf.columnValueLength);
         ret += WritableUtils.getVIntSize(currentBuf.uncompressedColumnValueLength);
         ret += WritableUtils.getVIntSize(currentBuf.columnKeyLength);
@@ -941,8 +939,7 @@ public class RCFile {
 
     private void WriteKeyBuffer(DataOutputStream out) throws IOException {
       WritableUtils.writeVLong(out, bufferedRecords);
-      for (int i = 0; i < columnBuffers.length; i++) {
-        ColumnBuffer currentBuf = columnBuffers[i];
+      for (ColumnBuffer currentBuf : columnBuffers) {
         WritableUtils.writeVLong(out, currentBuf.columnValueLength);
         WritableUtils.writeVLong(out, currentBuf.uncompressedColumnValueLength);
         WritableUtils.writeVLong(out, currentBuf.columnKeyLength);

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-storage/tajo-storage-hdfs/src/main/java/org/apache/tajo/storage/sequencefile/SequenceFileScanner.java
----------------------------------------------------------------------
diff --git a/tajo-storage/tajo-storage-hdfs/src/main/java/org/apache/tajo/storage/sequencefile/SequenceFileScanner.java b/tajo-storage/tajo-storage-hdfs/src/main/java/org/apache/tajo/storage/sequencefile/SequenceFileScanner.java
index 9ad5ab3..194d6a9 100644
--- a/tajo-storage/tajo-storage-hdfs/src/main/java/org/apache/tajo/storage/sequencefile/SequenceFileScanner.java
+++ b/tajo-storage/tajo-storage-hdfs/src/main/java/org/apache/tajo/storage/sequencefile/SequenceFileScanner.java
@@ -240,8 +240,8 @@ public class SequenceFileScanner extends FileScanner {
         fieldLength[i] = elementSize;
         lastFieldByteEnd = fieldStart[i] + fieldLength[i];
 
-        for (int j = 0; j < projectionMap.length; j++) {
-          if (projectionMap[j] == i) {
+        for (int aProjectionMap : projectionMap) {
+          if (aProjectionMap == i) {
             Datum datum = serde.deserialize(i, bytes, fieldStart[i], fieldLength[i], nullChars);
             outTuple.put(i, datum);
           }

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-storage/tajo-storage-hdfs/src/main/java/org/apache/tajo/storage/thirdparty/orc/OrcUtils.java
----------------------------------------------------------------------
diff --git a/tajo-storage/tajo-storage-hdfs/src/main/java/org/apache/tajo/storage/thirdparty/orc/OrcUtils.java b/tajo-storage/tajo-storage-hdfs/src/main/java/org/apache/tajo/storage/thirdparty/orc/OrcUtils.java
index 28ddd02..3a474dd 100644
--- a/tajo-storage/tajo-storage-hdfs/src/main/java/org/apache/tajo/storage/thirdparty/orc/OrcUtils.java
+++ b/tajo-storage/tajo-storage-hdfs/src/main/java/org/apache/tajo/storage/thirdparty/orc/OrcUtils.java
@@ -117,8 +117,8 @@ public class OrcUtils {
               endIdx += 1;
               StructObjectInspector structInsp = (StructObjectInspector) sfOI;
               List<? extends StructField> structFields = structInsp.getAllStructFieldRefs();
-              for (int j = 0; j < structFields.size(); ++j) {
-                endIdx += getFlattenedColumnsCount(structFields.get(j).getFieldObjectInspector());
+              for (StructField structField : structFields) {
+                endIdx += getFlattenedColumnsCount(structField.getFieldObjectInspector());
               }
               break;
             case MAP:
@@ -136,8 +136,8 @@ public class OrcUtils {
               endIdx += 1;
               UnionObjectInspector unionInsp = (UnionObjectInspector) sfOI;
               List<ObjectInspector> choices = unionInsp.getObjectInspectors();
-              for (int j = 0; j < choices.size(); ++j) {
-                endIdx += getFlattenedColumnsCount(choices.get(j));
+              for (ObjectInspector choice : choices) {
+                endIdx += getFlattenedColumnsCount(choice);
               }
               break;
             default:
@@ -168,8 +168,8 @@ public class OrcUtils {
         numWriters += 1;
         StructObjectInspector structInsp = (StructObjectInspector) inspector;
         List<? extends StructField> fields = structInsp.getAllStructFieldRefs();
-        for (int i = 0; i < fields.size(); ++i) {
-          numWriters += getFlattenedColumnsCount(fields.get(i).getFieldObjectInspector());
+        for (StructField field : fields) {
+          numWriters += getFlattenedColumnsCount(field.getFieldObjectInspector());
         }
         break;
       case MAP:
@@ -187,8 +187,8 @@ public class OrcUtils {
         numWriters += 1;
         UnionObjectInspector unionInsp = (UnionObjectInspector) inspector;
         List<ObjectInspector> choices = unionInsp.getObjectInspectors();
-        for (int i = 0; i < choices.size(); ++i) {
-          numWriters += getFlattenedColumnsCount(choices.get(i));
+        for (ObjectInspector choice : choices) {
+          numWriters += getFlattenedColumnsCount(choice);
         }
         break;
       default:

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/AnnotationWriter.java
----------------------------------------------------------------------
diff --git a/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/AnnotationWriter.java b/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/AnnotationWriter.java
index 69f90c6..7e092b8 100644
--- a/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/AnnotationWriter.java
+++ b/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/AnnotationWriter.java
@@ -138,50 +138,50 @@ final class AnnotationWriter extends AnnotationVisitor {
         } else if (value instanceof byte[]) {
             byte[] v = (byte[]) value;
             bv.put12('[', v.length);
-            for (int i = 0; i < v.length; i++) {
-                bv.put12('B', cw.newInteger(v[i]).index);
+            for (byte aV : v) {
+                bv.put12('B', cw.newInteger(aV).index);
             }
         } else if (value instanceof boolean[]) {
             boolean[] v = (boolean[]) value;
             bv.put12('[', v.length);
-            for (int i = 0; i < v.length; i++) {
-                bv.put12('Z', cw.newInteger(v[i] ? 1 : 0).index);
+            for (boolean aV : v) {
+                bv.put12('Z', cw.newInteger(aV ? 1 : 0).index);
             }
         } else if (value instanceof short[]) {
             short[] v = (short[]) value;
             bv.put12('[', v.length);
-            for (int i = 0; i < v.length; i++) {
-                bv.put12('S', cw.newInteger(v[i]).index);
+            for (short aV : v) {
+                bv.put12('S', cw.newInteger(aV).index);
             }
         } else if (value instanceof char[]) {
             char[] v = (char[]) value;
             bv.put12('[', v.length);
-            for (int i = 0; i < v.length; i++) {
-                bv.put12('C', cw.newInteger(v[i]).index);
+            for (char aV : v) {
+                bv.put12('C', cw.newInteger(aV).index);
             }
         } else if (value instanceof int[]) {
             int[] v = (int[]) value;
             bv.put12('[', v.length);
-            for (int i = 0; i < v.length; i++) {
-                bv.put12('I', cw.newInteger(v[i]).index);
+            for (int aV : v) {
+                bv.put12('I', cw.newInteger(aV).index);
             }
         } else if (value instanceof long[]) {
             long[] v = (long[]) value;
             bv.put12('[', v.length);
-            for (int i = 0; i < v.length; i++) {
-                bv.put12('J', cw.newLong(v[i]).index);
+            for (long aV : v) {
+                bv.put12('J', cw.newLong(aV).index);
             }
         } else if (value instanceof float[]) {
             float[] v = (float[]) value;
             bv.put12('[', v.length);
-            for (int i = 0; i < v.length; i++) {
-                bv.put12('F', cw.newFloat(v[i]).index);
+            for (float aV : v) {
+                bv.put12('F', cw.newFloat(aV).index);
             }
         } else if (value instanceof double[]) {
             double[] v = (double[]) value;
             bv.put12('[', v.length);
-            for (int i = 0; i < v.length; i++) {
-                bv.put12('D', cw.newDouble(v[i]).index);
+            for (double aV : v) {
+                bv.put12('D', cw.newDouble(aV).index);
             }
         } else {
             Item i = cw.newConstItem(value);

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/ClassReader.java
----------------------------------------------------------------------
diff --git a/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/ClassReader.java b/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/ClassReader.java
index ed6ac9d..275b4d0 100644
--- a/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/ClassReader.java
+++ b/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/ClassReader.java
@@ -1945,9 +1945,9 @@ public class ClassReader {
     private Attribute readAttribute(final Attribute[] attrs, final String type,
             final int off, final int len, final char[] buf, final int codeOff,
             final Label[] labels) {
-        for (int i = 0; i < attrs.length; ++i) {
-            if (attrs[i].type.equals(type)) {
-                return attrs[i].read(this, off, len, buf, codeOff, labels);
+        for (Attribute attr : attrs) {
+            if (attr.type.equals(type)) {
+                return attr.read(this, off, len, buf, codeOff, labels);
             }
         }
         return new Attribute(type).read(this, off, len, null, -1, null);

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/ClassWriter.java
----------------------------------------------------------------------
diff --git a/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/ClassWriter.java b/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/ClassWriter.java
index af4c719..f165843 100644
--- a/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/ClassWriter.java
+++ b/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/ClassWriter.java
@@ -1200,8 +1200,7 @@ public class ClassWriter extends ClassVisitor {
         int argsLength = bsmArgs.length;
         bootstrapMethods.putShort(argsLength);
 
-        for (int i = 0; i < argsLength; i++) {
-            Object bsmArg = bsmArgs[i];
+        for (Object bsmArg : bsmArgs) {
             hashCode ^= bsmArg.hashCode();
             bootstrapMethods.putShort(newConst(bsmArg));
         }

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/Frame.java
----------------------------------------------------------------------
diff --git a/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/Frame.java b/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/Frame.java
index 73d00d9..fff5a18 100644
--- a/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/Frame.java
+++ b/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/Frame.java
@@ -821,8 +821,8 @@ final class Frame {
                 inputLocals[i++] = UNINITIALIZED_THIS;
             }
         }
-        for (int j = 0; j < args.length; ++j) {
-            int t = type(cw, args[j].getDescriptor());
+        for (Type arg : args) {
+            int t = type(cw, arg.getDescriptor());
             inputLocals[i++] = t;
             if (t == LONG || t == DOUBLE) {
                 inputLocals[i++] = TOP;

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/MethodWriter.java
----------------------------------------------------------------------
diff --git a/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/MethodWriter.java b/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/MethodWriter.java
index 290cf97..4371a52 100644
--- a/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/MethodWriter.java
+++ b/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/MethodWriter.java
@@ -1108,8 +1108,8 @@ class MethodWriter extends MethodVisitor {
         code.putByteArray(null, 0, (4 - code.length % 4) % 4);
         dflt.put(this, code, source, true);
         code.putInt(min).putInt(max);
-        for (int i = 0; i < labels.length; ++i) {
-            labels[i].put(this, code, source, true);
+        for (Label label : labels) {
+            label.put(this, code, source, true);
         }
         // updates currentBlock
         visitSwitchInsn(dflt, labels);
@@ -1140,17 +1140,17 @@ class MethodWriter extends MethodVisitor {
                 // adds current block successors
                 addSuccessor(Edge.NORMAL, dflt);
                 dflt.getFirst().status |= Label.TARGET;
-                for (int i = 0; i < labels.length; ++i) {
-                    addSuccessor(Edge.NORMAL, labels[i]);
-                    labels[i].getFirst().status |= Label.TARGET;
+                for (Label label : labels) {
+                    addSuccessor(Edge.NORMAL, label);
+                    label.getFirst().status |= Label.TARGET;
                 }
             } else {
                 // updates current stack size (max stack size unchanged)
                 --stackSize;
                 // adds current block successors
                 addSuccessor(stackSize, dflt);
-                for (int i = 0; i < labels.length; ++i) {
-                    addSuccessor(stackSize, labels[i]);
+                for (Label label : labels) {
+                    addSuccessor(stackSize, label);
                 }
             }
             // ends current block

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/Type.java
----------------------------------------------------------------------
diff --git a/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/Type.java b/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/Type.java
index 38f78f5..b36bc75 100644
--- a/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/Type.java
+++ b/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/Type.java
@@ -644,8 +644,8 @@ public class Type {
             final Type... argumentTypes) {
         StringBuffer buf = new StringBuffer();
         buf.append('(');
-        for (int i = 0; i < argumentTypes.length; ++i) {
-            argumentTypes[i].getDescriptor(buf);
+        for (Type argumentType : argumentTypes) {
+            argumentType.getDescriptor(buf);
         }
         buf.append(')');
         returnType.getDescriptor(buf);
@@ -715,8 +715,8 @@ public class Type {
         Class<?>[] parameters = c.getParameterTypes();
         StringBuffer buf = new StringBuffer();
         buf.append('(');
-        for (int i = 0; i < parameters.length; ++i) {
-            getDescriptor(buf, parameters[i]);
+        for (Class<?> parameter : parameters) {
+            getDescriptor(buf, parameter);
         }
         return buf.append(")V").toString();
     }
@@ -732,8 +732,8 @@ public class Type {
         Class<?>[] parameters = m.getParameterTypes();
         StringBuffer buf = new StringBuffer();
         buf.append('(');
-        for (int i = 0; i < parameters.length; ++i) {
-            getDescriptor(buf, parameters[i]);
+        for (Class<?> parameter : parameters) {
+            getDescriptor(buf, parameter);
         }
         buf.append(')');
         getDescriptor(buf, m.getReturnType());

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/AdviceAdapter.java
----------------------------------------------------------------------
diff --git a/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/AdviceAdapter.java b/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/AdviceAdapter.java
index aa4170c..a54f368 100644
--- a/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/AdviceAdapter.java
+++ b/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/AdviceAdapter.java
@@ -419,9 +419,9 @@ public abstract class AdviceAdapter extends GeneratorAdapter implements Opcodes
         mv.visitMethodInsn(opcode, owner, name, desc);
         if (constructor) {
             Type[] types = Type.getArgumentTypes(desc);
-            for (int i = 0; i < types.length; i++) {
+            for (Type eachType : types) {
                 popValue();
-                if (types[i].getSize() == 2) {
+                if (eachType.getSize() == 2) {
                     popValue();
                 }
             }
@@ -460,9 +460,9 @@ public abstract class AdviceAdapter extends GeneratorAdapter implements Opcodes
         mv.visitInvokeDynamicInsn(name, desc, bsm, bsmArgs);
         if (constructor) {
             Type[] types = Type.getArgumentTypes(desc);
-            for (int i = 0; i < types.length; i++) {
+            for (Type type : types) {
                 popValue();
-                if (types[i].getSize() == 2) {
+                if (type.getSize() == 2) {
                     popValue();
                 }
             }
@@ -544,8 +544,8 @@ public abstract class AdviceAdapter extends GeneratorAdapter implements Opcodes
 
     private void addBranches(final Label dflt, final Label[] labels) {
         addBranch(dflt);
-        for (int i = 0; i < labels.length; i++) {
-            addBranch(labels[i]);
+        for (Label label : labels) {
+            addBranch(label);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/AnalyzerAdapter.java
----------------------------------------------------------------------
diff --git a/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/AnalyzerAdapter.java b/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/AnalyzerAdapter.java
index c2ad1f0..43a61bb 100644
--- a/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/AnalyzerAdapter.java
+++ b/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/AnalyzerAdapter.java
@@ -177,8 +177,7 @@ public class AnalyzerAdapter extends MethodVisitor {
             }
         }
         Type[] types = Type.getArgumentTypes(desc);
-        for (int i = 0; i < types.length; ++i) {
-            Type type = types[i];
+        for (Type type : types) {
             switch (type.getSort()) {
             case Type.BOOLEAN:
             case Type.CHAR:
@@ -199,11 +198,11 @@ public class AnalyzerAdapter extends MethodVisitor {
                 locals.add(Opcodes.TOP);
                 break;
             case Type.ARRAY:
-                locals.add(types[i].getDescriptor());
+                locals.add(type.getDescriptor());
                 break;
             // case Type.OBJECT:
             default:
-                locals.add(types[i].getInternalName());
+                locals.add(type.getInternalName());
             }
         }
     }
@@ -283,8 +282,8 @@ public class AnalyzerAdapter extends MethodVisitor {
                     mv.visitLabel(l);
                 }
             }
-            for (int i = 0; i < labels.size(); ++i) {
-                uninitializedTypes.put(labels.get(i), type);
+            for (Label label : labels) {
+                uninitializedTypes.put(label, type);
             }
         }
         if (mv != null) {
@@ -538,8 +537,8 @@ public class AnalyzerAdapter extends MethodVisitor {
         if (c == '(') {
             int n = 0;
             Type[] types = Type.getArgumentTypes(desc);
-            for (int i = 0; i < types.length; ++i) {
-                n += types[i].getSize();
+            for (Type type : types) {
+                n += type.getSize();
             }
             pop(n);
         } else if (c == 'J' || c == 'D') {

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/GeneratorAdapter.java
----------------------------------------------------------------------
diff --git a/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/GeneratorAdapter.java b/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/GeneratorAdapter.java
index 8cf20ff..380925d 100644
--- a/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/GeneratorAdapter.java
+++ b/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/GeneratorAdapter.java
@@ -1258,8 +1258,8 @@ public class GeneratorAdapter extends LocalVariablesSorter {
             if (useTable) {
                 Label[] labels = new Label[range];
                 Arrays.fill(labels, def);
-                for (int i = 0; i < len; ++i) {
-                    labels[keys[i] - min] = newLabel();
+                for (int key : keys) {
+                    labels[key - min] = newLabel();
                 }
                 mv.visitTableSwitchInsn(min, max, def, labels);
                 for (int i = 0; i < range; ++i) {

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/JSRInlinerAdapter.java
----------------------------------------------------------------------
diff --git a/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/JSRInlinerAdapter.java b/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/JSRInlinerAdapter.java
index a8c38f9..861e752 100644
--- a/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/JSRInlinerAdapter.java
+++ b/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/JSRInlinerAdapter.java
@@ -193,9 +193,8 @@ public class JSRInlinerAdapter extends MethodNode implements Opcodes {
 
         // Go through the head of each subroutine and find any nodes reachable
         // to that subroutine without following any JSR links.
-        for (Iterator<Map.Entry<LabelNode, BitSet>> it = subroutineHeads
-                .entrySet().iterator(); it.hasNext();) {
-            Map.Entry<LabelNode, BitSet> entry = it.next();
+        for (Map.Entry<LabelNode, BitSet> entry : subroutineHeads
+                .entrySet()) {
             LabelNode lab = entry.getKey();
             BitSet sub = entry.getValue();
             int index = instructions.indexOf(lab);
@@ -232,10 +231,7 @@ public class JSRInlinerAdapter extends MethodNode implements Opcodes {
         boolean loop = true;
         while (loop) {
             loop = false;
-            for (Iterator<TryCatchBlockNode> it = tryCatchBlocks.iterator(); it
-                    .hasNext();) {
-                TryCatchBlockNode trycatch = it.next();
-
+            for (TryCatchBlockNode trycatch : tryCatchBlocks) {
                 if (LOGGING) {
                     // TODO use of default toString().
                     log("Scanning try/catch " + trycatch);
@@ -505,10 +501,7 @@ public class JSRInlinerAdapter extends MethodNode implements Opcodes {
         }
 
         // Emit try/catch blocks that are relevant to this method.
-        for (Iterator<TryCatchBlockNode> it = tryCatchBlocks.iterator(); it
-                .hasNext();) {
-            TryCatchBlockNode trycatch = it.next();
-
+        for (TryCatchBlockNode trycatch : tryCatchBlocks) {
             if (LOGGING) {
                 // TODO use of default toString().
                 log("try catch block original labels=" + trycatch.start + '-'
@@ -542,9 +535,7 @@ public class JSRInlinerAdapter extends MethodNode implements Opcodes {
                     trycatch.type));
         }
 
-        for (Iterator<LocalVariableNode> it = localVariables.iterator(); it
-                .hasNext();) {
-            LocalVariableNode lvnode = it.next();
+        for (LocalVariableNode lvnode : localVariables) {
             if (LOGGING) {
                 log("local var " + lvnode.name);
             }

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/LocalVariablesSorter.java
----------------------------------------------------------------------
diff --git a/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/LocalVariablesSorter.java b/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/LocalVariablesSorter.java
index 0fdcb1e..5422dd0 100644
--- a/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/LocalVariablesSorter.java
+++ b/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/LocalVariablesSorter.java
@@ -113,8 +113,8 @@ public class LocalVariablesSorter extends MethodVisitor {
         super(api, mv);
         Type[] args = Type.getArgumentTypes(desc);
         nextLocal = (Opcodes.ACC_STATIC & access) == 0 ? 1 : 0;
-        for (int i = 0; i < args.length; i++) {
-            nextLocal += args[i].getSize();
+        for (Type arg : args) {
+            nextLocal += arg.getSize();
         }
         firstLocal = nextLocal;
     }

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/Remapper.java
----------------------------------------------------------------------
diff --git a/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/Remapper.java b/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/Remapper.java
index 3d02a3a..38672e0 100644
--- a/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/Remapper.java
+++ b/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/Remapper.java
@@ -119,8 +119,8 @@ public abstract class Remapper {
 
         Type[] args = Type.getArgumentTypes(desc);
         StringBuffer s = new StringBuffer("(");
-        for (int i = 0; i < args.length; i++) {
-            s.append(mapDesc(args[i].getDescriptor()));
+        for (Type arg : args) {
+            s.append(mapDesc(arg.getDescriptor()));
         }
         Type returnType = Type.getReturnType(desc);
         if (returnType == Type.VOID_TYPE) {

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/SerialVersionUIDAdder.java
----------------------------------------------------------------------
diff --git a/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/SerialVersionUIDAdder.java b/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/SerialVersionUIDAdder.java
index 6477fa5..56ee953 100644
--- a/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/SerialVersionUIDAdder.java
+++ b/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/commons/SerialVersionUIDAdder.java
@@ -370,8 +370,8 @@ public class SerialVersionUIDAdder extends ClassVisitor {
              * encoding.
              */
             Arrays.sort(interfaces);
-            for (int i = 0; i < interfaces.length; i++) {
-                dos.writeUTF(interfaces[i].replace('/', '.'));
+            for (String anInterface : interfaces) {
+                dos.writeUTF(anInterface.replace('/', '.'));
             }
 
             /*

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/optimizer/AnnotationConstantsCollector.java
----------------------------------------------------------------------
diff --git a/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/optimizer/AnnotationConstantsCollector.java b/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/optimizer/AnnotationConstantsCollector.java
index 8bb50f9..a92deae 100644
--- a/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/optimizer/AnnotationConstantsCollector.java
+++ b/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/optimizer/AnnotationConstantsCollector.java
@@ -66,43 +66,43 @@ public class AnnotationConstantsCollector extends AnnotationVisitor {
             cp.newUTF8(((Type) value).getDescriptor());
         } else if (value instanceof byte[]) {
             byte[] v = (byte[]) value;
-            for (int i = 0; i < v.length; i++) {
-                cp.newInteger(v[i]);
+            for (byte aV : v) {
+                cp.newInteger(aV);
             }
         } else if (value instanceof boolean[]) {
             boolean[] v = (boolean[]) value;
-            for (int i = 0; i < v.length; i++) {
-                cp.newInteger(v[i] ? 1 : 0);
+            for (boolean aV : v) {
+                cp.newInteger(aV ? 1 : 0);
             }
         } else if (value instanceof short[]) {
             short[] v = (short[]) value;
-            for (int i = 0; i < v.length; i++) {
-                cp.newInteger(v[i]);
+            for (short aV : v) {
+                cp.newInteger(aV);
             }
         } else if (value instanceof char[]) {
             char[] v = (char[]) value;
-            for (int i = 0; i < v.length; i++) {
-                cp.newInteger(v[i]);
+            for (char aV : v) {
+                cp.newInteger(aV);
             }
         } else if (value instanceof int[]) {
             int[] v = (int[]) value;
-            for (int i = 0; i < v.length; i++) {
-                cp.newInteger(v[i]);
+            for (int aV : v) {
+                cp.newInteger(aV);
             }
         } else if (value instanceof long[]) {
             long[] v = (long[]) value;
-            for (int i = 0; i < v.length; i++) {
-                cp.newLong(v[i]);
+            for (long aV : v) {
+                cp.newLong(aV);
             }
         } else if (value instanceof float[]) {
             float[] v = (float[]) value;
-            for (int i = 0; i < v.length; i++) {
-                cp.newFloat(v[i]);
+            for (float aV : v) {
+                cp.newFloat(aV);
             }
         } else if (value instanceof double[]) {
             double[] v = (double[]) value;
-            for (int i = 0; i < v.length; i++) {
-                cp.newDouble(v[i]);
+            for (double aV : v) {
+                cp.newDouble(aV);
             }
         } else {
             cp.newConst(value);

http://git-wip-us.apache.org/repos/asf/tajo/blob/0d434cdb/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/optimizer/ClassConstantsCollector.java
----------------------------------------------------------------------
diff --git a/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/optimizer/ClassConstantsCollector.java b/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/optimizer/ClassConstantsCollector.java
index aeee5a7..15976f4 100644
--- a/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/optimizer/ClassConstantsCollector.java
+++ b/tajo-thirdparty/asm/src/main/java/org/apache/tajo/org/objectweb/asm/optimizer/ClassConstantsCollector.java
@@ -70,8 +70,8 @@ public class ClassConstantsCollector extends ClassVisitor {
             cp.newClass(superName);
         }
         if (interfaces != null) {
-            for (int i = 0; i < interfaces.length; ++i) {
-                cp.newClass(interfaces[i]);
+            for (String anInterface : interfaces) {
+                cp.newClass(anInterface);
             }
         }
         cv.visit(version, access, name, signature, superName, interfaces);
@@ -174,8 +174,8 @@ public class ClassConstantsCollector extends ClassVisitor {
         }
         if (exceptions != null) {
             cp.newUTF8("Exceptions");
-            for (int i = 0; i < exceptions.length; ++i) {
-                cp.newClass(exceptions[i]);
+            for (String exception : exceptions) {
+                cp.newClass(exception);
             }
         }
         return new MethodConstantsCollector(cv.visitMethod(access, name, desc,