class BuiltInNetworkObservingStrategyFactory implements NetworkObservingStrategyFactory {

  @NonNull
  @Override
  public NetworkObservingStrategy get() {
    for (NetworkObservingStrategyProvider strategyProvider : strategyProviders.get()) {
      if (strategyProvider.canProvide()) {
        return strategyProvider.provide();
      }
    }
    throw new NullPointerException(
        "No NetworkObservingStrategy found for API level " + SDK_INT + " ( " + CODENAME + " )");
  }

    BuiltInNetworkObservingStrategyFactory(
      @NonNull ObservingStrategyProviders<NetworkObservingStrategyProvider> strategyProviders);

}