@Provides
@Singleton
protected LocationsSupplier supplyLocationsFromComputeServiceAdapter(
final ComputeServiceAdapter<N, H, I, L> adapter, final Function<L, Location> transformer) {
return new LocationsSupplier() {
@Override
public Set<? extends Location> get() {
return transformGuardingNull(adapter.listLocations(), transformer);
}