docs: protected void consumeStack(Instruction ins) {
          ConstantPoolGen cpg = getCPG();
          TypeFrame frame = getFrame();
  
          int numWordsConsumed = ins.consumeStack(cpg);
          if (numWordsConsumed == Const.UNPREDICTABLE) {
              throw new InvalidBytecodeException("Unpredictable stack consumption for " + ins);
          }
          if (numWordsConsumed > frame.getStackDepth()) {
              throw new InvalidBytecodeException("Stack underflow for " + ins + ", " + numWordsConsumed + " needed, " + frame.getStackDepth() + " avail, frame is " + frame);
          }
          try {
              while (numWordsConsumed-- > 0) {
                  frame.popValue();
              }
          } catch (DataflowAnalysisException e) {
              throw new InvalidBytecodeException("Stack underflow for " + ins + ": " + e.getMessage());
          }
      }