/**
  * Gets all the unknown extensions for a profile's subsystems
  *
  * @param domainResource the root domain resource
  * @param profileElement the profile address to check
  * @return the unknown extensions
  */
 Set<PathElement> getUnknownExtensionsForProfile(
     Resource domainResource, PathElement profileElement) {
   Set<PathElement> allExtensions =
       util.getAllExtensionsForProfile(domainResource, profileElement);
   Set<PathElement> unknownExtensions = new HashSet<>();
   for (PathElement extensionElement : allExtensions) {
     if (!knownRootAddresses.contains(extensionElement)) {
       unknownExtensions.add(extensionElement);
     }
   }
   return unknownExtensions;
 }
 /**
  * Whether the host should ignore the domain resource
  *
  * @param domainResource the root domain resource
  * @param the address to check
  * @return {@code true} if we are to ignore the resource
  */
 @Override
 public boolean ignoreResource(Resource domainResource, PathAddress address) {
   if (address.size() != 1) {
     return false;
   }
   if (hostInfo.isIgnoreUnaffectedConfig()) {
     if (knownRootAddresses != null
         && address.size() >= 0
         && knownRootAddresses.contains(address.getElement(0))) {
       return false;
     }
     return util.ignoreResource(domainResource, hostInfo.getServerConfigInfos(), address);
   }
   return false;
 }
 private DomainControllerRuntimeIgnoreTransformationEntry(
     HostInfo hostInfo, ExtensionRegistry extensionRegistry) {
   this.hostInfo = hostInfo;
   this.util = IgnoredNonAffectedServerGroupsUtil.create(extensionRegistry);
 }