@clebertsuconic as per your comment to look at an alternative QueueImpl with it having separate flow without counters for exclusive.
IMO i don't think this is a better approach, but i want to offer it to you.
There is an amount of logic that is almost similar but not re-usable or abstract-able (ive done what i could).
This is why i followed the same logic that MessageGroups does when a group already is assigned,
which is to override the consumer and then don't update the pos, as it made for a lot smaller change, less intrusive change following a pattern already done with msg groups.
Anyhow if you prefer this then im not dead opposed to this approach just don't think its better, but i offer it for your review.