static public void boxIfNessesary(CodeAttribute ca, String desc) {
        if (desc.length() == 1) {
            char type = desc.charAt(0);
            switch (type) {
                case 'I':
                    boxInt(ca);
                    break;
                case 'J':
                    boxLong(ca);
                    break;
                case 'S':
                    boxShort(ca);
                    break;
                case 'F':
                    boxFloat(ca);
                    break;
                case 'D':
                    boxDouble(ca);
                    break;
                case 'B':
                    boxByte(ca);
                    break;
                case 'C':
                    boxChar(ca);
                    break;
                case 'Z':
                    boxBoolean(ca);
                    break;
                default:
                    throw new RuntimeException("Cannot box unkown primitive type: " + type);
            }
        }
    }