code: protected void initialize(AccessControlSchema config) {
  
      LOG.debug("Initializing.");
      List<AccessControlGroup> groups = config.getGroups();
      if (groups.size() == 0) {
        throw new IllegalStateException("AccessControlSchema is empty - please configure at least one group!");
      }
      Set<AccessControlGroup> toplevelGroups = new HashSet<>(groups);
      for (AccessControlGroup group : groups) {
        collectAccessControls(group, toplevelGroups);
        List<AccessControlGroup> groupList = new ArrayList<>();
        groupList.add(group);
        checkForCyclicDependencies(group, groupList);
      }
    }
docs: Performs the required initialization of this class.
  
  @param config is the {@link AccessControlSchema}.