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