return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException,
new Supplier<Map<String, OSType>>() {
@Override
public Map<String, OSType> get() {
GuestOSClient guestOSClient = client.getGuestOSClient();
return Maps.uniqueIndex(guestOSClient.listOSTypes(), new Function<OSType, String>() {
@Override
public String apply(OSType arg0) {
return arg0.getId();
}