class Invoker {

	Map<String, Object> createParameters(WebRequest request, MatchResult match, Handler handler) throws Exception {
		Map<String, Object> parameters = new HashMap<>();
		for (Map.Entry<String, Type> parameter : handler.getParameterNameToType().entrySet()) {
			String name = parameter.getKey();
			Object value;
			if (Handler.NAME_ENTITY.equals(name)) {
				value = request.getEntity();
			} else {
				value = match.getVariables().get(name);
			}
			parameters.put(name, convert(parameter.getValue(), value));
		}
		return parameters;
	}

	@Inject public  Invoker(GsonWebRenderer webRenderer, Logger logger);

}