public String mapMethodDesc(String desc) {
        if("()V".equals(desc)) {
            return desc;
        }
        
        Type[] args = Type.getArgumentTypes(desc);
        String s = "(";
        for (int i = 0; i < args.length; i++) {
            s += mapDesc(args[i].getDescriptor());
        }
        Type returnType = Type.getReturnType(desc);
        if(returnType == Type.VOID_TYPE) {
            return s + ")V";
        }
        return s + ')' + mapDesc(returnType.getDescriptor());
    }