code: public static int insertPopsForAllParameters(MethodVisitor mv, String desc) {
  		String descSequence = Utils.getParamSequence(desc);
  		if (descSequence == null) {
  			return 0; // nothing to do, there are no parameters
  		}
  		int count = descSequence.length();
  		for (int dpos = count - 1; dpos >= 0; dpos--) {
  			char ch = descSequence.charAt(dpos);
  			switch (ch) {
  				case 'O':
  				case 'I':
  				case 'Z':
  				case 'F':
  				case 'S':
  				case 'C':
  				case 'B':
  					mv.visitInsn(POP);
  					break;
  				case 'J': // long - double slot
  				case 'D': // double - double slot
  					mv.visitInsn(POP2);
  					break;
  				default:
  					throw new IllegalStateException("Unexpected character: " + ch + " from " + desc + ":" + dpos);
  			}
  		}
  		return count;
  	}
docs: Looks at the supplied descriptor and inserts enough pops to remove all parameters. Should be used when about to
  avoid a method call.
  
  @param mv the method visitor to append instructions to
  @param desc the method descriptor for the parameter sequence (e.g. (Ljava/lang/String;IZZ)V)
  @return number of parameters popped