docs: protected static String getFeatureId(File featureManifest) throws IOException {
          String rootDir = CustomUtils.getCanonicalPath(featureManifest.getParentFile().getParentFile().getParentFile()); // go up two directories.
          String output = null;
          // check with user feature dir.
          if (rootDir.equals(CustomUtils.getCanonicalPath(new File(CustomUtils.getInstallRoot(), CustomUtils.USER_FEATURE_DIR)))) {
              output = "usr";
          } else {
              for (ProductExtensionInfo info : ProductExtension.getProductExtensions()) {
                  File extensionDir = new File(info.getLocation());
                  if (!CustomUtils.isAbsolute(extensionDir)) {
                      File parentDir = new File(CustomUtils.getInstallRoot()).getParentFile();
                      extensionDir = new File(parentDir, info.getLocation());
                  }
                  if (rootDir.equals(CustomUtils.getCanonicalPath(extensionDir))) {
                      output = info.getProductID();
                      break;
                  }
              }
          }
          return output;
      }