Given the logic needed to compute what slots should be filled, and how they should behave. There is... logical reasoning to determine that the individual selection of role groups can be done after players have been handed their roles... then again, there's a possibility that it's an all Any game, and the chances won't matter (more so that it would be critical to get unique roles correct before the game sequence is initiated... and to store the initial result in a database, then retrieve it and rebuild the resulting role data... just to resolve the groups).
While it does sound reasonable for a method to hide the chosen roles, it is more likely that an attribute can be added stating that it was an all any role, and what it originated from - therefore maintaining the opportunity to hide a chosen role if required.
Given the logic needed to compute what slots should be filled, and how they should behave. There is... logical reasoning to determine that the individual selection of role groups can be done after players have been handed their roles... then again, there's a possibility that it's an all Any game, and the chances won't matter (more so that it would be critical to get unique roles correct before the game sequence is initiated... and to store the initial result in a database, then retrieve it and rebuild the resulting role data... just to resolve the groups).
While it does sound reasonable for a method to hide the chosen roles, it is more likely that an attribute can be added stating that it was an all any role, and what it originated from - therefore maintaining the opportunity to hide a chosen role if required.