docs: private JsonNode invoke(Object target, Method method, List<JsonNode> params) throws IOException, IllegalAccessException, InvocationTargetException {
  		logger.debug("Invoking method: {} with args {}", method.getName(), params);
  
  		Object result;
  
          if (method.getGenericParameterTypes().length == 1 && method.isVarArgs()) {
  			Class<?> componentType = method.getParameterTypes()[0].getComponentType();
  			result = componentType.isPrimitive() ?
  				invokePrimitiveVarargs(target, method, params, componentType) :
  				invokeNonPrimitiveVarargs(target, method, params, componentType);
          } else {
              Object[] convertedParams = convertJsonToParameters(method, params);
  			if (convertedParameterTransformer != null) {
  				convertedParams = convertedParameterTransformer.transformConvertedParameters(target, convertedParams);
  			}
  			result = method.invoke(target, convertedParams);
          }
  
  		logger.debug("Invoked method: {}, result {}", method.getName(), result);
  
  		return hasReturnValue(method) ? mapper.valueToTree(result) : null;
  	}