code: List<List<RepositoryResource>> createInstallLists() {
          List<List<RepositoryResource>> installLists = new ArrayList<>();
  
          // Create install list for each sample
          for (SampleResource sample : samplesToInstall) {
              installLists.add(createInstallList(sample));
          }
  
          // Create install list for each requested feature
          for (String featureName : requestedFeatureNames) {
              List<RepositoryResource> installList = createInstallList(featureName);
              // May get an empty list if the requested feature is already installed
              if (!installList.isEmpty()) {
                  installLists.add(installList);
              }
          }
  
          // Create install list for each autofeature which wasn't explicitly requested (otherwise we'd have covered it above) and isn't already installed
          for (ProvisioningFeatureDefinition feature : resolvedFeatures.values()) {
              if (feature.isAutoFeature() && !requestedFeatureNames.contains(feature.getSymbolicName()) && feature instanceof KernelResolverEsa) {
                  installLists.add(createInstallList(feature.getSymbolicName()));
              }
          }
  
          return installLists;
      }
docs: Create the install lists for the resources which we were asked to resolve
  
  @return the install lists