code: @Override
      public void visitClassContext(ClassContext classContext) {
          try {
              if ((jcomponentClass != null) && (accessibleClass != null)) {
                  JavaClass cls = classContext.getJavaClass();
                  if (cls.instanceOf(jcomponentClass) && !cls.implementationOf(accessibleClass)) {
                      bugReporter.reportBug(new BugInstance(this, BugType.S508C_NON_ACCESSIBLE_JCOMPONENT.name(), NORMAL_PRIORITY).addClass(cls));
                  }
              }
  
              stack = new OpcodeStack();
              fieldLabels = new HashSet<>();
              localLabels = new HashMap<>();
              super.visitClassContext(classContext);
              for (XField fa : fieldLabels) {
                  bugReporter.reportBug(new BugInstance(this, BugType.S508C_NO_SETLABELFOR.name(), NORMAL_PRIORITY).addClass(this).addField(fa));
              }
          } catch (ClassNotFoundException cnfe) {
              bugReporter.reportMissingClass(cnfe);
          } finally {
              stack = null;
              fieldLabels = null;
              localLabels = null;
          }
      }
docs: implements the visitor to create and clear the stack
  
  @param classContext
  the context object of the currently visited class