How to change the Expression of an "intermediate message throw event"?

I created an ExecutionListener to change the Expression of an “intermediate message thrown event”, see the code below.
The expression is changed, before the class MessageCorrelationBuilderImpl is used and the message is correlated. However, it uses the old expression. Why? And how should I be able to change the expression?

@Component
@RequiredArgsConstructor
@Slf4j
@CamundaSelector(type = ActivityTypes.INTERMEDIATE_EVENT_THROW, event = ExecutionListener.EVENTNAME_START)
public class CorrelateMessageExecutionListener extends ReactorExecutionListener {

private final ExpressionDecorator expressionDecorator;

@Override
public void notify(DelegateExecution execution) {
    IntermediateThrowEvent event = (IntermediateThrowEvent) execution.getBpmnModelElementInstance();
    Optional<MessageEventDefinition> eventDefinitionOpt = event.getEventDefinitions().stream()
            .filter((ed) -> ed instanceof MessageEventDefinition)
            .map((ed) -> ((MessageEventDefinition) ed))
            .findFirst();

    eventDefinitionOpt.ifPresent((defintion) -> {
        defintion.setCamundaExpression(expressionDecorator.decorate(defintion.getCamundaExpression()));
    });
}

}