I can't see the description of the issue even though I added it.
In RichFaces 5 when we compile ActionListenerHandler against Mojarra 2.2.5 and then run the code against older 2.1 release (2.1.7), we get NullPointerException.
The issue is well described in RF-13472.
The problem here is that a value of FACELET_CONTEXT_KEY contstant is inlined by compiler, but the value has changed between Mojarra 2.1 ("com.sun.faces.facelets.FACELET_CONTEXT") and 2.2 ("javax.faces.FACELET_CONTEXT"). This means the code compiled against one 2.2 won't work on 2.1 and vice versa.
What we can do is prevent compiler from inlining the FACELET_CONTEXT_KEY constant.
As suggested on stackoverflow, it is possible to use String#intern() or String#toString():
public static final String FACELET_CONTEXT_KEY =
I believe the fix should go to 2.1.x branch as well.