{
throw new MuleRuntimeException(CoreMessages.objectIsNull(name));
}
else if (!referenceCache.containsKey(name))
{
MessageProcessor dynamicReference = new MessageProcessor()
{
@Override
public MuleEvent process(MuleEvent event) throws MuleException
{
// Need to initialize because message processor won't be managed by parent
MessageProcessor dynamicMessageProcessor = getReferencedFlow(muleContext.getExpressionManager()
.parse(refName, event), event.getFlowConstruct());
return dynamicMessageProcessor.process(event);
}
};
if (dynamicReference instanceof Initialisable)
{
((Initialisable) dynamicReference).initialise();