def METHOD_NAME(self, GrpId, ToBeRemoveDevices):
    self.logging("Debug", " --  --  --  --  --  > UpdateGroupAndRemoveDevices ")
    for NwkId, ep, ieee in ToBeRemoveDevices:
        self.logging("Debug", "-- --  --  --  --  --  > Removing [%s %s %s]" % (NwkId, ep, ieee))
        NwkId = checkNwkIdAndUpdateIfAny(self, NwkId, ieee)
        # Ikea Tradfri Round5B will be removed if required by checkIfIkeaRound5B
        if NwkId and not checkIfIkeaRound5BToBeRemoved(self, NwkId, ep, ieee, GrpId):
            self.logging(
                "Debug", "-- --  --  --  --  --  -- > Calling Remove_group_membership [%s %s %s]" % (NwkId, ep, ieee)
            )
            remove_group_member_ship(self, NwkId, ep, GrpId)
        # if 'Model' in self.ListOfDevices[NwkId] and self.ListOfDevices[NwkId]['Model'] in LEGRAND_REMOTES:
        #    from Classes.GroupMgtv2.GrpCallBackResponses import  checkToRemoveGroup
        #    if [NwkId, NwkId, ieee] in self.ListOfGroups[ GrpId]['Devices']:
        #        self.ListOfGroups[ GrpId]['Devices'].remove( [NwkId, NwkId, ieee]  )
        #    checkToRemoveGroup( self,NwkId, NwkId, GrpId )
    self.write_groups_list()