docs: private synchronized Set<RegistryEntry> processBundleConfig(Bundle bundle) throws ConfigUpdateException, ConfigValidationException {
  
          //get the MetaTypeInformation from the registry because we will always have processed
          //metatype first before config (it is a req. of being able to use extends in different bundles)
          MetaTypeInformation metaTypeInformation = metatypeRegistry.getMetaTypeInformation(bundle);
          if (metaTypeInformation != null) {
              //For factory PIDs that did not result in a RegistryEntry, mark them missing if it was due to missing extended entry.
              for (String factoryPid : metaTypeInformation.getFactoryPids()) {
                  if (metatypeRegistry.getRegistryEntry(factoryPid) == null) {
                      metatypeRegistry.missingPid(factoryPid);
                  }
              }
          }
  
          ExtendedBundle eb = getExtendedBundle(bundle);
          //reprocess any registry entries used in the default config from this bundle.
          Set<RegistryEntry> entriesToProcess = new HashSet<RegistryEntry>();
          if (eb.hasDefaultConfig()) {
              BaseConfiguration newDefaultConfig = systemConfiguration.loadDefaultConfiguration(bundle);
              if (newDefaultConfig != null) {
                  Set<String> defaultConfigNames = newDefaultConfig.getConfigurationNames();
                  for (String defaultConfigName : defaultConfigNames) {
                      RegistryEntry entry = metatypeRegistry.getRegistryEntryByPidOrAlias(defaultConfigName);
                      if (entry != null) {
                          entriesToProcess.add(entry);
                      }
                  }
              } else {
                  eb.setHasDefaultConfig(false);
              }
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
              Tr.debug(tc, "processBundle():  Processing bundle name/version=" + eb.getNameAndVersion());
          }
  
          boolean reprocessBundle = reprocessConfig || eb.needsReprocessing();
  
          // we are done if we don't have to reprocess the bundle
          if (!reprocessBundle) {
              // still need to do validation
              validator.validate(entriesToProcess);
              return Collections.emptySet();
          }
  
          eb.updateLastProcessed();
          return entriesToProcess;
      }