Map<String, Class<?>> parameters = parametersDelegate.getParameters();
for (Map.Entry<String, Class<?>> entry : parameters.entrySet()) {
String varName = entry.getKey();
Class<?> varType = entry.getValue();
if (!binding.hasVariable(varName)) {
throw new DataNotFoundException("Parameter named " + varName + " not found");
}
Object varValue = binding.getVariable(varName);
if (!varType.isInstance(varValue)) {
throw new IllegalArgumentException("Parameter " + varName + " has type " + varValue.getClass().getName() + ", " +
"required type is " + varType.getName());