When a conversation component method is called in a reentrant fashion, entity fields are nulled incorrectly.
The scenario is as follows:
I. Component A method is called
A. entityIdsToRefs(). (reinject entity fields)
B. Method invoked
C. Component A calls method in object B
D. Object B calls method in Component A.
ii. Method invoked
iii. entityRefsToIds(). (disinject entity fields, set to null, save in conversation)
E. entityRefsToIds(). (fields are already null, so clearWrapper is called, and the objects are removed from the conversation)
II. Component A method is called, values are null, and cannot be retrieved from the conversation context (they are in the removals map)
I've attached a patch that fixes the problem for me, please review.