@Override public IpSpaceAssignment resolve(Set<Location> locations, SpecifierContext ctxt) { AddressGroup addressGroup = ctxt.getReferenceBook(_bookName) .orElseThrow( () -> new NoSuchElementException("ReferenceBook '" + _bookName + "' not found")) .getAddressGroup(_addressGroupName) .orElseThrow( () -> new NoSuchElementException( "AddressGroup '" + _addressGroupName + "' not found in ReferenceBook '" + _bookName + "'")); return IpSpaceAssignment.builder() .assign( locations, firstNonNull( AclIpSpace.union( addressGroup.getAddresses().stream() .map(add -> new IpWildcard(add).toIpSpace()) .collect(Collectors.toList())), EmptyIpSpace.INSTANCE)) .build(); } }