code: private void readProductExtFeatureLocations() {
          if (productExtNameInfoMap != null) {
              return;
          }
  
          productExtNameInfoMap = new HashMap<String, ProductExtensionInfo>();
          File installDir = Utils.getInstallDir();
          Iterator<ProductExtensionInfo> productExtensions = ProductExtension.getProductExtensions(installDir).iterator();
  
          while (productExtensions.hasNext()) {
              ProductExtensionInfo prodExt = productExtensions.next();
              String prodName = prodExt.getName();
              String prodLocation = prodExt.getLocation();
              productExtNameInfoMap.put(prodName, prodExt);
  
              if (prodLocation != null && !prodLocation.isEmpty()) {
                  String normalizedPath = PathUtils.normalize(prodLocation);
  
                  if (PathUtils.pathIsAbsolute(normalizedPath) == false) {
                      File parentfile = installDir.getParentFile();
                      String parentPath = parentfile.getAbsolutePath();
                      normalizedPath = parentPath + "/" + prodLocation + "/";
                      normalizedPath = PathUtils.normalize(normalizedPath);
                  }
  
                  if (normalizedPath != null) {
                      File productInstallDir = new File(normalizedPath);
  
                      if (productInstallDir.exists()) {
                          BundleRepositoryRegistry.addBundleRepository(normalizedPath, prodName);
                      }
                  }
              }
          }
      }
docs: Retrieves and saves the product extension locations defined in the etc/extensions.