You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2022/11/04 15:02:54 UTC

[commons-bcel] 02/02: Better class names

This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-bcel.git

commit 39e1722d65f0f7139368b086ef61003bb7bf15f2
Author: Gary David Gregory (Code signing key) <gg...@apache.org>
AuthorDate: Fri Nov 4 11:02:47 2022 -0400

    Better class names
    
    - Better local names
    - Generate hashCode(), equals(), and toString() with Eclipse
    - Sort members
---
 .../bcel/AbstractCounterVisitorTestCase.java       |   12 +-
 .../org/apache/bcel/classfile/UtilityTestCase.java |  110 +-
 .../apache/bcel/generic/BREAKPOINTTestCase.java    |    4 +-
 .../{CountVisitor.java => CountingVisitor.java}    | 2159 ++++++++------------
 .../java/org/apache/bcel/generic/D2FTestCase.java  |    4 +-
 .../java/org/apache/bcel/generic/D2ITestCase.java  |    4 +-
 .../java/org/apache/bcel/generic/D2LTestCase.java  |    4 +-
 .../java/org/apache/bcel/generic/DADDTestCase.java |    4 +-
 .../java/org/apache/bcel/generic/DDIVTestCase.java |    4 +-
 .../java/org/apache/bcel/generic/DMULTestCase.java |    4 +-
 .../java/org/apache/bcel/generic/DNEGTestCase.java |    4 +-
 .../java/org/apache/bcel/generic/DREMTestCase.java |    4 +-
 .../java/org/apache/bcel/generic/DSUBTestCase.java |    4 +-
 .../java/org/apache/bcel/generic/F2DTestCase.java  |    4 +-
 .../java/org/apache/bcel/generic/F2ITestCase.java  |    4 +-
 .../java/org/apache/bcel/generic/F2LTestCase.java  |    4 +-
 .../java/org/apache/bcel/generic/FADDTestCase.java |    4 +-
 .../java/org/apache/bcel/generic/FDIVTestCase.java |    4 +-
 .../java/org/apache/bcel/generic/FMULTestCase.java |    4 +-
 .../java/org/apache/bcel/generic/FNEGTestCase.java |    4 +-
 .../java/org/apache/bcel/generic/FREMTestCase.java |    4 +-
 .../java/org/apache/bcel/generic/FSUBTestCase.java |    4 +-
 .../org/apache/bcel/generic/GETFIELDTestCase.java  |    4 +-
 .../java/org/apache/bcel/generic/I2BTestCase.java  |    4 +-
 .../java/org/apache/bcel/generic/I2CTestCase.java  |    4 +-
 .../java/org/apache/bcel/generic/I2DTestCase.java  |    4 +-
 .../java/org/apache/bcel/generic/I2FTestCase.java  |    4 +-
 .../java/org/apache/bcel/generic/I2LTestCase.java  |    4 +-
 .../java/org/apache/bcel/generic/I2STestCase.java  |    4 +-
 .../java/org/apache/bcel/generic/IADDTestCase.java |    4 +-
 .../java/org/apache/bcel/generic/IANDTestCase.java |    4 +-
 .../java/org/apache/bcel/generic/IDIVTestCase.java |    4 +-
 .../org/apache/bcel/generic/IMPDEP1TestCase.java   |    4 +-
 .../org/apache/bcel/generic/IMPDEP2TestCase.java   |    4 +-
 .../java/org/apache/bcel/generic/IMULTestCase.java |    4 +-
 .../java/org/apache/bcel/generic/INEGTestCase.java |    4 +-
 .../java/org/apache/bcel/generic/IORTestCase.java  |    4 +-
 .../java/org/apache/bcel/generic/IREMTestCase.java |    4 +-
 .../java/org/apache/bcel/generic/ISHLTestCase.java |    4 +-
 .../java/org/apache/bcel/generic/ISHRTestCase.java |    4 +-
 .../java/org/apache/bcel/generic/ISUBTestCase.java |    4 +-
 .../java/org/apache/bcel/generic/IXORTestCase.java |    4 +-
 .../java/org/apache/bcel/generic/L2DTestCase.java  |    4 +-
 .../java/org/apache/bcel/generic/L2FTestCase.java  |    4 +-
 .../java/org/apache/bcel/generic/L2ITestCase.java  |    4 +-
 .../java/org/apache/bcel/generic/LADDTestCase.java |    4 +-
 .../java/org/apache/bcel/generic/LANDTestCase.java |    4 +-
 .../java/org/apache/bcel/generic/LCMPTestCase.java |    4 +-
 .../java/org/apache/bcel/generic/LDIVTestCase.java |    4 +-
 .../java/org/apache/bcel/generic/LMULTestCase.java |    4 +-
 .../java/org/apache/bcel/generic/LNEGTestCase.java |    4 +-
 .../java/org/apache/bcel/generic/LORTestCase.java  |    4 +-
 .../java/org/apache/bcel/generic/LREMTestCase.java |    4 +-
 .../java/org/apache/bcel/generic/LSHLTestCase.java |    4 +-
 .../java/org/apache/bcel/generic/LSHRTestCase.java |    4 +-
 .../java/org/apache/bcel/generic/LSUBTestCase.java |    4 +-
 .../java/org/apache/bcel/generic/LXORTestCase.java |    4 +-
 .../org/apache/bcel/generic/PUTFIELDTestCase.java  |    4 +-
 .../org/apache/bcel/generic/PUTSTATICTestCase.java |    4 +-
 .../{CounterVisitor.java => CountingVisitor.java}  |    2 +-
 60 files changed, 1026 insertions(+), 1481 deletions(-)

diff --git a/src/test/java/org/apache/bcel/AbstractCounterVisitorTestCase.java b/src/test/java/org/apache/bcel/AbstractCounterVisitorTestCase.java
index e2c421ce..bb360238 100644
--- a/src/test/java/org/apache/bcel/AbstractCounterVisitorTestCase.java
+++ b/src/test/java/org/apache/bcel/AbstractCounterVisitorTestCase.java
@@ -19,28 +19,28 @@ package org.apache.bcel;
 
 import org.apache.bcel.classfile.DescendingVisitor;
 import org.apache.bcel.classfile.JavaClass;
-import org.apache.bcel.visitors.CounterVisitor;
+import org.apache.bcel.visitors.CountingVisitor;
 import org.junit.jupiter.api.BeforeEach;
 
 public abstract class AbstractCounterVisitorTestCase extends AbstractTestCase {
-    private CounterVisitor visitor;
+    private CountingVisitor visitor;
 
     protected abstract JavaClass getTestClass() throws ClassNotFoundException;
 
-    public CounterVisitor getVisitor() {
+    public CountingVisitor getVisitor() {
         if (visitor == null) {
-            visitor = new CounterVisitor();
+            visitor = new CountingVisitor();
         }
         return visitor;
     }
 
     @BeforeEach
     public void setUp() throws ClassNotFoundException {
-        visitor = new CounterVisitor();
+        visitor = new CountingVisitor();
         new DescendingVisitor(getTestClass(), getVisitor()).visit();
     }
 
-    public void setVisitor(final CounterVisitor visitor) {
+    public void setVisitor(final CountingVisitor visitor) {
         this.visitor = visitor;
     }
 }
diff --git a/src/test/java/org/apache/bcel/classfile/UtilityTestCase.java b/src/test/java/org/apache/bcel/classfile/UtilityTestCase.java
index 2121aa06..7e38c013 100644
--- a/src/test/java/org/apache/bcel/classfile/UtilityTestCase.java
+++ b/src/test/java/org/apache/bcel/classfile/UtilityTestCase.java
@@ -27,43 +27,6 @@ import org.junit.jupiter.api.Test;
 
 public class UtilityTestCase {
 
-    @Test
-    public void testSignatureToStringWithGenerics() throws Exception {
-        // tests for BCEL-197
-        assertEquals("java.util.Map<X, java.util.List<Y>>", Utility.signatureToString("Ljava/util/Map<TX;Ljava/util/List<TY;>;>;"), "generic signature");
-        assertEquals("java.util.Set<? extends java.nio.file.OpenOption>", Utility.signatureToString("Ljava/util/Set<+Ljava/nio/file/OpenOption;>;"),
-            "generic signature");
-        assertEquals("java.nio.file.attribute.FileAttribute<?>[]", Utility.signatureToString("[Ljava/nio/file/attribute/FileAttribute<*>;"),
-            "generic signature");
-
-        // tests for BCEL-286
-        assertEquals(
-            "boofcv.alg.tracker.tld.TldTracker<boofcv.struct.image.ImageGray<boofcv.struct.image.GrayU8>, boofcv.struct.image.GrayI<boofcv.struct.image.GrayU8>>",
-            Utility.signatureToString(
-                "Lboofcv/alg/tracker/tld/TldTracker<Lboofcv/struct/image/ImageGray<Lboofcv/struct/image/GrayU8;>;Lboofcv/struct/image/GrayI<Lboofcv/struct/image/GrayU8;>;>;"),
-            "generic signature");
-        assertEquals("java.util.Map<?, ?>", Utility.signatureToString("Ljava/util/Map<**>;"), "generic signature");
-        assertEquals("com.jme3.util.IntMap<T>.IntMapIterator", Utility.signatureToString("Lcom/jme3/util/IntMap<TT;>.IntMapIterator;"), "generic signature");
-
-        // tests for BCEL-279
-        assertEquals("<T extends java.lang.Object>(com.google.common.io.ByteProcessor<T>, int)T",
-            Utility.signatureToString("<T:Ljava/lang/Object;>(Lcom/google/common/io/ByteProcessor<TT;>;I)TT;", false), "type parameters signature");
-        assertEquals("<T extends Object>(com.google.common.io.ByteProcessor<T>, int)T",
-            Utility.signatureToString("<T:Ljava/lang/Object;>(Lcom/google/common/io/ByteProcessor<TT;>;I)TT;", true), "type parameters signature");
-        assertEquals("<M extends java.lang.reflect.AccessibleObject & java.lang.reflect.Member>(M)void",
-            Utility.signatureToString("<M:Ljava/lang/reflect/AccessibleObject;:Ljava/lang/reflect/Member;>(TM;)V"), "type parameters signature");
-        assertEquals("<K1 extends K, V1 extends V>()com.google.common.cache.Weigher<K1, V1>",
-            Utility.signatureToString("<K1:TK;V1:TV;>()Lcom/google/common/cache/Weigher<TK1;TV1;>;"), "type parameters signature");
-        assertEquals("<K1 extends K, V1 extends V>(com.google.common.cache.Weigher<? super K1, ? super V1>)com.google.common.cache.CacheBuilder<K1, V1>",
-            Utility.signatureToString("<K1:TK;V1:TV;>(Lcom/google/common/cache/Weigher<-TK1;-TV1;>;)Lcom/google/common/cache/CacheBuilder<TK1;TV1;>;"),
-            "type parameters signature");
-        assertEquals("<N extends java.lang.Object, E extends java.lang.Object> extends java.lang.Object implements com.google.common.graph.Network<N, E>",
-            Utility.signatureToString("<N:Ljava/lang/Object;E:Ljava/lang/Object;>Ljava/lang/Object;Lcom/google/common/graph/Network<TN;TE;>;", false),
-            "class signature");
-        assertEquals("<K extends Object, V extends Object> extends Object",
-            Utility.signatureToString("<K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/Object;"), "class signature");
-    }
-
     @Test
     public void testClearBit() {
         assertEquals(0, Utility.clearBit(0, 0));
@@ -76,14 +39,13 @@ public class UtilityTestCase {
     }
 
     @Test
-    public void testSetBit() {
-        assertEquals(1, Utility.setBit(0, 0), "0 bit 0 set to 1 -> 1");
-        assertEquals(1, Utility.setBit(1, 0), "1 bit 0 is 1 hence no change");
-        assertEquals(3, Utility.setBit(1, 1), "1 bit 1 set to 1 -> 3");
-        assertEquals(8, Utility.setBit(8, 3), "1000 bit 3 is 1 hence no change");
-        assertEquals(9, Utility.setBit(1, 3), "0001 bit 3 set to 1 -> 1001");
-        assertEquals(-1, Utility.setBit(-2, 0), "111...10 set bit 0 to 1 -> 111..11");
-        assertEquals(Integer.MIN_VALUE, Utility.setBit(0, 31), "000...00 set bit 31 to 0 -> 100..00");
+    public void testConvertString() {
+        assertEquals("\\n", Utility.convertString("\n"));
+        assertEquals("\\r", Utility.convertString("\r"));
+        assertEquals("\\\"", Utility.convertString("\""));
+        assertEquals("\\'", Utility.convertString("'"));
+        assertEquals("\\\\", Utility.convertString("\\"));
+        assertEquals("abc", Utility.convertString("abc"));
     }
 
     @Test
@@ -98,16 +60,6 @@ public class UtilityTestCase {
         assertFalse(Utility.isSet(9, 1));
     }
 
-    @Test
-    public void testConvertString() {
-        assertEquals("\\n", Utility.convertString("\n"));
-        assertEquals("\\r", Utility.convertString("\r"));
-        assertEquals("\\\"", Utility.convertString("\""));
-        assertEquals("\\'", Utility.convertString("'"));
-        assertEquals("\\\\", Utility.convertString("\\"));
-        assertEquals("abc", Utility.convertString("abc"));
-    }
-
     @Test
     public void testPrintArray() {
         assertEquals(null, Utility.printArray(null, false, false));
@@ -129,4 +81,52 @@ public class UtilityTestCase {
         assertEquals(Const.I2D, Utility.searchOpcode("I2D"), "case insensitive");
         assertEquals(Const.UNDEFINED, Utility.searchOpcode("???"), "not found");
     }
+
+    @Test
+    public void testSetBit() {
+        assertEquals(1, Utility.setBit(0, 0), "0 bit 0 set to 1 -> 1");
+        assertEquals(1, Utility.setBit(1, 0), "1 bit 0 is 1 hence no change");
+        assertEquals(3, Utility.setBit(1, 1), "1 bit 1 set to 1 -> 3");
+        assertEquals(8, Utility.setBit(8, 3), "1000 bit 3 is 1 hence no change");
+        assertEquals(9, Utility.setBit(1, 3), "0001 bit 3 set to 1 -> 1001");
+        assertEquals(-1, Utility.setBit(-2, 0), "111...10 set bit 0 to 1 -> 111..11");
+        assertEquals(Integer.MIN_VALUE, Utility.setBit(0, 31), "000...00 set bit 31 to 0 -> 100..00");
+    }
+
+    @Test
+    public void testSignatureToStringWithGenerics() throws Exception {
+        // tests for BCEL-197
+        assertEquals("java.util.Map<X, java.util.List<Y>>", Utility.signatureToString("Ljava/util/Map<TX;Ljava/util/List<TY;>;>;"), "generic signature");
+        assertEquals("java.util.Set<? extends java.nio.file.OpenOption>", Utility.signatureToString("Ljava/util/Set<+Ljava/nio/file/OpenOption;>;"),
+            "generic signature");
+        assertEquals("java.nio.file.attribute.FileAttribute<?>[]", Utility.signatureToString("[Ljava/nio/file/attribute/FileAttribute<*>;"),
+            "generic signature");
+
+        // tests for BCEL-286
+        assertEquals(
+            "boofcv.alg.tracker.tld.TldTracker<boofcv.struct.image.ImageGray<boofcv.struct.image.GrayU8>, boofcv.struct.image.GrayI<boofcv.struct.image.GrayU8>>",
+            Utility.signatureToString(
+                "Lboofcv/alg/tracker/tld/TldTracker<Lboofcv/struct/image/ImageGray<Lboofcv/struct/image/GrayU8;>;Lboofcv/struct/image/GrayI<Lboofcv/struct/image/GrayU8;>;>;"),
+            "generic signature");
+        assertEquals("java.util.Map<?, ?>", Utility.signatureToString("Ljava/util/Map<**>;"), "generic signature");
+        assertEquals("com.jme3.util.IntMap<T>.IntMapIterator", Utility.signatureToString("Lcom/jme3/util/IntMap<TT;>.IntMapIterator;"), "generic signature");
+
+        // tests for BCEL-279
+        assertEquals("<T extends java.lang.Object>(com.google.common.io.ByteProcessor<T>, int)T",
+            Utility.signatureToString("<T:Ljava/lang/Object;>(Lcom/google/common/io/ByteProcessor<TT;>;I)TT;", false), "type parameters signature");
+        assertEquals("<T extends Object>(com.google.common.io.ByteProcessor<T>, int)T",
+            Utility.signatureToString("<T:Ljava/lang/Object;>(Lcom/google/common/io/ByteProcessor<TT;>;I)TT;", true), "type parameters signature");
+        assertEquals("<M extends java.lang.reflect.AccessibleObject & java.lang.reflect.Member>(M)void",
+            Utility.signatureToString("<M:Ljava/lang/reflect/AccessibleObject;:Ljava/lang/reflect/Member;>(TM;)V"), "type parameters signature");
+        assertEquals("<K1 extends K, V1 extends V>()com.google.common.cache.Weigher<K1, V1>",
+            Utility.signatureToString("<K1:TK;V1:TV;>()Lcom/google/common/cache/Weigher<TK1;TV1;>;"), "type parameters signature");
+        assertEquals("<K1 extends K, V1 extends V>(com.google.common.cache.Weigher<? super K1, ? super V1>)com.google.common.cache.CacheBuilder<K1, V1>",
+            Utility.signatureToString("<K1:TK;V1:TV;>(Lcom/google/common/cache/Weigher<-TK1;-TV1;>;)Lcom/google/common/cache/CacheBuilder<TK1;TV1;>;"),
+            "type parameters signature");
+        assertEquals("<N extends java.lang.Object, E extends java.lang.Object> extends java.lang.Object implements com.google.common.graph.Network<N, E>",
+            Utility.signatureToString("<N:Ljava/lang/Object;E:Ljava/lang/Object;>Ljava/lang/Object;Lcom/google/common/graph/Network<TN;TE;>;", false),
+            "class signature");
+        assertEquals("<K extends Object, V extends Object> extends Object",
+            Utility.signatureToString("<K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/Object;"), "class signature");
+    }
 }
diff --git a/src/test/java/org/apache/bcel/generic/BREAKPOINTTestCase.java b/src/test/java/org/apache/bcel/generic/BREAKPOINTTestCase.java
index bcd6d625..ee8d263b 100644
--- a/src/test/java/org/apache/bcel/generic/BREAKPOINTTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/BREAKPOINTTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class BREAKPOINTTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final BREAKPOINT breakpoint = new BREAKPOINT();
         breakpoint.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setBreakpoint(1);
         assertEquals(expected, countVisitor);
     }
diff --git a/src/test/java/org/apache/bcel/generic/CountVisitor.java b/src/test/java/org/apache/bcel/generic/CountingVisitor.java
similarity index 69%
rename from src/test/java/org/apache/bcel/generic/CountVisitor.java
rename to src/test/java/org/apache/bcel/generic/CountingVisitor.java
index 13423834..2432c21f 100644
--- a/src/test/java/org/apache/bcel/generic/CountVisitor.java
+++ b/src/test/java/org/apache/bcel/generic/CountingVisitor.java
@@ -18,7 +18,7 @@ package org.apache.bcel.generic;
 
 import java.util.Objects;
 
-public class CountVisitor implements Visitor {
+public class CountingVisitor implements Visitor {
     private int aaload;
     private int aastore;
     private int aconstNull;
@@ -87,7 +87,6 @@ public class CountVisitor implements Visitor {
     private int fsub;
     private int getfield;
     private int getstatic;
-    // TBC
     private int goTo;
     private int gotoW;
     private int gotoInstruction;
@@ -176,8 +175,7 @@ public class CountVisitor implements Visitor {
     private int monitorenter;
     private int monitorexit;
     private int multianewarray;
-    // TBC
-    private int nEW;
+    private int newCount; // "new" is reserved
     private int newarray;
     private int nop;
     private int pop;
@@ -187,8 +185,7 @@ public class CountVisitor implements Visitor {
     private int putfield;
     private int putstatic;
     private int ret;
-    // TBC
-    private int rETURN;
+    private int returnCount; // "new" is reserved
     private int returnInstruction;
     private int saload;
     private int sastore;
@@ -205,1640 +202,1561 @@ public class CountVisitor implements Visitor {
     private int variableLengthInstruction;
 
     @Override
-    public String toString() {
-        return "CountVisitor{" +
-                "aaload=" + aaload +
-                ", aastore=" + aastore +
-                ", aconstNull=" + aconstNull +
-                ", allocationInstruction=" + allocationInstruction +
-                ", aload=" + aload +
-                ", anewarray=" + anewarray +
-                ", areturn=" + areturn +
-                ", arithmeticInstruction=" + arithmeticInstruction +
-                ", arrayInstruction=" + arrayInstruction +
-                ", arraylength=" + arraylength +
-                ", astore=" + astore +
-                ", athrow=" + athrow +
-                ", baload=" + baload +
-                ", bastore=" + bastore +
-                ", bipush=" + bipush +
-                ", branchInstruction=" + branchInstruction +
-                ", breakpoint=" + breakpoint +
-                ", caload=" + caload +
-                ", castore=" + castore +
-                ", checkcast=" + checkcast +
-                ", constantPushInstruction=" + constantPushInstruction +
-                ", conversionInstruction=" + conversionInstruction +
-                ", cpInstruction=" + cpInstruction +
-                ", d2F=" + d2F +
-                ", d2I=" + d2I +
-                ", d2L=" + d2L +
-                ", dadd=" + dadd +
-                ", daload=" + daload +
-                ", dastore=" + dastore +
-                ", dcmpg=" + dcmpg +
-                ", dcmpl=" + dcmpl +
-                ", dconst=" + dconst +
-                ", ddiv=" + ddiv +
-                ", dload=" + dload +
-                ", dmul=" + dmul +
-                ", dneg=" + dneg +
-                ", drem=" + drem +
-                ", dreturn=" + dreturn +
-                ", dstore=" + dstore +
-                ", dsub=" + dsub +
-                ", dup=" + dup +
-                ", dupX1=" + dupX1 +
-                ", dupX2=" + dupX2 +
-                ", dup2=" + dup2 +
-                ", dup2X1=" + dup2X1 +
-                ", dup2X2=" + dup2X2 +
-                ", exceptionThrower=" + exceptionThrower +
-                ", f2D=" + f2D +
-                ", f2I=" + f2I +
-                ", f2L=" + f2L +
-                ", fadd=" + fadd +
-                ", faload=" + faload +
-                ", fastore=" + fastore +
-                ", fcmpg=" + fcmpg +
-                ", fcmpl=" + fcmpl +
-                ", fconst=" + fconst +
-                ", fdiv=" + fdiv +
-                ", fieldInstruction=" + fieldInstruction +
-                ", fieldOrMethod=" + fieldOrMethod +
-                ", fload=" + fload +
-                ", fmul=" + fmul +
-                ", fneg=" + fneg +
-                ", frem=" + frem +
-                ", freturn=" + freturn +
-                ", fstore=" + fstore +
-                ", fsub=" + fsub +
-                ", getfield=" + getfield +
-                ", getstatic=" + getstatic +
-                ", goTo=" + goTo +
-                ", gotoW=" + gotoW +
-                ", gotoInstruction=" + gotoInstruction +
-                ", i2B=" + i2B +
-                ", i2C=" + i2C +
-                ", i2D=" + i2D +
-                ", i2F=" + i2F +
-                ", i2L=" + i2L +
-                ", i2S=" + i2S +
-                ", iadd=" + iadd +
-                ", iaload=" + iaload +
-                ", iand=" + iand +
-                ", iastore=" + iastore +
-                ", iconst=" + iconst +
-                ", idiv=" + idiv +
-                ", ifAcmpeq=" + ifAcmpeq +
-                ", ifAcmpne=" + ifAcmpne +
-                ", ifIcmpeq=" + ifIcmpeq +
-                ", ifIcmpge=" + ifIcmpge +
-                ", ifIcmpgt=" + ifIcmpgt +
-                ", ifIcmple=" + ifIcmple +
-                ", ifIcmplt=" + ifIcmplt +
-                ", ifIcmpne=" + ifIcmpne +
-                ", ifeq=" + ifeq +
-                ", ifge=" + ifge +
-                ", ifgt=" + ifgt +
-                ", ifInstruction=" + ifInstruction +
-                ", ifle=" + ifle +
-                ", iflt=" + iflt +
-                ", ifne=" + ifne +
-                ", ifnonnull=" + ifnonnull +
-                ", ifnull=" + ifnull +
-                ", iinc=" + iinc +
-                ", iload=" + iload +
-                ", impdep1=" + impdep1 +
-                ", impdep2=" + impdep2 +
-                ", imul=" + imul +
-                ", ineg=" + ineg +
-                ", instanceOf=" + instanceOf +
-                ", invokedynamic=" + invokedynamic +
-                ", invokeInstruction=" + invokeInstruction +
-                ", invokeinterface=" + invokeinterface +
-                ", invokespecial=" + invokespecial +
-                ", invokestatic=" + invokestatic +
-                ", invokevirtual=" + invokevirtual +
-                ", ior=" + ior +
-                ", irem=" + irem +
-                ", ireturn=" + ireturn +
-                ", ishl=" + ishl +
-                ", ishr=" + ishr +
-                ", istore=" + istore +
-                ", isub=" + isub +
-                ", iushr=" + iushr +
-                ", ixor=" + ixor +
-                ", jsr=" + jsr +
-                ", jsrW=" + jsrW +
-                ", jsrInstruction=" + jsrInstruction +
-                ", l2D=" + l2D +
-                ", l2F=" + l2F +
-                ", l2I=" + l2I +
-                ", ladd=" + ladd +
-                ", laload=" + laload +
-                ", land=" + land +
-                ", lastore=" + lastore +
-                ", lcmp=" + lcmp +
-                ", lconst=" + lconst +
-                ", ldc=" + ldc +
-                ", ldc2W=" + ldc2W +
-                ", ldiv=" + ldiv +
-                ", lload=" + lload +
-                ", lmul=" + lmul +
-                ", lneg=" + lneg +
-                ", loadClass=" + loadClass +
-                ", loadInstruction=" + loadInstruction +
-                ", localVariableInstruction=" + localVariableInstruction +
-                ", lookupswitch=" + lookupswitch +
-                ", lor=" + lor +
-                ", lrem=" + lrem +
-                ", lreturn=" + lreturn +
-                ", lshl=" + lshl +
-                ", lshr=" + lshr +
-                ", lstore=" + lstore +
-                ", lsub=" + lsub +
-                ", lushr=" + lushr +
-                ", lxor=" + lxor +
-                ", monitorenter=" + monitorenter +
-                ", monitorexit=" + monitorexit +
-                ", multianewarray=" + multianewarray +
-                ", nEW=" + nEW +
-                ", newarray=" + newarray +
-                ", nop=" + nop +
-                ", pop=" + pop +
-                ", pop2=" + pop2 +
-                ", popInstruction=" + popInstruction +
-                ", pushInstruction=" + pushInstruction +
-                ", putfield=" + putfield +
-                ", putstatic=" + putstatic +
-                ", ret=" + ret +
-                ", rETURN=" + rETURN +
-                ", returnInstruction=" + returnInstruction +
-                ", saload=" + saload +
-                ", sastore=" + sastore +
-                ", select=" + select +
-                ", sipush=" + sipush +
-                ", stackConsumer=" + stackConsumer +
-                ", stackInstruction=" + stackInstruction +
-                ", stackProducer=" + stackProducer +
-                ", storeInstruction=" + storeInstruction +
-                ", swap=" + swap +
-                ", tableswitch=" + tableswitch +
-                ", typedInstruction=" + typedInstruction +
-                ", unconditionalBranch=" + unconditionalBranch +
-                ", variableLengthInstruction=" + variableLengthInstruction +
-                '}';
+    public boolean equals(Object obj) {
+        if (this == obj)
+            return true;
+        if (obj == null)
+            return false;
+        if (getClass() != obj.getClass())
+            return false;
+        CountingVisitor other = (CountingVisitor) obj;
+        return aaload == other.aaload && aastore == other.aastore && aconstNull == other.aconstNull && allocationInstruction == other.allocationInstruction
+                && aload == other.aload && anewarray == other.anewarray && areturn == other.areturn && arithmeticInstruction == other.arithmeticInstruction
+                && arrayInstruction == other.arrayInstruction && arraylength == other.arraylength && astore == other.astore && athrow == other.athrow
+                && baload == other.baload && bastore == other.bastore && bipush == other.bipush && branchInstruction == other.branchInstruction
+                && breakpoint == other.breakpoint && caload == other.caload && castore == other.castore && checkcast == other.checkcast
+                && constantPushInstruction == other.constantPushInstruction && conversionInstruction == other.conversionInstruction
+                && cpInstruction == other.cpInstruction && d2F == other.d2F && d2I == other.d2I && d2L == other.d2L && dadd == other.dadd
+                && daload == other.daload && dastore == other.dastore && dcmpg == other.dcmpg && dcmpl == other.dcmpl && dconst == other.dconst
+                && ddiv == other.ddiv && dload == other.dload && dmul == other.dmul && dneg == other.dneg && drem == other.drem && dreturn == other.dreturn
+                && dstore == other.dstore && dsub == other.dsub && dup == other.dup && dup2 == other.dup2 && dup2X1 == other.dup2X1 && dup2X2 == other.dup2X2
+                && dupX1 == other.dupX1 && dupX2 == other.dupX2 && exceptionThrower == other.exceptionThrower && f2D == other.f2D && f2I == other.f2I
+                && f2L == other.f2L && fadd == other.fadd && faload == other.faload && fastore == other.fastore && fcmpg == other.fcmpg && fcmpl == other.fcmpl
+                && fconst == other.fconst && fdiv == other.fdiv && fieldInstruction == other.fieldInstruction && fieldOrMethod == other.fieldOrMethod
+                && fload == other.fload && fmul == other.fmul && fneg == other.fneg && frem == other.frem && freturn == other.freturn && fstore == other.fstore
+                && fsub == other.fsub && getfield == other.getfield && getstatic == other.getstatic && goTo == other.goTo
+                && gotoInstruction == other.gotoInstruction && gotoW == other.gotoW && i2B == other.i2B && i2C == other.i2C && i2D == other.i2D
+                && i2F == other.i2F && i2L == other.i2L && i2S == other.i2S && iadd == other.iadd && iaload == other.iaload && iand == other.iand
+                && iastore == other.iastore && iconst == other.iconst && idiv == other.idiv && ifAcmpeq == other.ifAcmpeq && ifAcmpne == other.ifAcmpne
+                && ifIcmpeq == other.ifIcmpeq && ifIcmpge == other.ifIcmpge && ifIcmpgt == other.ifIcmpgt && ifIcmple == other.ifIcmple
+                && ifIcmplt == other.ifIcmplt && ifIcmpne == other.ifIcmpne && ifInstruction == other.ifInstruction && ifeq == other.ifeq && ifge == other.ifge
+                && ifgt == other.ifgt && ifle == other.ifle && iflt == other.iflt && ifne == other.ifne && ifnonnull == other.ifnonnull
+                && ifnull == other.ifnull && iinc == other.iinc && iload == other.iload && impdep1 == other.impdep1 && impdep2 == other.impdep2
+                && imul == other.imul && ineg == other.ineg && instanceOf == other.instanceOf && invokeInstruction == other.invokeInstruction
+                && invokedynamic == other.invokedynamic && invokeinterface == other.invokeinterface && invokespecial == other.invokespecial
+                && invokestatic == other.invokestatic && invokevirtual == other.invokevirtual && ior == other.ior && irem == other.irem
+                && ireturn == other.ireturn && ishl == other.ishl && ishr == other.ishr && istore == other.istore && isub == other.isub && iushr == other.iushr
+                && ixor == other.ixor && jsr == other.jsr && jsrInstruction == other.jsrInstruction && jsrW == other.jsrW && l2D == other.l2D
+                && l2F == other.l2F && l2I == other.l2I && ladd == other.ladd && laload == other.laload && land == other.land && lastore == other.lastore
+                && lcmp == other.lcmp && lconst == other.lconst && ldc == other.ldc && ldc2W == other.ldc2W && ldiv == other.ldiv && lload == other.lload
+                && lmul == other.lmul && lneg == other.lneg && loadClass == other.loadClass && loadInstruction == other.loadInstruction
+                && localVariableInstruction == other.localVariableInstruction && lookupswitch == other.lookupswitch && lor == other.lor && lrem == other.lrem
+                && lreturn == other.lreturn && lshl == other.lshl && lshr == other.lshr && lstore == other.lstore && lsub == other.lsub && lushr == other.lushr
+                && lxor == other.lxor && monitorenter == other.monitorenter && monitorexit == other.monitorexit && multianewarray == other.multianewarray
+                && newCount == other.newCount && newarray == other.newarray && nop == other.nop && pop == other.pop && pop2 == other.pop2
+                && popInstruction == other.popInstruction && pushInstruction == other.pushInstruction && putfield == other.putfield
+                && putstatic == other.putstatic && ret == other.ret && returnCount == other.returnCount && returnInstruction == other.returnInstruction
+                && saload == other.saload && sastore == other.sastore && select == other.select && sipush == other.sipush
+                && stackConsumer == other.stackConsumer && stackInstruction == other.stackInstruction && stackProducer == other.stackProducer
+                && storeInstruction == other.storeInstruction && swap == other.swap && tableswitch == other.tableswitch
+                && typedInstruction == other.typedInstruction && unconditionalBranch == other.unconditionalBranch
+                && variableLengthInstruction == other.variableLengthInstruction;
     }
 
     public int getAaload() {
         return aaload;
     }
 
-    public void setAaload(int aaload) {
-        this.aaload = aaload;
-    }
-
     public int getAastore() {
         return aastore;
     }
 
-    public void setAastore(int aastore) {
-        this.aastore = aastore;
-    }
-
     public int getAconstNull() {
         return aconstNull;
     }
 
-    public void setAconstNull(int aconstNull) {
-        this.aconstNull = aconstNull;
-    }
-
     public int getAllocationInstruction() {
         return allocationInstruction;
     }
 
-    public void setAllocationInstruction(int allocationInstruction) {
-        this.allocationInstruction = allocationInstruction;
-    }
-
     public int getAload() {
         return aload;
     }
 
-    public void setAload(int aload) {
-        this.aload = aload;
-    }
-
     public int getAnewarray() {
         return anewarray;
     }
 
-    public void setAnewarray(int anewarray) {
-        this.anewarray = anewarray;
-    }
-
     public int getAreturn() {
         return areturn;
     }
 
-    public void setAreturn(int areturn) {
-        this.areturn = areturn;
-    }
-
     public int getArithmeticInstruction() {
         return arithmeticInstruction;
     }
 
-    public void setArithmeticInstruction(int arithmeticInstruction) {
-        this.arithmeticInstruction = arithmeticInstruction;
-    }
-
     public int getArrayInstruction() {
         return arrayInstruction;
     }
 
-    public void setArrayInstruction(int arrayInstruction) {
-        this.arrayInstruction = arrayInstruction;
-    }
-
     public int getArraylength() {
         return arraylength;
     }
 
-    public void setArraylength(int arraylength) {
-        this.arraylength = arraylength;
-    }
-
     public int getAstore() {
         return astore;
     }
 
-    public void setAstore(int astore) {
-        this.astore = astore;
-    }
-
     public int getAthrow() {
         return athrow;
     }
 
-    public void setAthrow(int athrow) {
-        this.athrow = athrow;
-    }
-
     public int getBaload() {
         return baload;
     }
 
-    public void setBaload(int baload) {
-        this.baload = baload;
-    }
-
     public int getBastore() {
         return bastore;
     }
 
-    public void setBastore(int bastore) {
-        this.bastore = bastore;
-    }
-
     public int getBipush() {
         return bipush;
     }
 
-    public void setBipush(int bipush) {
-        this.bipush = bipush;
-    }
-
     public int getBranchInstruction() {
         return branchInstruction;
     }
 
-    public void setBranchInstruction(int branchInstruction) {
-        this.branchInstruction = branchInstruction;
-    }
-
     public int getBreakpoint() {
         return breakpoint;
     }
 
-    public void setBreakpoint(int breakpoint) {
-        this.breakpoint = breakpoint;
-    }
-
     public int getCaload() {
         return caload;
     }
 
-    public void setCaload(int caload) {
-        this.caload = caload;
-    }
-
     public int getCastore() {
         return castore;
     }
 
-    public void setCastore(int castore) {
-        this.castore = castore;
-    }
-
     public int getCheckcast() {
         return checkcast;
     }
 
-    public void setCheckcast(int checkcast) {
-        this.checkcast = checkcast;
-    }
-
     public int getConstantPushInstruction() {
         return constantPushInstruction;
     }
 
-    public void setConstantPushInstruction(int constantPushInstruction) {
-        this.constantPushInstruction = constantPushInstruction;
-    }
-
     public int getConversionInstruction() {
         return conversionInstruction;
     }
 
-    public void setConversionInstruction(int conversionInstruction) {
-        this.conversionInstruction = conversionInstruction;
-    }
-
     public int getCpInstruction() {
         return cpInstruction;
     }
 
-    public void setCpInstruction(int cpInstruction) {
-        this.cpInstruction = cpInstruction;
-    }
-
     public int getD2F() {
         return d2F;
     }
 
-    public void setD2F(int d2F) {
-        this.d2F = d2F;
-    }
-
     public int getD2I() {
         return d2I;
     }
 
-    public void setD2I(int d2I) {
-        this.d2I = d2I;
-    }
-
     public int getD2L() {
         return d2L;
     }
 
-    public void setD2L(int d2L) {
-        this.d2L = d2L;
-    }
-
     public int getDadd() {
         return dadd;
     }
 
-    public void setDadd(int dadd) {
-        this.dadd = dadd;
-    }
-
     public int getDaload() {
         return daload;
     }
 
-    public void setDaload(int daload) {
-        this.daload = daload;
-    }
-
     public int getDastore() {
         return dastore;
     }
 
-    public void setDastore(int dastore) {
-        this.dastore = dastore;
-    }
-
     public int getDcmpg() {
         return dcmpg;
     }
 
-    public void setDcmpg(int dcmpg) {
-        this.dcmpg = dcmpg;
-    }
-
     public int getDcmpl() {
         return dcmpl;
     }
 
-    public void setDcmpl(int dcmpl) {
-        this.dcmpl = dcmpl;
-    }
-
     public int getDconst() {
         return dconst;
     }
 
-    public void setDconst(int dconst) {
-        this.dconst = dconst;
-    }
-
     public int getDdiv() {
         return ddiv;
     }
 
-    public void setDdiv(int ddiv) {
-        this.ddiv = ddiv;
-    }
-
     public int getDload() {
         return dload;
     }
 
-    public void setDload(int dload) {
-        this.dload = dload;
-    }
-
     public int getDmul() {
         return dmul;
     }
 
-    public void setDmul(int dmul) {
-        this.dmul = dmul;
-    }
-
     public int getDneg() {
         return dneg;
     }
 
-    public void setDneg(int dneg) {
-        this.dneg = dneg;
-    }
-
     public int getDrem() {
         return drem;
     }
 
-    public void setDrem(int drem) {
-        this.drem = drem;
-    }
-
     public int getDreturn() {
         return dreturn;
     }
 
-    public void setDreturn(int dreturn) {
-        this.dreturn = dreturn;
-    }
-
     public int getDstore() {
         return dstore;
     }
 
-    public void setDstore(int dstore) {
-        this.dstore = dstore;
-    }
-
     public int getDsub() {
         return dsub;
     }
 
-    public void setDsub(int dsub) {
-        this.dsub = dsub;
-    }
-
     public int getDup() {
         return dup;
     }
 
-    public void setDup(int dup) {
-        this.dup = dup;
-    }
-
-    public int getDupX1() {
-        return dupX1;
-    }
-
-    public void setDupX1(int dupX1) {
-        this.dupX1 = dupX1;
-    }
-
-    public int getDupX2() {
-        return dupX2;
-    }
-
-    public void setDupX2(int dupX2) {
-        this.dupX2 = dupX2;
-    }
-
     public int getDup2() {
         return dup2;
     }
 
-    public void setDup2(int dup2) {
-        this.dup2 = dup2;
-    }
-
     public int getDup2X1() {
         return dup2X1;
     }
 
-    public void setDup2X1(int dup2X1) {
-        this.dup2X1 = dup2X1;
-    }
-
     public int getDup2X2() {
         return dup2X2;
     }
 
-    public void setDup2X2(int dup2X2) {
-        this.dup2X2 = dup2X2;
+    public int getDupX1() {
+        return dupX1;
     }
 
-    public int getExceptionThrower() {
-        return exceptionThrower;
+    public int getDupX2() {
+        return dupX2;
     }
 
-    public void setExceptionThrower(int exceptionThrower) {
-        this.exceptionThrower = exceptionThrower;
+    public int getExceptionThrower() {
+        return exceptionThrower;
     }
 
     public int getF2D() {
         return f2D;
     }
 
-    public void setF2D(int f2D) {
-        this.f2D = f2D;
-    }
-
     public int getF2I() {
         return f2I;
     }
 
-    public void setF2I(int f2I) {
-        this.f2I = f2I;
-    }
-
     public int getF2L() {
         return f2L;
     }
 
-    public void setF2L(int f2L) {
-        this.f2L = f2L;
-    }
-
     public int getFadd() {
         return fadd;
     }
 
-    public void setFadd(int fadd) {
-        this.fadd = fadd;
-    }
-
     public int getFaload() {
         return faload;
     }
 
-    public void setFaload(int faload) {
-        this.faload = faload;
-    }
-
     public int getFastore() {
         return fastore;
     }
 
-    public void setFastore(int fastore) {
-        this.fastore = fastore;
-    }
-
     public int getFcmpg() {
         return fcmpg;
     }
 
-    public void setFcmpg(int fcmpg) {
-        this.fcmpg = fcmpg;
-    }
-
     public int getFcmpl() {
         return fcmpl;
     }
 
-    public void setFcmpl(int fcmpl) {
-        this.fcmpl = fcmpl;
-    }
-
     public int getFconst() {
         return fconst;
     }
 
-    public void setFconst(int fconst) {
-        this.fconst = fconst;
-    }
-
     public int getFdiv() {
         return fdiv;
     }
 
-    public void setFdiv(int fdiv) {
-        this.fdiv = fdiv;
-    }
-
     public int getFieldInstruction() {
         return fieldInstruction;
     }
 
-    public void setFieldInstruction(int fieldInstruction) {
-        this.fieldInstruction = fieldInstruction;
-    }
-
     public int getFieldOrMethod() {
         return fieldOrMethod;
     }
 
-    public void setFieldOrMethod(int fieldOrMethod) {
-        this.fieldOrMethod = fieldOrMethod;
-    }
-
     public int getFload() {
         return fload;
     }
 
-    public void setFload(int fload) {
-        this.fload = fload;
-    }
-
     public int getFmul() {
         return fmul;
     }
 
-    public void setFmul(int fmul) {
-        this.fmul = fmul;
-    }
-
     public int getFneg() {
         return fneg;
     }
 
-    public void setFneg(int fneg) {
-        this.fneg = fneg;
-    }
-
     public int getFrem() {
         return frem;
     }
 
-    public void setFrem(int frem) {
-        this.frem = frem;
-    }
-
     public int getFreturn() {
         return freturn;
     }
 
-    public void setFreturn(int freturn) {
-        this.freturn = freturn;
-    }
-
     public int getFstore() {
         return fstore;
     }
 
-    public void setFstore(int fstore) {
-        this.fstore = fstore;
-    }
-
     public int getFsub() {
         return fsub;
     }
 
-    public void setFsub(int fsub) {
-        this.fsub = fsub;
-    }
-
     public int getGetfield() {
         return getfield;
     }
 
-    public void setGetfield(int getfield) {
-        this.getfield = getfield;
-    }
-
     public int getGetstatic() {
         return getstatic;
     }
 
-    public void setGetstatic(int getstatic) {
-        this.getstatic = getstatic;
-    }
-
     public int getGoTo() {
         return goTo;
     }
 
-    public void setGoTo(int goTo) {
-        this.goTo = goTo;
-    }
-
-    public int getGotoW() {
-        return gotoW;
-    }
-
-    public void setGotoW(int gotoW) {
-        this.gotoW = gotoW;
-    }
-
     public int getGotoInstruction() {
         return gotoInstruction;
     }
 
-    public void setGotoInstruction(int gotoInstruction) {
-        this.gotoInstruction = gotoInstruction;
+    public int getGotoW() {
+        return gotoW;
     }
 
     public int getI2B() {
         return i2B;
     }
 
-    public void setI2B(int i2B) {
-        this.i2B = i2B;
-    }
-
     public int getI2C() {
         return i2C;
     }
 
-    public void setI2C(int i2C) {
-        this.i2C = i2C;
-    }
-
     public int getI2D() {
         return i2D;
     }
 
-    public void setI2D(int i2D) {
-        this.i2D = i2D;
-    }
-
     public int getI2F() {
         return i2F;
     }
 
-    public void setI2F(int i2F) {
-        this.i2F = i2F;
-    }
-
     public int getI2L() {
         return i2L;
     }
 
-    public void setI2L(int i2L) {
-        this.i2L = i2L;
-    }
-
     public int getI2S() {
         return i2S;
     }
 
-    public void setI2S(int i2S) {
-        this.i2S = i2S;
-    }
-
     public int getIadd() {
         return iadd;
     }
 
-    public void setIadd(int iadd) {
-        this.iadd = iadd;
-    }
-
     public int getIaload() {
         return iaload;
     }
 
-    public void setIaload(int iaload) {
-        this.iaload = iaload;
-    }
-
     public int getIand() {
         return iand;
     }
 
-    public void setIand(int iand) {
-        this.iand = iand;
-    }
-
     public int getIastore() {
         return iastore;
     }
 
-    public void setIastore(int iastore) {
-        this.iastore = iastore;
-    }
-
     public int getIconst() {
         return iconst;
     }
 
-    public void setIconst(int iconst) {
-        this.iconst = iconst;
-    }
-
     public int getIdiv() {
         return idiv;
     }
 
-    public void setIdiv(int idiv) {
-        this.idiv = idiv;
-    }
-
     public int getIfAcmpeq() {
         return ifAcmpeq;
     }
 
-    public void setIfAcmpeq(int ifAcmpeq) {
-        this.ifAcmpeq = ifAcmpeq;
-    }
-
     public int getIfAcmpne() {
         return ifAcmpne;
     }
 
-    public void setIfAcmpne(int ifAcmpne) {
-        this.ifAcmpne = ifAcmpne;
+    public int getIfeq() {
+        return ifeq;
     }
 
-    public int getIfIcmpeq() {
-        return ifIcmpeq;
+    public int getIfge() {
+        return ifge;
     }
 
-    public void setIfIcmpeq(int ifIcmpeq) {
-        this.ifIcmpeq = ifIcmpeq;
+    public int getIfgt() {
+        return ifgt;
     }
 
-    public int getIfIcmpge() {
-        return ifIcmpge;
+    public int getIfIcmpeq() {
+        return ifIcmpeq;
     }
 
-    public void setIfIcmpge(int ifIcmpge) {
-        this.ifIcmpge = ifIcmpge;
+    public int getIfIcmpge() {
+        return ifIcmpge;
     }
 
     public int getIfIcmpgt() {
         return ifIcmpgt;
     }
 
-    public void setIfIcmpgt(int ifIcmpgt) {
-        this.ifIcmpgt = ifIcmpgt;
-    }
-
     public int getIfIcmple() {
         return ifIcmple;
     }
 
-    public void setIfIcmple(int ifIcmple) {
-        this.ifIcmple = ifIcmple;
-    }
-
     public int getIfIcmplt() {
         return ifIcmplt;
     }
 
-    public void setIfIcmplt(int ifIcmplt) {
-        this.ifIcmplt = ifIcmplt;
-    }
-
     public int getIfIcmpne() {
         return ifIcmpne;
     }
 
-    public void setIfIcmpne(int ifIcmpne) {
-        this.ifIcmpne = ifIcmpne;
-    }
-
-    public int getIfeq() {
-        return ifeq;
-    }
-
-    public void setIfeq(int ifeq) {
-        this.ifeq = ifeq;
-    }
-
-    public int getIfge() {
-        return ifge;
-    }
-
-    public void setIfge(int ifge) {
-        this.ifge = ifge;
-    }
-
-    public int getIfgt() {
-        return ifgt;
-    }
-
-    public void setIfgt(int ifgt) {
-        this.ifgt = ifgt;
-    }
-
     public int getIfInstruction() {
         return ifInstruction;
     }
 
-    public void setIfInstruction(int ifInstruction) {
-        this.ifInstruction = ifInstruction;
-    }
-
     public int getIfle() {
         return ifle;
     }
 
-    public void setIfle(int ifle) {
-        this.ifle = ifle;
-    }
-
     public int getIflt() {
         return iflt;
     }
 
-    public void setIflt(int iflt) {
-        this.iflt = iflt;
-    }
-
     public int getIfne() {
         return ifne;
     }
 
-    public void setIfne(int ifne) {
-        this.ifne = ifne;
-    }
-
     public int getIfnonnull() {
         return ifnonnull;
     }
 
-    public void setIfnonnull(int ifnonnull) {
-        this.ifnonnull = ifnonnull;
-    }
-
     public int getIfnull() {
         return ifnull;
     }
 
-    public void setIfnull(int ifnull) {
-        this.ifnull = ifnull;
-    }
-
     public int getIinc() {
         return iinc;
     }
 
-    public void setIinc(int iinc) {
-        this.iinc = iinc;
-    }
-
     public int getIload() {
         return iload;
     }
 
-    public void setIload(int iload) {
-        this.iload = iload;
-    }
-
     public int getImpdep1() {
         return impdep1;
     }
 
-    public void setImpdep1(int impdep1) {
-        this.impdep1 = impdep1;
-    }
-
     public int getImpdep2() {
         return impdep2;
     }
 
-    public void setImpdep2(int impdep2) {
-        this.impdep2 = impdep2;
-    }
-
     public int getImul() {
         return imul;
     }
 
-    public void setImul(int imul) {
-        this.imul = imul;
-    }
-
     public int getIneg() {
         return ineg;
     }
 
-    public void setIneg(int ineg) {
-        this.ineg = ineg;
-    }
-
     public int getInstanceOf() {
         return instanceOf;
     }
 
-    public void setInstanceOf(int instanceOf) {
-        this.instanceOf = instanceOf;
-    }
-
     public int getInvokedynamic() {
         return invokedynamic;
     }
 
-    public void setInvokedynamic(int invokedynamic) {
-        this.invokedynamic = invokedynamic;
-    }
-
     public int getInvokeInstruction() {
         return invokeInstruction;
     }
 
-    public void setInvokeInstruction(int invokeInstruction) {
-        this.invokeInstruction = invokeInstruction;
-    }
-
     public int getInvokeinterface() {
         return invokeinterface;
     }
 
-    public void setInvokeinterface(int invokeinterface) {
-        this.invokeinterface = invokeinterface;
-    }
-
     public int getInvokespecial() {
         return invokespecial;
     }
 
-    public void setInvokespecial(int invokespecial) {
-        this.invokespecial = invokespecial;
-    }
-
     public int getInvokestatic() {
         return invokestatic;
     }
 
-    public void setInvokestatic(int invokestatic) {
-        this.invokestatic = invokestatic;
-    }
-
     public int getInvokevirtual() {
         return invokevirtual;
     }
 
-    public void setInvokevirtual(int invokevirtual) {
-        this.invokevirtual = invokevirtual;
-    }
-
     public int getIor() {
         return ior;
     }
 
-    public void setIor(int ior) {
-        this.ior = ior;
-    }
-
     public int getIrem() {
         return irem;
     }
 
-    public void setIrem(int irem) {
-        this.irem = irem;
-    }
-
     public int getIreturn() {
         return ireturn;
     }
 
-    public void setIreturn(int ireturn) {
-        this.ireturn = ireturn;
-    }
-
     public int getIshl() {
         return ishl;
     }
 
-    public void setIshl(int ishl) {
-        this.ishl = ishl;
-    }
-
     public int getIshr() {
         return ishr;
     }
 
-    public void setIshr(int ishr) {
-        this.ishr = ishr;
-    }
-
     public int getIstore() {
         return istore;
     }
 
-    public void setIstore(int istore) {
-        this.istore = istore;
-    }
-
     public int getIsub() {
         return isub;
     }
 
-    public void setIsub(int isub) {
-        this.isub = isub;
-    }
-
     public int getIushr() {
         return iushr;
     }
 
+    public int getIxor() {
+        return ixor;
+    }
+
+    public int getJsr() {
+        return jsr;
+    }
+
+    public int getJsrInstruction() {
+        return jsrInstruction;
+    }
+
+    public int getJsrW() {
+        return jsrW;
+    }
+
+    public int getL2D() {
+        return l2D;
+    }
+
+    public int getL2F() {
+        return l2F;
+    }
+
+    public int getL2I() {
+        return l2I;
+    }
+
+    public int getLadd() {
+        return ladd;
+    }
+
+    public int getLaload() {
+        return laload;
+    }
+
+    public int getLand() {
+        return land;
+    }
+
+    public int getLastore() {
+        return lastore;
+    }
+
+    public int getLcmp() {
+        return lcmp;
+    }
+
+    public int getLconst() {
+        return lconst;
+    }
+
+    public int getLdc() {
+        return ldc;
+    }
+
+    public int getLdc2W() {
+        return ldc2W;
+    }
+
+    public int getLdiv() {
+        return ldiv;
+    }
+
+    public int getLload() {
+        return lload;
+    }
+
+    public int getLmul() {
+        return lmul;
+    }
+
+    public int getLneg() {
+        return lneg;
+    }
+
+    public int getLoadClass() {
+        return loadClass;
+    }
+
+    public int getLoadInstruction() {
+        return loadInstruction;
+    }
+
+    public int getLocalVariableInstruction() {
+        return localVariableInstruction;
+    }
+
+    public int getLookupswitch() {
+        return lookupswitch;
+    }
+
+    public int getLor() {
+        return lor;
+    }
+
+    public int getLrem() {
+        return lrem;
+    }
+
+    public int getLreturn() {
+        return lreturn;
+    }
+
+    public int getLshl() {
+        return lshl;
+    }
+
+    public int getLshr() {
+        return lshr;
+    }
+
+    public int getLstore() {
+        return lstore;
+    }
+
+    public int getLsub() {
+        return lsub;
+    }
+
+    public int getLushr() {
+        return lushr;
+    }
+
+    public int getLxor() {
+        return lxor;
+    }
+
+    public int getMonitorenter() {
+        return monitorenter;
+    }
+
+    public int getMonitorexit() {
+        return monitorexit;
+    }
+
+    public int getMultianewarray() {
+        return multianewarray;
+    }
+
+    public int getnEW() {
+        return newCount;
+    }
+
+    public int getNewarray() {
+        return newarray;
+    }
+
+    public int getNop() {
+        return nop;
+    }
+
+    public int getPop() {
+        return pop;
+    }
+
+    public int getPop2() {
+        return pop2;
+    }
+
+    public int getPopInstruction() {
+        return popInstruction;
+    }
+
+    public int getPushInstruction() {
+        return pushInstruction;
+    }
+
+    public int getPutfield() {
+        return putfield;
+    }
+
+    public int getPutstatic() {
+        return putstatic;
+    }
+
+    public int getRet() {
+        return ret;
+    }
+
+    public int getrETURN() {
+        return returnCount;
+    }
+
+    public int getReturnInstruction() {
+        return returnInstruction;
+    }
+
+    public int getSaload() {
+        return saload;
+    }
+
+    public int getSastore() {
+        return sastore;
+    }
+
+    public int getSelect() {
+        return select;
+    }
+
+    public int getSipush() {
+        return sipush;
+    }
+
+    public int getStackConsumer() {
+        return stackConsumer;
+    }
+
+    public int getStackInstruction() {
+        return stackInstruction;
+    }
+
+    public int getStackProducer() {
+        return stackProducer;
+    }
+
+    public int getStoreInstruction() {
+        return storeInstruction;
+    }
+
+    public int getSwap() {
+        return swap;
+    }
+
+    public int getTableswitch() {
+        return tableswitch;
+    }
+
+    public int getTypedInstruction() {
+        return typedInstruction;
+    }
+
+    public int getUnconditionalBranch() {
+        return unconditionalBranch;
+    }
+
+    public int getVariableLengthInstruction() {
+        return variableLengthInstruction;
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(aaload, aastore, aconstNull, allocationInstruction, aload, anewarray, areturn, arithmeticInstruction, arrayInstruction, arraylength,
+                astore, athrow, baload, bastore, bipush, branchInstruction, breakpoint, caload, castore, checkcast, constantPushInstruction,
+                conversionInstruction, cpInstruction, d2F, d2I, d2L, dadd, daload, dastore, dcmpg, dcmpl, dconst, ddiv, dload, dmul, dneg, drem, dreturn,
+                dstore, dsub, dup, dup2, dup2X1, dup2X2, dupX1, dupX2, exceptionThrower, f2D, f2I, f2L, fadd, faload, fastore, fcmpg, fcmpl, fconst, fdiv,
+                fieldInstruction, fieldOrMethod, fload, fmul, fneg, frem, freturn, fstore, fsub, getfield, getstatic, goTo, gotoInstruction, gotoW, i2B, i2C,
+                i2D, i2F, i2L, i2S, iadd, iaload, iand, iastore, iconst, idiv, ifAcmpeq, ifAcmpne, ifIcmpeq, ifIcmpge, ifIcmpgt, ifIcmple, ifIcmplt, ifIcmpne,
+                ifInstruction, ifeq, ifge, ifgt, ifle, iflt, ifne, ifnonnull, ifnull, iinc, iload, impdep1, impdep2, imul, ineg, instanceOf, invokeInstruction,
+                invokedynamic, invokeinterface, invokespecial, invokestatic, invokevirtual, ior, irem, ireturn, ishl, ishr, istore, isub, iushr, ixor, jsr,
+                jsrInstruction, jsrW, l2D, l2F, l2I, ladd, laload, land, lastore, lcmp, lconst, ldc, ldc2W, ldiv, lload, lmul, lneg, loadClass, loadInstruction,
+                localVariableInstruction, lookupswitch, lor, lrem, lreturn, lshl, lshr, lstore, lsub, lushr, lxor, monitorenter, monitorexit, multianewarray,
+                newCount, newarray, nop, pop, pop2, popInstruction, pushInstruction, putfield, putstatic, ret, returnCount, returnInstruction, saload, sastore,
+                select, sipush, stackConsumer, stackInstruction, stackProducer, storeInstruction, swap, tableswitch, typedInstruction, unconditionalBranch,
+                variableLengthInstruction);
+    }
+
+    public void setAaload(int aaload) {
+        this.aaload = aaload;
+    }
+
+    public void setAastore(int aastore) {
+        this.aastore = aastore;
+    }
+
+    public void setAconstNull(int aconstNull) {
+        this.aconstNull = aconstNull;
+    }
+
+    public void setAllocationInstruction(int allocationInstruction) {
+        this.allocationInstruction = allocationInstruction;
+    }
+
+    public void setAload(int aload) {
+        this.aload = aload;
+    }
+
+    public void setAnewarray(int anewarray) {
+        this.anewarray = anewarray;
+    }
+
+    public void setAreturn(int areturn) {
+        this.areturn = areturn;
+    }
+
+    public void setArithmeticInstruction(int arithmeticInstruction) {
+        this.arithmeticInstruction = arithmeticInstruction;
+    }
+
+    public void setArrayInstruction(int arrayInstruction) {
+        this.arrayInstruction = arrayInstruction;
+    }
+
+    public void setArraylength(int arraylength) {
+        this.arraylength = arraylength;
+    }
+
+    public void setAstore(int astore) {
+        this.astore = astore;
+    }
+
+    public void setAthrow(int athrow) {
+        this.athrow = athrow;
+    }
+
+    public void setBaload(int baload) {
+        this.baload = baload;
+    }
+
+    public void setBastore(int bastore) {
+        this.bastore = bastore;
+    }
+
+    public void setBipush(int bipush) {
+        this.bipush = bipush;
+    }
+
+    public void setBranchInstruction(int branchInstruction) {
+        this.branchInstruction = branchInstruction;
+    }
+
+    public void setBreakpoint(int breakpoint) {
+        this.breakpoint = breakpoint;
+    }
+
+    public void setCaload(int caload) {
+        this.caload = caload;
+    }
+
+    public void setCastore(int castore) {
+        this.castore = castore;
+    }
+
+    public void setCheckcast(int checkcast) {
+        this.checkcast = checkcast;
+    }
+
+    public void setConstantPushInstruction(int constantPushInstruction) {
+        this.constantPushInstruction = constantPushInstruction;
+    }
+
+    public void setConversionInstruction(int conversionInstruction) {
+        this.conversionInstruction = conversionInstruction;
+    }
+
+    public void setCpInstruction(int cpInstruction) {
+        this.cpInstruction = cpInstruction;
+    }
+
+    public void setD2F(int d2F) {
+        this.d2F = d2F;
+    }
+
+    public void setD2I(int d2I) {
+        this.d2I = d2I;
+    }
+
+    public void setD2L(int d2L) {
+        this.d2L = d2L;
+    }
+
+    public void setDadd(int dadd) {
+        this.dadd = dadd;
+    }
+
+    public void setDaload(int daload) {
+        this.daload = daload;
+    }
+
+    public void setDastore(int dastore) {
+        this.dastore = dastore;
+    }
+
+    public void setDcmpg(int dcmpg) {
+        this.dcmpg = dcmpg;
+    }
+
+    public void setDcmpl(int dcmpl) {
+        this.dcmpl = dcmpl;
+    }
+
+    public void setDconst(int dconst) {
+        this.dconst = dconst;
+    }
+
+    public void setDdiv(int ddiv) {
+        this.ddiv = ddiv;
+    }
+
+    public void setDload(int dload) {
+        this.dload = dload;
+    }
+
+    public void setDmul(int dmul) {
+        this.dmul = dmul;
+    }
+
+    public void setDneg(int dneg) {
+        this.dneg = dneg;
+    }
+
+    public void setDrem(int drem) {
+        this.drem = drem;
+    }
+
+    public void setDreturn(int dreturn) {
+        this.dreturn = dreturn;
+    }
+
+    public void setDstore(int dstore) {
+        this.dstore = dstore;
+    }
+
+    public void setDsub(int dsub) {
+        this.dsub = dsub;
+    }
+
+    public void setDup(int dup) {
+        this.dup = dup;
+    }
+
+    public void setDup2(int dup2) {
+        this.dup2 = dup2;
+    }
+
+    public void setDup2X1(int dup2X1) {
+        this.dup2X1 = dup2X1;
+    }
+
+    public void setDup2X2(int dup2X2) {
+        this.dup2X2 = dup2X2;
+    }
+
+    public void setDupX1(int dupX1) {
+        this.dupX1 = dupX1;
+    }
+
+    public void setDupX2(int dupX2) {
+        this.dupX2 = dupX2;
+    }
+
+    public void setExceptionThrower(int exceptionThrower) {
+        this.exceptionThrower = exceptionThrower;
+    }
+
+    public void setF2D(int f2D) {
+        this.f2D = f2D;
+    }
+
+    public void setF2I(int f2I) {
+        this.f2I = f2I;
+    }
+
+    public void setF2L(int f2L) {
+        this.f2L = f2L;
+    }
+
+    public void setFadd(int fadd) {
+        this.fadd = fadd;
+    }
+
+    public void setFaload(int faload) {
+        this.faload = faload;
+    }
+
+    public void setFastore(int fastore) {
+        this.fastore = fastore;
+    }
+
+    public void setFcmpg(int fcmpg) {
+        this.fcmpg = fcmpg;
+    }
+
+    public void setFcmpl(int fcmpl) {
+        this.fcmpl = fcmpl;
+    }
+
+    public void setFconst(int fconst) {
+        this.fconst = fconst;
+    }
+
+    public void setFdiv(int fdiv) {
+        this.fdiv = fdiv;
+    }
+
+    public void setFieldInstruction(int fieldInstruction) {
+        this.fieldInstruction = fieldInstruction;
+    }
+
+    public void setFieldOrMethod(int fieldOrMethod) {
+        this.fieldOrMethod = fieldOrMethod;
+    }
+
+    public void setFload(int fload) {
+        this.fload = fload;
+    }
+
+    public void setFmul(int fmul) {
+        this.fmul = fmul;
+    }
+
+    public void setFneg(int fneg) {
+        this.fneg = fneg;
+    }
+
+    public void setFrem(int frem) {
+        this.frem = frem;
+    }
+
+    public void setFreturn(int freturn) {
+        this.freturn = freturn;
+    }
+
+    public void setFstore(int fstore) {
+        this.fstore = fstore;
+    }
+
+    public void setFsub(int fsub) {
+        this.fsub = fsub;
+    }
+
+    public void setGetfield(int getfield) {
+        this.getfield = getfield;
+    }
+
+    public void setGetstatic(int getstatic) {
+        this.getstatic = getstatic;
+    }
+
+    public void setGoTo(int goTo) {
+        this.goTo = goTo;
+    }
+
+    public void setGotoInstruction(int gotoInstruction) {
+        this.gotoInstruction = gotoInstruction;
+    }
+
+    public void setGotoW(int gotoW) {
+        this.gotoW = gotoW;
+    }
+
+    public void setI2B(int i2B) {
+        this.i2B = i2B;
+    }
+
+    public void setI2C(int i2C) {
+        this.i2C = i2C;
+    }
+
+    public void setI2D(int i2D) {
+        this.i2D = i2D;
+    }
+
+    public void setI2F(int i2F) {
+        this.i2F = i2F;
+    }
+
+    public void setI2L(int i2L) {
+        this.i2L = i2L;
+    }
+
+    public void setI2S(int i2S) {
+        this.i2S = i2S;
+    }
+
+    public void setIadd(int iadd) {
+        this.iadd = iadd;
+    }
+
+    public void setIaload(int iaload) {
+        this.iaload = iaload;
+    }
+
+    public void setIand(int iand) {
+        this.iand = iand;
+    }
+
+    public void setIastore(int iastore) {
+        this.iastore = iastore;
+    }
+
+    public void setIconst(int iconst) {
+        this.iconst = iconst;
+    }
+
+    public void setIdiv(int idiv) {
+        this.idiv = idiv;
+    }
+
+    public void setIfAcmpeq(int ifAcmpeq) {
+        this.ifAcmpeq = ifAcmpeq;
+    }
+
+    public void setIfAcmpne(int ifAcmpne) {
+        this.ifAcmpne = ifAcmpne;
+    }
+
+    public void setIfeq(int ifeq) {
+        this.ifeq = ifeq;
+    }
+
+    public void setIfge(int ifge) {
+        this.ifge = ifge;
+    }
+
+    public void setIfgt(int ifgt) {
+        this.ifgt = ifgt;
+    }
+
+    public void setIfIcmpeq(int ifIcmpeq) {
+        this.ifIcmpeq = ifIcmpeq;
+    }
+
+    public void setIfIcmpge(int ifIcmpge) {
+        this.ifIcmpge = ifIcmpge;
+    }
+
+    public void setIfIcmpgt(int ifIcmpgt) {
+        this.ifIcmpgt = ifIcmpgt;
+    }
+
+    public void setIfIcmple(int ifIcmple) {
+        this.ifIcmple = ifIcmple;
+    }
+
+    public void setIfIcmplt(int ifIcmplt) {
+        this.ifIcmplt = ifIcmplt;
+    }
+
+    public void setIfIcmpne(int ifIcmpne) {
+        this.ifIcmpne = ifIcmpne;
+    }
+
+    public void setIfInstruction(int ifInstruction) {
+        this.ifInstruction = ifInstruction;
+    }
+
+    public void setIfle(int ifle) {
+        this.ifle = ifle;
+    }
+
+    public void setIflt(int iflt) {
+        this.iflt = iflt;
+    }
+
+    public void setIfne(int ifne) {
+        this.ifne = ifne;
+    }
+
+    public void setIfnonnull(int ifnonnull) {
+        this.ifnonnull = ifnonnull;
+    }
+
+    public void setIfnull(int ifnull) {
+        this.ifnull = ifnull;
+    }
+
+    public void setIinc(int iinc) {
+        this.iinc = iinc;
+    }
+
+    public void setIload(int iload) {
+        this.iload = iload;
+    }
+
+    public void setImpdep1(int impdep1) {
+        this.impdep1 = impdep1;
+    }
+
+    public void setImpdep2(int impdep2) {
+        this.impdep2 = impdep2;
+    }
+
+    public void setImul(int imul) {
+        this.imul = imul;
+    }
+
+    public void setIneg(int ineg) {
+        this.ineg = ineg;
+    }
+
+    public void setInstanceOf(int instanceOf) {
+        this.instanceOf = instanceOf;
+    }
+
+    public void setInvokedynamic(int invokedynamic) {
+        this.invokedynamic = invokedynamic;
+    }
+
+    public void setInvokeInstruction(int invokeInstruction) {
+        this.invokeInstruction = invokeInstruction;
+    }
+
+    public void setInvokeinterface(int invokeinterface) {
+        this.invokeinterface = invokeinterface;
+    }
+
+    public void setInvokespecial(int invokespecial) {
+        this.invokespecial = invokespecial;
+    }
+
+    public void setInvokestatic(int invokestatic) {
+        this.invokestatic = invokestatic;
+    }
+
+    public void setInvokevirtual(int invokevirtual) {
+        this.invokevirtual = invokevirtual;
+    }
+
+    public void setIor(int ior) {
+        this.ior = ior;
+    }
+
+    public void setIrem(int irem) {
+        this.irem = irem;
+    }
+
+    public void setIreturn(int ireturn) {
+        this.ireturn = ireturn;
+    }
+
+    public void setIshl(int ishl) {
+        this.ishl = ishl;
+    }
+
+    public void setIshr(int ishr) {
+        this.ishr = ishr;
+    }
+
+    public void setIstore(int istore) {
+        this.istore = istore;
+    }
+
+    public void setIsub(int isub) {
+        this.isub = isub;
+    }
+
     public void setIushr(int iushr) {
         this.iushr = iushr;
     }
 
-    public int getIxor() {
-        return ixor;
-    }
-
     public void setIxor(int ixor) {
         this.ixor = ixor;
     }
 
-    public int getJsr() {
-        return jsr;
-    }
-
     public void setJsr(int jsr) {
         this.jsr = jsr;
     }
 
-    public int getJsrW() {
-        return jsrW;
-    }
-
-    public void setJsrW(int jsrW) {
-        this.jsrW = jsrW;
-    }
-
-    public int getJsrInstruction() {
-        return jsrInstruction;
-    }
-
     public void setJsrInstruction(int jsrInstruction) {
         this.jsrInstruction = jsrInstruction;
     }
 
-    public int getL2D() {
-        return l2D;
+    public void setJsrW(int jsrW) {
+        this.jsrW = jsrW;
     }
 
     public void setL2D(int l2D) {
         this.l2D = l2D;
     }
 
-    public int getL2F() {
-        return l2F;
-    }
-
     public void setL2F(int l2F) {
         this.l2F = l2F;
     }
 
-    public int getL2I() {
-        return l2I;
-    }
-
     public void setL2I(int l2I) {
         this.l2I = l2I;
     }
 
-    public int getLadd() {
-        return ladd;
-    }
-
     public void setLadd(int ladd) {
         this.ladd = ladd;
     }
 
-    public int getLaload() {
-        return laload;
-    }
-
     public void setLaload(int laload) {
         this.laload = laload;
     }
 
-    public int getLand() {
-        return land;
-    }
-
     public void setLand(int land) {
         this.land = land;
     }
 
-    public int getLastore() {
-        return lastore;
-    }
-
     public void setLastore(int lastore) {
         this.lastore = lastore;
     }
 
-    public int getLcmp() {
-        return lcmp;
-    }
-
     public void setLcmp(int lcmp) {
         this.lcmp = lcmp;
     }
 
-    public int getLconst() {
-        return lconst;
-    }
-
     public void setLconst(int lconst) {
         this.lconst = lconst;
     }
 
-    public int getLdc() {
-        return ldc;
-    }
-
     public void setLdc(int ldc) {
         this.ldc = ldc;
     }
 
-    public int getLdc2W() {
-        return ldc2W;
-    }
-
     public void setLdc2W(int ldc2W) {
         this.ldc2W = ldc2W;
     }
 
-    public int getLdiv() {
-        return ldiv;
-    }
-
     public void setLdiv(int ldiv) {
         this.ldiv = ldiv;
     }
 
-    public int getLload() {
-        return lload;
-    }
-
     public void setLload(int lload) {
         this.lload = lload;
     }
 
-    public int getLmul() {
-        return lmul;
-    }
-
     public void setLmul(int lmul) {
         this.lmul = lmul;
     }
 
-    public int getLneg() {
-        return lneg;
-    }
-
     public void setLneg(int lneg) {
         this.lneg = lneg;
     }
 
-    public int getLoadClass() {
-        return loadClass;
-    }
-
     public void setLoadClass(int loadClass) {
         this.loadClass = loadClass;
     }
 
-    public int getLoadInstruction() {
-        return loadInstruction;
-    }
-
     public void setLoadInstruction(int loadInstruction) {
         this.loadInstruction = loadInstruction;
     }
 
-    public int getLocalVariableInstruction() {
-        return localVariableInstruction;
-    }
-
     public void setLocalVariableInstruction(int localVariableInstruction) {
         this.localVariableInstruction = localVariableInstruction;
     }
 
-    public int getLookupswitch() {
-        return lookupswitch;
-    }
-
     public void setLookupswitch(int lookupswitch) {
         this.lookupswitch = lookupswitch;
     }
 
-    public int getLor() {
-        return lor;
-    }
-
     public void setLor(int lor) {
         this.lor = lor;
     }
 
-    public int getLrem() {
-        return lrem;
-    }
-
     public void setLrem(int lrem) {
         this.lrem = lrem;
     }
 
-    public int getLreturn() {
-        return lreturn;
-    }
-
     public void setLreturn(int lreturn) {
         this.lreturn = lreturn;
     }
 
-    public int getLshl() {
-        return lshl;
-    }
-
     public void setLshl(int lshl) {
         this.lshl = lshl;
     }
 
-    public int getLshr() {
-        return lshr;
-    }
-
     public void setLshr(int lshr) {
         this.lshr = lshr;
     }
 
-    public int getLstore() {
-        return lstore;
-    }
-
     public void setLstore(int lstore) {
         this.lstore = lstore;
     }
 
-    public int getLsub() {
-        return lsub;
-    }
-
     public void setLsub(int lsub) {
         this.lsub = lsub;
     }
 
-    public int getLushr() {
-        return lushr;
-    }
-
     public void setLushr(int lushr) {
         this.lushr = lushr;
     }
 
-    public int getLxor() {
-        return lxor;
-    }
-
     public void setLxor(int lxor) {
         this.lxor = lxor;
     }
 
-    public int getMonitorenter() {
-        return monitorenter;
-    }
-
     public void setMonitorenter(int monitorenter) {
         this.monitorenter = monitorenter;
     }
 
-    public int getMonitorexit() {
-        return monitorexit;
-    }
-
     public void setMonitorexit(int monitorexit) {
         this.monitorexit = monitorexit;
     }
 
-    public int getMultianewarray() {
-        return multianewarray;
-    }
-
     public void setMultianewarray(int multianewarray) {
         this.multianewarray = multianewarray;
     }
 
-    public int getnEW() {
-        return nEW;
-    }
-
     public void setnEW(int nEW) {
-        this.nEW = nEW;
-    }
-
-    public int getNewarray() {
-        return newarray;
+        this.newCount = nEW;
     }
 
     public void setNewarray(int newarray) {
         this.newarray = newarray;
     }
 
-    public int getNop() {
-        return nop;
-    }
-
     public void setNop(int nop) {
         this.nop = nop;
     }
 
-    public int getPop() {
-        return pop;
-    }
-
     public void setPop(int pop) {
         this.pop = pop;
     }
 
-    public int getPop2() {
-        return pop2;
-    }
-
     public void setPop2(int pop2) {
         this.pop2 = pop2;
     }
 
-    public int getPopInstruction() {
-        return popInstruction;
-    }
-
     public void setPopInstruction(int popInstruction) {
         this.popInstruction = popInstruction;
     }
 
-    public int getPushInstruction() {
-        return pushInstruction;
-    }
-
     public void setPushInstruction(int pushInstruction) {
         this.pushInstruction = pushInstruction;
     }
 
-    public int getPutfield() {
-        return putfield;
-    }
-
     public void setPutfield(int putfield) {
         this.putfield = putfield;
     }
 
-    public int getPutstatic() {
-        return putstatic;
-    }
-
     public void setPutstatic(int putstatic) {
         this.putstatic = putstatic;
     }
 
-    public int getRet() {
-        return ret;
-    }
-
     public void setRet(int ret) {
         this.ret = ret;
     }
 
-    public int getrETURN() {
-        return rETURN;
-    }
-
     public void setrETURN(int rETURN) {
-        this.rETURN = rETURN;
-    }
-
-    public int getReturnInstruction() {
-        return returnInstruction;
+        this.returnCount = rETURN;
     }
 
     public void setReturnInstruction(int returnInstruction) {
         this.returnInstruction = returnInstruction;
     }
 
-    public int getSaload() {
-        return saload;
-    }
-
     public void setSaload(int saload) {
         this.saload = saload;
     }
 
-    public int getSastore() {
-        return sastore;
-    }
-
     public void setSastore(int sastore) {
         this.sastore = sastore;
     }
 
-    public int getSelect() {
-        return select;
-    }
-
     public void setSelect(int select) {
         this.select = select;
     }
 
-    public int getSipush() {
-        return sipush;
-    }
-
     public void setSipush(int sipush) {
         this.sipush = sipush;
     }
 
-    public int getStackConsumer() {
-        return stackConsumer;
-    }
-
     public void setStackConsumer(int stackConsumer) {
         this.stackConsumer = stackConsumer;
     }
 
-    public int getStackInstruction() {
-        return stackInstruction;
-    }
-
     public void setStackInstruction(int stackInstruction) {
         this.stackInstruction = stackInstruction;
     }
 
-    public int getStackProducer() {
-        return stackProducer;
-    }
-
     public void setStackProducer(int stackProducer) {
         this.stackProducer = stackProducer;
     }
 
-    public int getStoreInstruction() {
-        return storeInstruction;
-    }
-
     public void setStoreInstruction(int storeInstruction) {
         this.storeInstruction = storeInstruction;
     }
 
-    public int getSwap() {
-        return swap;
-    }
-
     public void setSwap(int swap) {
         this.swap = swap;
     }
 
-    public int getTableswitch() {
-        return tableswitch;
-    }
-
     public void setTableswitch(int tableswitch) {
         this.tableswitch = tableswitch;
     }
 
-    public int getTypedInstruction() {
-        return typedInstruction;
-    }
-
     public void setTypedInstruction(int typedInstruction) {
         this.typedInstruction = typedInstruction;
     }
 
-    public int getUnconditionalBranch() {
-        return unconditionalBranch;
-    }
-
     public void setUnconditionalBranch(int unconditionalBranch) {
         this.unconditionalBranch = unconditionalBranch;
     }
 
-    public int getVariableLengthInstruction() {
-        return variableLengthInstruction;
-    }
-
     public void setVariableLengthInstruction(int variableLengthInstruction) {
         this.variableLengthInstruction = variableLengthInstruction;
     }
 
+    @Override
+    public String toString() {
+        return "CountingVisitor [aaload=" + aaload + ", aastore=" + aastore + ", aconstNull=" + aconstNull + ", allocationInstruction=" + allocationInstruction
+                + ", aload=" + aload + ", anewarray=" + anewarray + ", areturn=" + areturn + ", arithmeticInstruction=" + arithmeticInstruction
+                + ", arrayInstruction=" + arrayInstruction + ", arraylength=" + arraylength + ", astore=" + astore + ", athrow=" + athrow + ", baload=" + baload
+                + ", bastore=" + bastore + ", bipush=" + bipush + ", branchInstruction=" + branchInstruction + ", breakpoint=" + breakpoint + ", caload="
+                + caload + ", castore=" + castore + ", checkcast=" + checkcast + ", constantPushInstruction=" + constantPushInstruction
+                + ", conversionInstruction=" + conversionInstruction + ", cpInstruction=" + cpInstruction + ", d2F=" + d2F + ", d2I=" + d2I + ", d2L=" + d2L
+                + ", dadd=" + dadd + ", daload=" + daload + ", dastore=" + dastore + ", dcmpg=" + dcmpg + ", dcmpl=" + dcmpl + ", dconst=" + dconst + ", ddiv="
+                + ddiv + ", dload=" + dload + ", dmul=" + dmul + ", dneg=" + dneg + ", drem=" + drem + ", dreturn=" + dreturn + ", dstore=" + dstore + ", dsub="
+                + dsub + ", dup=" + dup + ", dupX1=" + dupX1 + ", dupX2=" + dupX2 + ", dup2=" + dup2 + ", dup2X1=" + dup2X1 + ", dup2X2=" + dup2X2
+                + ", exceptionThrower=" + exceptionThrower + ", f2D=" + f2D + ", f2I=" + f2I + ", f2L=" + f2L + ", fadd=" + fadd + ", faload=" + faload
+                + ", fastore=" + fastore + ", fcmpg=" + fcmpg + ", fcmpl=" + fcmpl + ", fconst=" + fconst + ", fdiv=" + fdiv + ", fieldInstruction="
+                + fieldInstruction + ", fieldOrMethod=" + fieldOrMethod + ", fload=" + fload + ", fmul=" + fmul + ", fneg=" + fneg + ", frem=" + frem
+                + ", freturn=" + freturn + ", fstore=" + fstore + ", fsub=" + fsub + ", getfield=" + getfield + ", getstatic=" + getstatic + ", goTo=" + goTo
+                + ", gotoW=" + gotoW + ", gotoInstruction=" + gotoInstruction + ", i2B=" + i2B + ", i2C=" + i2C + ", i2D=" + i2D + ", i2F=" + i2F + ", i2L="
+                + i2L + ", i2S=" + i2S + ", iadd=" + iadd + ", iaload=" + iaload + ", iand=" + iand + ", iastore=" + iastore + ", iconst=" + iconst + ", idiv="
+                + idiv + ", ifAcmpeq=" + ifAcmpeq + ", ifAcmpne=" + ifAcmpne + ", ifIcmpeq=" + ifIcmpeq + ", ifIcmpge=" + ifIcmpge + ", ifIcmpgt=" + ifIcmpgt
+                + ", ifIcmple=" + ifIcmple + ", ifIcmplt=" + ifIcmplt + ", ifIcmpne=" + ifIcmpne + ", ifeq=" + ifeq + ", ifge=" + ifge + ", ifgt=" + ifgt
+                + ", ifInstruction=" + ifInstruction + ", ifle=" + ifle + ", iflt=" + iflt + ", ifne=" + ifne + ", ifnonnull=" + ifnonnull + ", ifnull="
+                + ifnull + ", iinc=" + iinc + ", iload=" + iload + ", impdep1=" + impdep1 + ", impdep2=" + impdep2 + ", imul=" + imul + ", ineg=" + ineg
+                + ", instanceOf=" + instanceOf + ", invokedynamic=" + invokedynamic + ", invokeInstruction=" + invokeInstruction + ", invokeinterface="
+                + invokeinterface + ", invokespecial=" + invokespecial + ", invokestatic=" + invokestatic + ", invokevirtual=" + invokevirtual + ", ior=" + ior
+                + ", irem=" + irem + ", ireturn=" + ireturn + ", ishl=" + ishl + ", ishr=" + ishr + ", istore=" + istore + ", isub=" + isub + ", iushr=" + iushr
+                + ", ixor=" + ixor + ", jsr=" + jsr + ", jsrW=" + jsrW + ", jsrInstruction=" + jsrInstruction + ", l2D=" + l2D + ", l2F=" + l2F + ", l2I=" + l2I
+                + ", ladd=" + ladd + ", laload=" + laload + ", land=" + land + ", lastore=" + lastore + ", lcmp=" + lcmp + ", lconst=" + lconst + ", ldc=" + ldc
+                + ", ldc2W=" + ldc2W + ", ldiv=" + ldiv + ", lload=" + lload + ", lmul=" + lmul + ", lneg=" + lneg + ", loadClass=" + loadClass
+                + ", loadInstruction=" + loadInstruction + ", localVariableInstruction=" + localVariableInstruction + ", lookupswitch=" + lookupswitch
+                + ", lor=" + lor + ", lrem=" + lrem + ", lreturn=" + lreturn + ", lshl=" + lshl + ", lshr=" + lshr + ", lstore=" + lstore + ", lsub=" + lsub
+                + ", lushr=" + lushr + ", lxor=" + lxor + ", monitorenter=" + monitorenter + ", monitorexit=" + monitorexit + ", multianewarray="
+                + multianewarray + ", newCount=" + newCount + ", newarray=" + newarray + ", nop=" + nop + ", pop=" + pop + ", pop2=" + pop2
+                + ", popInstruction=" + popInstruction + ", pushInstruction=" + pushInstruction + ", putfield=" + putfield + ", putstatic=" + putstatic
+                + ", ret=" + ret + ", returnCount=" + returnCount + ", returnInstruction=" + returnInstruction + ", saload=" + saload + ", sastore=" + sastore
+                + ", select=" + select + ", sipush=" + sipush + ", stackConsumer=" + stackConsumer + ", stackInstruction=" + stackInstruction
+                + ", stackProducer=" + stackProducer + ", storeInstruction=" + storeInstruction + ", swap=" + swap + ", tableswitch=" + tableswitch
+                + ", typedInstruction=" + typedInstruction + ", unconditionalBranch=" + unconditionalBranch + ", variableLengthInstruction="
+                + variableLengthInstruction + "]";
+    }
+
     @Override
     public void visitAALOAD(AALOAD obj) {
         aaload++;
@@ -2621,7 +2539,7 @@ public class CountVisitor implements Visitor {
 
     @Override
     public void visitNEW(NEW obj) {
-        nEW++;
+        newCount++;
     }
 
     @Override
@@ -2671,7 +2589,7 @@ public class CountVisitor implements Visitor {
 
     @Override
     public void visitRETURN(RETURN obj) {
-        rETURN++;
+        returnCount++;
     }
 
     @Override
@@ -2744,378 +2662,5 @@ public class CountVisitor implements Visitor {
         variableLengthInstruction++;
     }
 
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
-        CountVisitor that = (CountVisitor) o;
-        return aaload == that.aaload &&
-                aastore == that.aastore &&
-                aconstNull == that.aconstNull &&
-                allocationInstruction == that.allocationInstruction &&
-                aload == that.aload &&
-                anewarray == that.anewarray &&
-                areturn == that.areturn &&
-                arithmeticInstruction == that.arithmeticInstruction &&
-                arrayInstruction == that.arrayInstruction &&
-                arraylength == that.arraylength &&
-                astore == that.astore &&
-                athrow == that.athrow &&
-                baload == that.baload &&
-                bastore == that.bastore &&
-                bipush == that.bipush &&
-                branchInstruction == that.branchInstruction &&
-                breakpoint == that.breakpoint &&
-                caload == that.caload &&
-                castore == that.castore &&
-                checkcast == that.checkcast &&
-                constantPushInstruction == that.constantPushInstruction &&
-                conversionInstruction == that.conversionInstruction &&
-                cpInstruction == that.cpInstruction &&
-                d2F == that.d2F &&
-                d2I == that.d2I &&
-                d2L == that.d2L &&
-                dadd == that.dadd &&
-                daload == that.daload &&
-                dastore == that.dastore &&
-                dcmpg == that.dcmpg &&
-                dcmpl == that.dcmpl &&
-                dconst == that.dconst &&
-                ddiv == that.ddiv &&
-                dload == that.dload &&
-                dmul == that.dmul &&
-                dneg == that.dneg &&
-                drem == that.drem &&
-                dreturn == that.dreturn &&
-                dstore == that.dstore &&
-                dsub == that.dsub &&
-                dup == that.dup &&
-                dupX1 == that.dupX1 &&
-                dupX2 == that.dupX2 &&
-                dup2 == that.dup2 &&
-                dup2X1 == that.dup2X1 &&
-                dup2X2 == that.dup2X2 &&
-                exceptionThrower == that.exceptionThrower &&
-                f2D == that.f2D &&
-                f2I == that.f2I &&
-                f2L == that.f2L &&
-                fadd == that.fadd &&
-                faload == that.faload &&
-                fastore == that.fastore &&
-                fcmpg == that.fcmpg &&
-                fcmpl == that.fcmpl &&
-                fconst == that.fconst &&
-                fdiv == that.fdiv &&
-                fieldInstruction == that.fieldInstruction &&
-                fieldOrMethod == that.fieldOrMethod &&
-                fload == that.fload &&
-                fmul == that.fmul &&
-                fneg == that.fneg &&
-                frem == that.frem &&
-                freturn == that.freturn &&
-                fstore == that.fstore &&
-                fsub == that.fsub &&
-                getfield == that.getfield &&
-                getstatic == that.getstatic &&
-                goTo == that.goTo &&
-                gotoW == that.gotoW &&
-                gotoInstruction == that.gotoInstruction &&
-                i2B == that.i2B &&
-                i2C == that.i2C &&
-                i2D == that.i2D &&
-                i2F == that.i2F &&
-                i2L == that.i2L &&
-                i2S == that.i2S &&
-                iadd == that.iadd &&
-                iaload == that.iaload &&
-                iand == that.iand &&
-                iastore == that.iastore &&
-                iconst == that.iconst &&
-                idiv == that.idiv &&
-                ifAcmpeq == that.ifAcmpeq &&
-                ifAcmpne == that.ifAcmpne &&
-                ifIcmpeq == that.ifIcmpeq &&
-                ifIcmpge == that.ifIcmpge &&
-                ifIcmpgt == that.ifIcmpgt &&
-                ifIcmple == that.ifIcmple &&
-                ifIcmplt == that.ifIcmplt &&
-                ifIcmpne == that.ifIcmpne &&
-                ifeq == that.ifeq &&
-                ifge == that.ifge &&
-                ifgt == that.ifgt &&
-                ifInstruction == that.ifInstruction &&
-                ifle == that.ifle &&
-                iflt == that.iflt &&
-                ifne == that.ifne &&
-                ifnonnull == that.ifnonnull &&
-                ifnull == that.ifnull &&
-                iinc == that.iinc &&
-                iload == that.iload &&
-                impdep1 == that.impdep1 &&
-                impdep2 == that.impdep2 &&
-                imul == that.imul &&
-                ineg == that.ineg &&
-                instanceOf == that.instanceOf &&
-                invokedynamic == that.invokedynamic &&
-                invokeInstruction == that.invokeInstruction &&
-                invokeinterface == that.invokeinterface &&
-                invokespecial == that.invokespecial &&
-                invokestatic == that.invokestatic &&
-                invokevirtual == that.invokevirtual &&
-                ior == that.ior &&
-                irem == that.irem &&
-                ireturn == that.ireturn &&
-                ishl == that.ishl &&
-                ishr == that.ishr &&
-                istore == that.istore &&
-                isub == that.isub &&
-                iushr == that.iushr &&
-                ixor == that.ixor &&
-                jsr == that.jsr &&
-                jsrW == that.jsrW &&
-                jsrInstruction == that.jsrInstruction &&
-                l2D == that.l2D &&
-                l2F == that.l2F &&
-                l2I == that.l2I &&
-                ladd == that.ladd &&
-                laload == that.laload &&
-                land == that.land &&
-                lastore == that.lastore &&
-                lcmp == that.lcmp &&
-                lconst == that.lconst &&
-                ldc == that.ldc &&
-                ldc2W == that.ldc2W &&
-                ldiv == that.ldiv &&
-                lload == that.lload &&
-                lmul == that.lmul &&
-                lneg == that.lneg &&
-                loadClass == that.loadClass &&
-                loadInstruction == that.loadInstruction &&
-                localVariableInstruction == that.localVariableInstruction &&
-                lookupswitch == that.lookupswitch &&
-                lor == that.lor &&
-                lrem == that.lrem &&
-                lreturn == that.lreturn &&
-                lshl == that.lshl &&
-                lshr == that.lshr &&
-                lstore == that.lstore &&
-                lsub == that.lsub &&
-                lushr == that.lushr &&
-                lxor == that.lxor &&
-                monitorenter == that.monitorenter &&
-                monitorexit == that.monitorexit &&
-                multianewarray == that.multianewarray &&
-                nEW == that.nEW &&
-                newarray == that.newarray &&
-                nop == that.nop &&
-                pop == that.pop &&
-                pop2 == that.pop2 &&
-                popInstruction == that.popInstruction &&
-                pushInstruction == that.pushInstruction &&
-                putfield == that.putfield &&
-                putstatic == that.putstatic &&
-                ret == that.ret &&
-                rETURN == that.rETURN &&
-                returnInstruction == that.returnInstruction &&
-                saload == that.saload &&
-                sastore == that.sastore &&
-                select == that.select &&
-                sipush == that.sipush &&
-                stackConsumer == that.stackConsumer &&
-                stackInstruction == that.stackInstruction &&
-                stackProducer == that.stackProducer &&
-                storeInstruction == that.storeInstruction &&
-                swap == that.swap &&
-                tableswitch == that.tableswitch &&
-                typedInstruction == that.typedInstruction &&
-                unconditionalBranch == that.unconditionalBranch &&
-                variableLengthInstruction == that.variableLengthInstruction;
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hash(aaload,
-                aastore,
-                aconstNull,
-                allocationInstruction,
-                aload,
-                anewarray,
-                areturn,
-                arithmeticInstruction,
-                arrayInstruction,
-                arraylength,
-                astore,
-                athrow,
-                baload,
-                bastore,
-                bipush,
-                branchInstruction,
-                breakpoint,
-                caload,
-                castore,
-                checkcast,
-                constantPushInstruction,
-                conversionInstruction,
-                cpInstruction,
-                d2F,
-                d2I,
-                d2L,
-                dadd,
-                daload,
-                dastore,
-                dcmpg,
-                dcmpl,
-                dconst,
-                ddiv,
-                dload,
-                dmul,
-                dneg,
-                drem,
-                dreturn,
-                dstore,
-                dsub,
-                dup,
-                dupX1,
-                dupX2,
-                dup2,
-                dup2X1,
-                dup2X2,
-                exceptionThrower,
-                f2D,
-                f2I,
-                f2L,
-                fadd,
-                faload,
-                fastore,
-                fcmpg,
-                fcmpl,
-                fconst,
-                fdiv,
-                fieldInstruction,
-                fieldOrMethod,
-                fload,
-                fmul,
-                fneg,
-                frem,
-                freturn,
-                fstore,
-                fsub,
-                getfield,
-                getstatic,
-                goTo,
-                gotoW,
-                gotoInstruction,
-                i2B,
-                i2C,
-                i2D,
-                i2F,
-                i2L,
-                i2S,
-                iadd,
-                iaload,
-                iand,
-                iastore,
-                iconst,
-                idiv,
-                ifAcmpeq,
-                ifAcmpne,
-                ifIcmpeq,
-                ifIcmpge,
-                ifIcmpgt,
-                ifIcmple,
-                ifIcmplt,
-                ifIcmpne,
-                ifeq,
-                ifge,
-                ifgt,
-                ifInstruction,
-                ifle,
-                iflt,
-                ifne,
-                ifnonnull,
-                ifnull,
-                iinc,
-                iload,
-                impdep1,
-                impdep2,
-                imul,
-                ineg,
-                instanceOf,
-                invokedynamic,
-                invokeInstruction,
-                invokeinterface,
-                invokespecial,
-                invokestatic,
-                invokevirtual,
-                ior,
-                irem,
-                ireturn,
-                ishl,
-                ishr,
-                istore,
-                isub,
-                iushr,
-                ixor,
-                jsr,
-                jsrW,
-                jsrInstruction,
-                l2D,
-                l2F,
-                l2I,
-                ladd,
-                laload,
-                land,
-                lastore,
-                lcmp,
-                lconst,
-                ldc,
-                ldc2W,
-                ldiv,
-                lload,
-                lmul,
-                lneg,
-                loadClass,
-                loadInstruction,
-                localVariableInstruction,
-                lookupswitch,
-                lor,
-                lrem,
-                lreturn,
-                lshl,
-                lshr,
-                lstore,
-                lsub,
-                lushr,
-                lxor,
-                monitorenter,
-                monitorexit,
-                multianewarray,
-                nEW,
-                newarray,
-                nop,
-                pop,
-                pop2,
-                popInstruction,
-                pushInstruction,
-                putfield,
-                putstatic,
-                ret,
-                rETURN,
-                returnInstruction,
-                saload,
-                sastore,
-                select,
-                sipush,
-                stackConsumer,
-                stackInstruction,
-                stackProducer,
-                storeInstruction,
-                swap,
-                tableswitch,
-                typedInstruction,
-                unconditionalBranch,
-                variableLengthInstruction);
-    }
-
 }
 
diff --git a/src/test/java/org/apache/bcel/generic/D2FTestCase.java b/src/test/java/org/apache/bcel/generic/D2FTestCase.java
index a5175b22..cd43ed78 100644
--- a/src/test/java/org/apache/bcel/generic/D2FTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/D2FTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class D2FTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final D2F d2f = new D2F();
         d2f.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/D2ITestCase.java b/src/test/java/org/apache/bcel/generic/D2ITestCase.java
index a097e764..7d27493b 100644
--- a/src/test/java/org/apache/bcel/generic/D2ITestCase.java
+++ b/src/test/java/org/apache/bcel/generic/D2ITestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class D2ITestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final D2I d2i = new D2I();
         d2i.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/D2LTestCase.java b/src/test/java/org/apache/bcel/generic/D2LTestCase.java
index 60af08dc..0291a7e9 100644
--- a/src/test/java/org/apache/bcel/generic/D2LTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/D2LTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class D2LTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final D2L d2l = new D2L();
         d2l.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/DADDTestCase.java b/src/test/java/org/apache/bcel/generic/DADDTestCase.java
index d2d6ba2d..c236f356 100644
--- a/src/test/java/org/apache/bcel/generic/DADDTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/DADDTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class DADDTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final DADD dadd = new DADD();
         dadd.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/DDIVTestCase.java b/src/test/java/org/apache/bcel/generic/DDIVTestCase.java
index 3f9d4934..2a457d19 100644
--- a/src/test/java/org/apache/bcel/generic/DDIVTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/DDIVTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class DDIVTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final DDIV ddiv = new DDIV();
         ddiv.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/DMULTestCase.java b/src/test/java/org/apache/bcel/generic/DMULTestCase.java
index 7457ce3f..cd9f5f9b 100644
--- a/src/test/java/org/apache/bcel/generic/DMULTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/DMULTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class DMULTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final DMUL dmul = new DMUL();
         dmul.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/DNEGTestCase.java b/src/test/java/org/apache/bcel/generic/DNEGTestCase.java
index 6bc5c043..2d30b109 100644
--- a/src/test/java/org/apache/bcel/generic/DNEGTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/DNEGTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class DNEGTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final DNEG dneg = new DNEG();
         dneg.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/DREMTestCase.java b/src/test/java/org/apache/bcel/generic/DREMTestCase.java
index 170d2508..a2c0c1bf 100644
--- a/src/test/java/org/apache/bcel/generic/DREMTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/DREMTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class DREMTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final DREM drem = new DREM();
         drem.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/DSUBTestCase.java b/src/test/java/org/apache/bcel/generic/DSUBTestCase.java
index 1cbb6991..9ee047aa 100644
--- a/src/test/java/org/apache/bcel/generic/DSUBTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/DSUBTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class DSUBTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final DSUB dsub = new DSUB();
         dsub.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/F2DTestCase.java b/src/test/java/org/apache/bcel/generic/F2DTestCase.java
index 736f490b..59dac71d 100644
--- a/src/test/java/org/apache/bcel/generic/F2DTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/F2DTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class F2DTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final F2D f2d = new F2D();
         f2d.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/F2ITestCase.java b/src/test/java/org/apache/bcel/generic/F2ITestCase.java
index e3e6ca40..b7936f98 100644
--- a/src/test/java/org/apache/bcel/generic/F2ITestCase.java
+++ b/src/test/java/org/apache/bcel/generic/F2ITestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class F2ITestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final F2I f2i = new F2I();
         f2i.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/F2LTestCase.java b/src/test/java/org/apache/bcel/generic/F2LTestCase.java
index 56d73b60..bc906e3c 100644
--- a/src/test/java/org/apache/bcel/generic/F2LTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/F2LTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class F2LTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final F2L f2l = new F2L();
         f2l.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/FADDTestCase.java b/src/test/java/org/apache/bcel/generic/FADDTestCase.java
index 0ebea9c3..dbbf6e54 100644
--- a/src/test/java/org/apache/bcel/generic/FADDTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/FADDTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class FADDTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final FADD fadd = new FADD();
         fadd.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/FDIVTestCase.java b/src/test/java/org/apache/bcel/generic/FDIVTestCase.java
index b1264688..f283c3db 100644
--- a/src/test/java/org/apache/bcel/generic/FDIVTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/FDIVTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class FDIVTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final FDIV fdiv = new FDIV();
         fdiv.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/FMULTestCase.java b/src/test/java/org/apache/bcel/generic/FMULTestCase.java
index 0a96522f..0bda016b 100644
--- a/src/test/java/org/apache/bcel/generic/FMULTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/FMULTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class FMULTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final FMUL fmul = new FMUL();
         fmul.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/FNEGTestCase.java b/src/test/java/org/apache/bcel/generic/FNEGTestCase.java
index d2198c1f..36675408 100644
--- a/src/test/java/org/apache/bcel/generic/FNEGTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/FNEGTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class FNEGTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final FNEG fneg = new FNEG();
         fneg.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/FREMTestCase.java b/src/test/java/org/apache/bcel/generic/FREMTestCase.java
index 4724a687..f6c47b43 100644
--- a/src/test/java/org/apache/bcel/generic/FREMTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/FREMTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class FREMTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final FREM frem = new FREM();
         frem.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/FSUBTestCase.java b/src/test/java/org/apache/bcel/generic/FSUBTestCase.java
index e7cc5be1..b9b949d9 100644
--- a/src/test/java/org/apache/bcel/generic/FSUBTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/FSUBTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class FSUBTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final FSUB fsub = new FSUB();
         fsub.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/GETFIELDTestCase.java b/src/test/java/org/apache/bcel/generic/GETFIELDTestCase.java
index e4f75865..36f52b4f 100644
--- a/src/test/java/org/apache/bcel/generic/GETFIELDTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/GETFIELDTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class GETFIELDTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final GETFIELD getfield = new GETFIELD(0);
         getfield.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setExceptionThrower(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/I2BTestCase.java b/src/test/java/org/apache/bcel/generic/I2BTestCase.java
index 1e878382..ba71fb23 100644
--- a/src/test/java/org/apache/bcel/generic/I2BTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/I2BTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class I2BTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final I2B i2b = new I2B();
         i2b.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/I2CTestCase.java b/src/test/java/org/apache/bcel/generic/I2CTestCase.java
index 281a21a0..ea783ff7 100644
--- a/src/test/java/org/apache/bcel/generic/I2CTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/I2CTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class I2CTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final I2C i2c = new I2C();
         i2c.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/I2DTestCase.java b/src/test/java/org/apache/bcel/generic/I2DTestCase.java
index 9692fc45..23902c56 100644
--- a/src/test/java/org/apache/bcel/generic/I2DTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/I2DTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class I2DTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final I2D i2d = new I2D();
         i2d.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/I2FTestCase.java b/src/test/java/org/apache/bcel/generic/I2FTestCase.java
index d4cd9f0a..76587f8e 100644
--- a/src/test/java/org/apache/bcel/generic/I2FTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/I2FTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class I2FTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final I2F i2f = new I2F();
         i2f.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/I2LTestCase.java b/src/test/java/org/apache/bcel/generic/I2LTestCase.java
index b2c6bacd..08994b7f 100644
--- a/src/test/java/org/apache/bcel/generic/I2LTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/I2LTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class I2LTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final I2L i2l = new I2L();
         i2l.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/I2STestCase.java b/src/test/java/org/apache/bcel/generic/I2STestCase.java
index f55cd10f..b664cb05 100644
--- a/src/test/java/org/apache/bcel/generic/I2STestCase.java
+++ b/src/test/java/org/apache/bcel/generic/I2STestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class I2STestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final I2S i2s = new I2S();
         i2s.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/IADDTestCase.java b/src/test/java/org/apache/bcel/generic/IADDTestCase.java
index 7c65f8d6..5df6be59 100644
--- a/src/test/java/org/apache/bcel/generic/IADDTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/IADDTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class IADDTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final IADD iadd = new IADD();
         iadd.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/IANDTestCase.java b/src/test/java/org/apache/bcel/generic/IANDTestCase.java
index 61839299..0498f460 100644
--- a/src/test/java/org/apache/bcel/generic/IANDTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/IANDTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class IANDTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final IAND iand = new IAND();
         iand.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/IDIVTestCase.java b/src/test/java/org/apache/bcel/generic/IDIVTestCase.java
index 4592815c..3ce5ffb4 100644
--- a/src/test/java/org/apache/bcel/generic/IDIVTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/IDIVTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class IDIVTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final IDIV idiv = new IDIV();
         idiv.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setExceptionThrower(1);
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
diff --git a/src/test/java/org/apache/bcel/generic/IMPDEP1TestCase.java b/src/test/java/org/apache/bcel/generic/IMPDEP1TestCase.java
index 27263979..0e383f75 100644
--- a/src/test/java/org/apache/bcel/generic/IMPDEP1TestCase.java
+++ b/src/test/java/org/apache/bcel/generic/IMPDEP1TestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class IMPDEP1TestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final IMPDEP1 impdep1 = new IMPDEP1();
         impdep1.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setImpdep1(1);
         assertEquals(expected, countVisitor);
     }
diff --git a/src/test/java/org/apache/bcel/generic/IMPDEP2TestCase.java b/src/test/java/org/apache/bcel/generic/IMPDEP2TestCase.java
index c28c843b..5ba7d52e 100644
--- a/src/test/java/org/apache/bcel/generic/IMPDEP2TestCase.java
+++ b/src/test/java/org/apache/bcel/generic/IMPDEP2TestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class IMPDEP2TestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final IMPDEP2 impdep2 = new IMPDEP2();
         impdep2.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setImpdep2(1);
         assertEquals(expected, countVisitor);
     }
diff --git a/src/test/java/org/apache/bcel/generic/IMULTestCase.java b/src/test/java/org/apache/bcel/generic/IMULTestCase.java
index b28ae6d4..ca9eb07c 100644
--- a/src/test/java/org/apache/bcel/generic/IMULTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/IMULTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class IMULTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final IMUL imul = new IMUL();
         imul.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/INEGTestCase.java b/src/test/java/org/apache/bcel/generic/INEGTestCase.java
index 0076e14e..82f7b58e 100644
--- a/src/test/java/org/apache/bcel/generic/INEGTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/INEGTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class INEGTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final INEG ineg = new INEG();
         ineg.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/IORTestCase.java b/src/test/java/org/apache/bcel/generic/IORTestCase.java
index ce8d05b7..0c8b67ee 100644
--- a/src/test/java/org/apache/bcel/generic/IORTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/IORTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class IORTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final IOR ior = new IOR();
         ior.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/IREMTestCase.java b/src/test/java/org/apache/bcel/generic/IREMTestCase.java
index c2f581bc..ae7457da 100644
--- a/src/test/java/org/apache/bcel/generic/IREMTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/IREMTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class IREMTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final IREM irem = new IREM();
         irem.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setExceptionThrower(1);
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
diff --git a/src/test/java/org/apache/bcel/generic/ISHLTestCase.java b/src/test/java/org/apache/bcel/generic/ISHLTestCase.java
index 5770714e..b4f5508a 100644
--- a/src/test/java/org/apache/bcel/generic/ISHLTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/ISHLTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class ISHLTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final ISHL ishl = new ISHL();
         ishl.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/ISHRTestCase.java b/src/test/java/org/apache/bcel/generic/ISHRTestCase.java
index 26ad0ffc..1284a999 100644
--- a/src/test/java/org/apache/bcel/generic/ISHRTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/ISHRTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class ISHRTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final ISHR ishr = new ISHR();
         ishr.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/ISUBTestCase.java b/src/test/java/org/apache/bcel/generic/ISUBTestCase.java
index 6a61de3b..91f5b417 100644
--- a/src/test/java/org/apache/bcel/generic/ISUBTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/ISUBTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class ISUBTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final ISUB isub = new ISUB();
         isub.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/IXORTestCase.java b/src/test/java/org/apache/bcel/generic/IXORTestCase.java
index 4b2b19a9..5f21cf1e 100644
--- a/src/test/java/org/apache/bcel/generic/IXORTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/IXORTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class IXORTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final IXOR ixor = new IXOR();
         ixor.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/L2DTestCase.java b/src/test/java/org/apache/bcel/generic/L2DTestCase.java
index 9b436ed4..a7a823ba 100644
--- a/src/test/java/org/apache/bcel/generic/L2DTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/L2DTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class L2DTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final L2D l2d = new L2D();
         l2d.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/L2FTestCase.java b/src/test/java/org/apache/bcel/generic/L2FTestCase.java
index 7749ec43..90a4f4a2 100644
--- a/src/test/java/org/apache/bcel/generic/L2FTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/L2FTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class L2FTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final L2F l2f = new L2F();
         l2f.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/L2ITestCase.java b/src/test/java/org/apache/bcel/generic/L2ITestCase.java
index a2ca1d82..9d9ef7cd 100644
--- a/src/test/java/org/apache/bcel/generic/L2ITestCase.java
+++ b/src/test/java/org/apache/bcel/generic/L2ITestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class L2ITestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final L2I l2i = new L2I();
         l2i.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/LADDTestCase.java b/src/test/java/org/apache/bcel/generic/LADDTestCase.java
index 8bc90588..af1628cb 100644
--- a/src/test/java/org/apache/bcel/generic/LADDTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/LADDTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class LADDTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final LADD ladd = new LADD();
         ladd.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/LANDTestCase.java b/src/test/java/org/apache/bcel/generic/LANDTestCase.java
index 10b01fce..3e7458b7 100644
--- a/src/test/java/org/apache/bcel/generic/LANDTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/LANDTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class LANDTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final LAND land = new LAND();
         land.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/LCMPTestCase.java b/src/test/java/org/apache/bcel/generic/LCMPTestCase.java
index dcaf00dd..7c4597a3 100644
--- a/src/test/java/org/apache/bcel/generic/LCMPTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/LCMPTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class LCMPTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final LCMP lcmp = new LCMP();
         lcmp.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/LDIVTestCase.java b/src/test/java/org/apache/bcel/generic/LDIVTestCase.java
index 716d959c..928cd89d 100644
--- a/src/test/java/org/apache/bcel/generic/LDIVTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/LDIVTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class LDIVTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final LDIV ldiv = new LDIV();
         ldiv.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setExceptionThrower(1);
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
diff --git a/src/test/java/org/apache/bcel/generic/LMULTestCase.java b/src/test/java/org/apache/bcel/generic/LMULTestCase.java
index f2ac83f1..174552d1 100644
--- a/src/test/java/org/apache/bcel/generic/LMULTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/LMULTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class LMULTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final LMUL lmul = new LMUL();
         lmul.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/LNEGTestCase.java b/src/test/java/org/apache/bcel/generic/LNEGTestCase.java
index b11373dd..a2e7c02f 100644
--- a/src/test/java/org/apache/bcel/generic/LNEGTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/LNEGTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class LNEGTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final LNEG lneg = new LNEG();
         lneg.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/LORTestCase.java b/src/test/java/org/apache/bcel/generic/LORTestCase.java
index a6680cb3..816f01f1 100644
--- a/src/test/java/org/apache/bcel/generic/LORTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/LORTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class LORTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final LOR lor = new LOR();
         lor.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/LREMTestCase.java b/src/test/java/org/apache/bcel/generic/LREMTestCase.java
index bfe3b1e2..63290358 100644
--- a/src/test/java/org/apache/bcel/generic/LREMTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/LREMTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class LREMTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final LREM lrem = new LREM();
         lrem.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setExceptionThrower(1);
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
diff --git a/src/test/java/org/apache/bcel/generic/LSHLTestCase.java b/src/test/java/org/apache/bcel/generic/LSHLTestCase.java
index 650a476e..e7b24d05 100644
--- a/src/test/java/org/apache/bcel/generic/LSHLTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/LSHLTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class LSHLTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final LSHL lshl = new LSHL();
         lshl.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/LSHRTestCase.java b/src/test/java/org/apache/bcel/generic/LSHRTestCase.java
index b4471b47..9f45e939 100644
--- a/src/test/java/org/apache/bcel/generic/LSHRTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/LSHRTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class LSHRTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final LSHR lshr = new LSHR();
         lshr.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/LSUBTestCase.java b/src/test/java/org/apache/bcel/generic/LSUBTestCase.java
index 46e09669..ec5e430e 100644
--- a/src/test/java/org/apache/bcel/generic/LSUBTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/LSUBTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class LSUBTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final LSUB lsub = new LSUB();
         lsub.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/LXORTestCase.java b/src/test/java/org/apache/bcel/generic/LXORTestCase.java
index d7b96d30..05d49daa 100644
--- a/src/test/java/org/apache/bcel/generic/LXORTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/LXORTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class LXORTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final LXOR lxor = new LXOR();
         lxor.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setTypedInstruction(1);
         expected.setStackProducer(1);
         expected.setStackConsumer(1);
diff --git a/src/test/java/org/apache/bcel/generic/PUTFIELDTestCase.java b/src/test/java/org/apache/bcel/generic/PUTFIELDTestCase.java
index 4b474c91..096486c5 100644
--- a/src/test/java/org/apache/bcel/generic/PUTFIELDTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/PUTFIELDTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class PUTFIELDTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final PUTFIELD putfield = new PUTFIELD(0);
         putfield.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setExceptionThrower(1);
         expected.setStackConsumer(1);
         expected.setPopInstruction(1);
diff --git a/src/test/java/org/apache/bcel/generic/PUTSTATICTestCase.java b/src/test/java/org/apache/bcel/generic/PUTSTATICTestCase.java
index 2b6ccc37..07dc1f03 100644
--- a/src/test/java/org/apache/bcel/generic/PUTSTATICTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/PUTSTATICTestCase.java
@@ -23,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class PUTSTATICTestCase {
     @Test
     public void accept() {
-        final CountVisitor countVisitor = new CountVisitor();
+        final CountingVisitor countVisitor = new CountingVisitor();
         final PUTSTATIC putstatic = new PUTSTATIC(0);
         putstatic.accept(countVisitor);
-        final CountVisitor expected = new CountVisitor();
+        final CountingVisitor expected = new CountingVisitor();
         expected.setExceptionThrower(1);
         expected.setStackConsumer(1);
         expected.setPopInstruction(1);
diff --git a/src/test/java/org/apache/bcel/visitors/CounterVisitor.java b/src/test/java/org/apache/bcel/visitors/CountingVisitor.java
similarity index 99%
rename from src/test/java/org/apache/bcel/visitors/CounterVisitor.java
rename to src/test/java/org/apache/bcel/visitors/CountingVisitor.java
index 90616f49..8a350385 100644
--- a/src/test/java/org/apache/bcel/visitors/CounterVisitor.java
+++ b/src/test/java/org/apache/bcel/visitors/CountingVisitor.java
@@ -76,7 +76,7 @@ import org.apache.bcel.classfile.Synthetic;
 import org.apache.bcel.classfile.Unknown;
 import org.apache.bcel.classfile.Visitor;
 
-public class CounterVisitor implements Visitor {
+public class CountingVisitor implements Visitor {
     // CHECKSTYLE:OFF (public mutable fields in test code)
     public int unknownCount;