code: public Method getMethodFromDataService(final Class dsClass, final MessageFromClient message, List<Object> arguments) throws NoSuchMethodException {
  		logger.debug("Try to find method {} on class {}", message.getOperation(), dsClass);
  		List<String> parameters = message.getParameters();
  		int nbparam = parameters.size() - getNumberOfNullEnderParameter(parameters); // determine how many parameter is null at the end
  		List<Method> candidates = getSortedCandidateMethods(message.getOperation(), dsClass.getMethods()); // take only method with the good name, and orderedby number of arguments
  		if (!candidates.isEmpty()) {
  			while (nbparam <= parameters.size()) {
  				for (Method method : candidates) {
  					if (method.getParameterTypes().length == nbparam) {
  						logger.debug("Process method {}", method.getName());
  						try {
  							checkMethod(method, arguments, parameters, nbparam);
  							logger.debug("Method {}.{} with good signature found.", dsClass, message.getOperation());
  							return method;
  						} catch (JsonMarshallerException | JsonUnmarshallingException | IllegalArgumentException iae) {
  							logger.debug("Method {}.{} not found. Some arguments didn't match. {}.", new Object[]{dsClass, message.getOperation(), iae.getMessage()});
  						}
  						arguments.clear();
  					}
  				}
  				nbparam++;
  			}
  		}
  		throw new NoSuchMethodException(dsClass.getName() + "." + message.getOperation());
  	}
docs: Get pertinent method and fill the argument list from message arguments
  
  @param dsClass
  @param message
  @param arguments
  @return
  @throws java.lang.NoSuchMethodException