code: private Object mapAndInvoke(String pOperation, Object[] pParams, String[] pSignature, OperationMapInfo pOpMapInfo)
              throws InstanceNotFoundException, MBeanException, ReflectionException {
          // Map parameters
          Object realParams[] = new Object[pSignature.length];
          String realSignature[] = new String[pSignature.length];
          for (int i = 0; i < pSignature.length; i++) {
              if (pOpMapInfo.isParamMapped(i)) {
                  String origType = pOpMapInfo.getOriginalType(i);
                  OpenType openType = pOpMapInfo.getOpenMBeanType(i);
                  if (openType != null) {
                      realParams[i] = fromJson(openType, (String) pParams[i]);
                  } else {
                      realParams[i] = fromJson(origType, (String) pParams[i]);
                  }
                  realSignature[i] = origType;
              } else {
                  realParams[i] = pParams[i];
                  realSignature[i] = pSignature[i];
              }
          }
          Object ret = jolokiaMBeanServer.invoke(objectName, pOperation, realParams, realSignature);
          return pOpMapInfo.isRetTypeMapped() ? toJson(ret) : ret;
      }
docs: Map the parameters and the return value if required