In most cases, we convert the incoming entity to a HAL entity only if it isn't already -- because we want to operate on the HAL entity. But yes, I see the confusion. I really want to refactor this whole plugin substantially soon, TBH; too many mixed concerns. The problem is doing so and keeping backwards compatibility for end-users.