code: @Override
      public void visitCode(Code obj) {
  
          Method m = getMethod();
          if (m.isSynthetic()) {
              return;
          }
  
          if (isEnum && "values".equals(m.getName())) {
              return;
          }
  
          String sig = m.getSignature();
          int sigPos = sig.indexOf(")[");
          if (sigPos < 0) {
              return;
          }
          if (INITIAL_VALUE.equals(m.getName())) {
              try {
                  if ((THREAD_LOCAL_CLASS == null) || getClassContext().getJavaClass().instanceOf(THREAD_LOCAL_CLASS)) {
                      return;
                  }
              } catch (ClassNotFoundException e) {
                  bugReporter.reportMissingClass(e);
                  return;
              }
          }
  
          stack.resetForMethodEntry(this);
          returnArraySig = sig.substring(sigPos + 1);
          uninitializedRegs.clear();
          arrayAliases.clear();
          storedUVs.clear();
          super.visitCode(obj);
      }
docs: overrides the visitor to check to see if the method returns an array, and if so resets the stack for this method.
  
  @param obj
  the context object for the currently parsed code block