           # If the where clause evaluates to false, don't add it
           if evaluationContext.evaluateExpression(node.foreach.where) then bindingSet.push(newBindings)
         catch error
-          throw new Error("Error evaluating the where expression '#{node.foreach.where}' for foreach node '#{node}': #{error}")
+          throw new Error("Error evaluating the where expression '#{node.foreach.where}' for foreach node '#{node}':\n#{error.stack}")
       else
         bindingSet.push(newBindings)
   else if _.isString(node.foreach.from)

          # If the where clause evaluates to false, don't add it
          if evaluationContext.evaluateExpression(node.foreach.where) then bindingSet.push(newBindings)
        catch error
          throw new Error("Error evaluating the where expression '#{node.foreach.where}' for foreach node '#{node}': #{error}")
      else
        bindingSet.push(newBindings)
  else

    try
      evaluatedParams[paramName] = evaluationContext.evaluateExpression(paramValue)
    catch error
      throw new Error("Error evaluating the input parameter expression '#{paramValue}' for node '#{node.action}':\n#{error.stack}")

  locals = 
    params: evaluatedParams
