docs: private AMethodWithItsArgs findBestMethodByParamsNode(Set<Method> methods, JsonNode paramsNode) {
  		if (hasNoParameters(paramsNode)) {
  			return findBestMethodUsingParamIndexes(methods, 0, null);
  		}
  		AMethodWithItsArgs matchedMethod;
  		if (paramsNode.isArray()) {
  			matchedMethod = findBestMethodUsingParamIndexes(methods, paramsNode.size(), ArrayNode.class.cast(paramsNode));
  		} else if (paramsNode.isObject()) {
  			matchedMethod = findBestMethodUsingParamNames(methods, collectFieldNames(paramsNode), ObjectNode.class.cast(paramsNode));
  		} else {
  			throw new IllegalArgumentException("Unknown params node type: " + paramsNode.toString());
  		}
          if (matchedMethod == null) {
              matchedMethod = findBestMethodForVarargs(methods, paramsNode);
  		}
  		return matchedMethod;
  	}