...
In the temporary case, we might wish to retry the decryption before either giving up, or re-throwing exception.
We want to combine that with support for deserialization to CloudEvents.
It would be good to establish a pattern for this, rather than each team or organization coming up with their own solutions.
...
Anyone can build themself in-house monolithic deserializer, but that's inflexible and results in deserializer explosion, ultimately you end up with CloudEventsDecryptingRetryExceptionHandlingDeserializier. I hope I don't need to explaining. LMK if you don't understand why that is undesirable.