Playing with the guess sample with an added dependent bean and a JSP with a simple EL expression referencing the same bean a few times results in 1 dependent bean instance being used for two expressions
This results in only one bean instance being created, because the first bean is left in the thread-local ELContextStore for the 2nd expression.
Our current code counts on the ELResolver lookup being driven by our own ELValueExpression, which gives us a chance to cleanup the thread-local context on the way out, but this path goes right from jetty to our ELResolverCode twice with no ValueExpression.
This seems to always work correctly from JSF, whether deferred evaluation is used for the value or not. But this was only tested with the output mechanism in login.xhtml so it may just be good/bad luck.