I'm writing a Zimlet to prevent Zimbra from replacing another user's (in the same domain) cached contact unless the contact is from a specific address book. The reason is so the standard email zimlet will show details from the correct contact record for all our users (the one in a standard address book with all the user's details).

I have my Zimlet replacing the updateCache function, and it works as intended. It only executes _updateHash if all my conditions are met. However, even if niether updateCache functions execute _updateHash, the _byEmail hash still gets updates anyway, somehow. I put a break on all lines of code that will update the object _byEmail directly, but none of these lines are executed. Where could it be updating _byEmail from?