code: private Collection<LibertyVersionRange> filterVersionRanges(String productId, String edition) {
          Collection<LibertyVersionRange> filteredRanges = new HashSet<LibertyVersionRange>();
          if (this.missingProductInformation != null) {
              for (ProductRequirementInformation product : this.missingProductInformation) {
                  if (product.versionRange != null
                      && (productId == null || productId.equals(product.productId))
                      && (edition == null || product.editions == null || product.editions.isEmpty() || product.editions.contains(edition))) {
                      filteredRanges.add(product.versionRange);
                  }
              }
          }
          return filteredRanges;
      }
docs: This method will iterate through the missingProductInformation and returned a filtered collection of all the {@link ProductRequirementInformation#versionRange}s.
  
  @param productId The product ID to find the version for or <code>null</code> to match to all products
  @param edition The edition to find the version for or <code>null</code> to match to all editions
  
  @return