Does this really guarantee that this listener is added at the end of the listener chain? I see that this listener list is updated in other parts of the code by some other DUPs. The WeldTerminalListener states that this must be the last in the listener chain:

>> This listener should always be the last registered listener. This will ensure this listener can activate the
* session context before any other listeners try to access it (the listeners are notified in reverse order when a
* session is being destroyed). Any listeners notified before this one will receive a ContextNotActiveException when
* trying to access any @SessionScoped bean.