docs: @Override
      public List<InstalledIdentity> getInstalledIdentities() throws PatchingException {
  
          List<InstalledIdentity> installedIdentities;
  
          final File metadataDir = installedImage.getInstallationMetadata();
          if(!metadataDir.exists()) {
              installedIdentities = Collections.singletonList(defaultIdentity);
          } else {
              final String defaultConf = defaultIdentity.getIdentity().getName() + Constants.DOT_CONF;
              final File[] identityConfs = metadataDir.listFiles(new FileFilter() {
                  @Override
                  public boolean accept(File pathname) {
                      return pathname.isFile() &&
                              pathname.getName().endsWith(Constants.DOT_CONF) &&
                              !pathname.getName().equals(defaultConf);
                  }
              });
              if(identityConfs == null || identityConfs.length == 0) {
                  installedIdentities = Collections.singletonList(defaultIdentity);
              } else {
                  installedIdentities = new ArrayList<InstalledIdentity>(identityConfs.length + 1);
                  installedIdentities.add(defaultIdentity);
                  for(File conf : identityConfs) {
                      final Properties props = loadProductConf(conf);
                      String productName = conf.getName();
                      productName = productName.substring(0, productName.length() - Constants.DOT_CONF.length());
                      final String productVersion = props.getProperty(Constants.CURRENT_VERSION);
  
                      InstalledIdentity identity;
                      try {
                          identity = LayersFactory.load(installedImage, new ProductConfig(productName, productVersion, null), moduleRoots, bundleRoots);
                      } catch (IOException e) {
                          throw new PatchingException(PatchLogger.ROOT_LOGGER.failedToLoadInfo(productName), e);
                      }
                      installedIdentities.add(identity);
                  }
              }
          }
          return installedIdentities;
      }