           queue[groupName] = []
 
 
-  @fetchMainGroupAndPermissionSet = (callback) ->
-
-    # We do have a in memory cache here for `MAIN_GROUP` which will be
-    # flushed once a JPermissionSet is getting updated ~ GG
-    return callback null, @mainGroupData  if @mainGroupData
-
-    fetchGroupAndPermissionSet MAIN_GROUP, (err, res) =>
-      if err then callback err
-      else callback null, @mainGroupData = res
-
-
   getGroupnameFrom = (target, client) ->
     JGroup = require '../group'
     return if 'function' is typeof target


    super data

    # Flush mainGroupData cache on update
    @on 'updateInstance', =>
      @constructor.mainGroupData = null

    return  if @isCustom

    # initialize the permission set with some sane defaults:

    else

      # fetch permission set for the given group and start checking permissions
      fetchGroupAndPermissionSet client.groupName, (err, current) ->
        if err or not current then callback err, no
        else
          # also provide the main group permission set for superadmin checks
          fetchGroupAndPermissionSet MAIN_GROUP, (err, main) ->
            if err or not main then callback err, no
            else kallback current, main

