diff --git a/src/main/java/org/sablecc/sablecc/GenLexer.java b/src/main/java/org/sablecc/sablecc/GenLexer.java
index f0a29bac5b797d5be59b110f96cef816d446bf17..7c776d736aa2232e1c36103c0b768d7f3260edd1 100644
--- a/src/main/java/org/sablecc/sablecc/GenLexer.java
+++ b/src/main/java/org/sablecc/sablecc/GenLexer.java
@@ -227,11 +227,11 @@ public class GenLexer extends AnalysisAdapter
         DFA dfa = acceptStatesArray[accSt].dfa;
 
         file.write("        { // " + acceptStatesArray[accSt].stateName + System.getProperty("line.separator"));
-        Vector outerArray = new Vector();
+        Vector<Vector<int[]>> outerArray = new Vector<>();
 
         for(DFA.State state : dfa.states)
         {
-          Vector innerArray = new Vector();
+          Vector<int[]> innerArray = new Vector<>();
 
           file.write("            {");
 
@@ -254,14 +254,11 @@ public class GenLexer extends AnalysisAdapter
         file.write("        }" + System.getProperty("line.separator"));
 
         out.writeInt(outerArray.size());
-        for(Enumeration e = outerArray.elements(); e.hasMoreElements();)
+        for(Vector<int[]> innerArray : outerArray)
         {
-          Vector innerArray = (Vector) e.nextElement();
           out.writeInt(innerArray.size());
-          for(Enumeration n = innerArray.elements(); n.hasMoreElements();)
+          for(int[] array : innerArray)
           {
-            int[] array = (int[]) n.nextElement();
-
             for(int i = 0; i < 3; i++)
             {
               out.writeInt(array[i]);
@@ -274,12 +271,12 @@ public class GenLexer extends AnalysisAdapter
 
       final int stateNumber = acceptStatesArray.length;
 
-      Vector outerArray = new Vector();
+      Vector<Vector<Integer>> outerArray = new Vector<>();
 
       for(int i = 0; i < stateNumber; i++)
       {
         DFA dfa = acceptStatesArray[i].dfa;
-        Vector innerArray = new Vector();
+        Vector<Integer> innerArray = new Vector<>();
 
         file.write("        // " + acceptStatesArray[i].stateName + System.getProperty("line.separator"));
         file.write("        {");
@@ -296,14 +293,12 @@ public class GenLexer extends AnalysisAdapter
       }
 
       out.writeInt(outerArray.size());
-      for(Enumeration e = outerArray.elements(); e.hasMoreElements();)
+      for(Vector<Integer> innerArray : outerArray)
       {
-        Vector innerArray = (Vector) e.nextElement();
         out.writeInt(innerArray.size());
-        for(Enumeration n = innerArray.elements(); n.hasMoreElements();)
+        for(int i : innerArray)
         {
-          Integer i = (Integer) n.nextElement();
-          out.writeInt(i.intValue());
+          out.writeInt(i);
         }
       }
       out.close();