code: @Override
      public Stream<AntiAffinityPolicyMetadata> findLazy(AntiAffinityPolicyFilter filter) {
          checkNotNull(filter, "Criteria must be not null");
  
          return
              filter.applyFindLazy(criteria -> {
                  if (isTruePredicate(criteria) && criteria.getIds().size() > 0) {
                      return
                          criteria.getIds().stream()
                              .map(nullable(curId -> client.getAntiAffinityPolicy(curId)))
                              .filter(notNull());
                  }
  
                  List<String> dataCenterIds =
                      dataCenterService
                          .findLazy(criteria.getDataCenterFilter())
                          .map(DataCenterMetadata::getId)
                          .map(String::toUpperCase)
                          .collect(toList());
  
                  return
                      client.getAntiAffinityPolicies()
                          .stream()
                          .filter(criteria.getPredicate())
                          .filter((dataCenterIds.size() > 0) ?
                              combine(AntiAffinityPolicyMetadata::getLocation, in(dataCenterIds)) : alwaysTrue())
                          .filter((criteria.getIds().size() > 0) ?
                              combine(AntiAffinityPolicyMetadata::getId, in(criteria.getIds())) : alwaysTrue()
                          );
  
              });
      }
docs: {@inheritDoc}