diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/http/policy/HttpPolicyProviders.java b/sdk/core/azure-core/src/main/java/com/azure/core/http/policy/HttpPolicyProviders.java index 7b8ce6de9c71..0dd1594907aa 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/http/policy/HttpPolicyProviders.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/http/policy/HttpPolicyProviders.java @@ -3,6 +3,7 @@ package com.azure.core.http.policy; +import java.util.ArrayList; import java.util.List; import java.util.ServiceLoader; @@ -12,12 +13,12 @@ public final class HttpPolicyProviders { private static final String INVALID_POLICY = "HttpPipelinePolicy created with %s resulted in a null policy."; - private static final Iterable BEFORE_PROVIDER; - private static final Iterable AFTER_PROVIDER; + private static final List BEFORE_PROVIDER = new ArrayList<>(); + private static final List AFTER_PROVIDER = new ArrayList<>(); static { - BEFORE_PROVIDER = ServiceLoader.load(BeforeRetryPolicyProvider.class); - AFTER_PROVIDER = ServiceLoader.load(AfterRetryPolicyProvider.class); + ServiceLoader.load(BeforeRetryPolicyProvider.class).forEach(BEFORE_PROVIDER::add); + ServiceLoader.load(AfterRetryPolicyProvider.class).forEach(AFTER_PROVIDER::add); } private HttpPolicyProviders() { @@ -42,8 +43,7 @@ public static void addAfterRetryPolicies(List policies) { addPolices(policies, AFTER_PROVIDER); } - private static void addPolices(List policies, - Iterable providers) { + private static void addPolices(List policies, List providers) { for (HttpPolicyProvider provider : providers) { HttpPipelinePolicy policy = provider.create(); if (policy == null) {