public <T> T evaluate(String expression, MuleMessage message, Map<String, Object> vars)
{
MVELExpressionLanguageContext context = createExpressionLanguageContext();
if (vars != null)
{
context.setNextFactory(new CachedMapVariableResolverFactory(vars,
new DelegateVariableResolverFactory(staticContext, new MessageVariableResolverFactory(
parserConfiguration, muleContext, message, new DelegateVariableResolverFactory(
globalContext, createVariableVariableResolverFactory(message))))));
}
else