docs: protected void initializeComponentServices() throws GroupsException {
          Name leafServiceName = null;
          try {
              GroupServiceConfiguration cfg = GroupServiceConfiguration.getConfiguration();
              List services = cfg.getServiceDescriptors();
              for (Iterator it = services.iterator(); it.hasNext(); ) {
                  ComponentGroupServiceDescriptor descriptor =
                          (ComponentGroupServiceDescriptor) it.next();
                  String factoryName = descriptor.getServiceFactoryName();
                  IComponentGroupServiceFactory factory =
                          (IComponentGroupServiceFactory) Class.forName(factoryName).newInstance();
                  IComponentGroupService service = factory.newGroupService(descriptor);
  
                  // If it's a leaf service, add it to the Map.
                  if (service.isLeafService()) {
                      leafServiceName = GroupService.parseServiceName(descriptor.getName());
                      service.setServiceName(leafServiceName);
                      getComponentServices().put(leafServiceName, service);
                  }
  
                  // Otherwise, get its leaf services and for each, push our node onto the service
                  // Name
                  // and add the service to the Map.
                  else {
                      Map componentMap = service.getComponentServices();
                      for (Iterator components = componentMap.values().iterator();
                              components.hasNext(); ) {
                          IIndividualGroupService leafService =
                                  (IIndividualGroupService) components.next();
                          leafServiceName = leafService.getServiceName();
                          leafServiceName.add(0, descriptor.getName());
                          getComponentServices().put(leafServiceName, leafService);
                      }
                  }
              }
  
              Name defaultServiceName = GroupService.parseServiceName(cfg.getDefaultService());
              defaultService = (IIndividualGroupService) getComponentService(defaultServiceName);
  
          } catch (Exception ex) {
              throw new GroupsException("Problem initializing component services", ex);
          }
      }