Primavera @Cacheable com chave de SpEL: sempre avalia a null

Estou tendo um problema com o @Cacheable e usando uma chave personalizada com base na linguagem de expressão Spring. eu tenho o seguinte código

@Cacheable(value = "myCache", key = "#providerDTO.identifier")
ClientVO loadClientVOByProviderDTO(ProviderDTO providerDTO);

Isso está jogando o seguinte erro

org.springframework.expression.spel.SpelEvaluation Exception: EL1007Epos 0): Field or property 'identifier' cannot be found on null

O argumento providerDTO não é nulo, verifiquei isso muitas vezes. Os docs dizem que isso deve funcionar, por isso estou muito confuso. Os documentos dão o seguinte exemplo

@Cacheable(value="books", key="#isbn.rawNumber")

Eu também tentei com um método estático. Isso lança um NullPointerException porque o providerDTO é nulo aqui.

public static String cacheKey(ProviderDTO providerDTO)                                                                                                                                                                                                                    
{                                                                                                                                                                                                                                                                         
    return providerDTO.identifier + "-" + providerDTO.clientID + "-" + providerDTO.clubID;                                                                                                                                                                            
}

Como posso depurar isso para descobrir o que está acontecendo? Esta é a Primavera 3.2.4-RELEASE. A tag @Cacheable está em uma interface, mas estou usando o padrão Spring AOP e não AspectJ, tanto quanto eu entendo que isso ainda funcionaria bem.

questionAnswers(1)

yourAnswerToTheQuestion