In Fault Tolerant scenarios, we will generate a new group during the recovery. And the same code should be shared no matter it is for the first group or a new group.
In IMRU driver, there is only one GroupCommDriver instance. Current default group is created in the constructor of GroupCommDriver. That would enforce us to get the first group in different way from rest of the groups. And if we want to share the same code for all the group creations right before submitting the tasks, we have to remove the default one. That is not a right approach.
We should move the default group creation from the constructor of communication group driver. It would be created only when it is called.
In fault tolerant case, we will not use the default group but call NewCommunicationGroup() before tasks are submitted.