code: private void reportErrors() throws RepositoryResolutionException {
          if (resourcesWrongProduct.isEmpty() && missingTopLevelRequirements.isEmpty() && missingRequirements.isEmpty()) {
              // Everything went fine!
              return;
          }
  
          Set<ProductRequirementInformation> missingProductInformation = new HashSet<>();
  
          for (ApplicableToProduct esa : resourcesWrongProduct) {
              missingRequirements.add(new MissingRequirement(esa.getAppliesTo(), (RepositoryResource) esa));
              missingProductInformation.addAll(ProductRequirementInformation.createFromAppliesTo(esa.getAppliesTo()));
          }
  
          List<String> missingRequirementNames = new ArrayList<>();
          for (MissingRequirement req : missingRequirements) {
              missingRequirementNames.add(req.getRequirementName());
          }
  
          throw new RepositoryResolutionException(null, missingTopLevelRequirements, missingRequirementNames, missingProductInformation, missingRequirements);
      }
docs: If any errors occurred during resolution, throw a {@link RepositoryResolutionException}