+ private Pair<TokenResponse, KeyBackupService> getTokenResponse(String basicStorageCredentials) throws IOException {
+ final var keyBackupServices = Stream.concat(Stream.of(keyBackupService), fallbackKeyBackupServices.stream())
+ .toList();
+ for (final var keyBackupService : keyBackupServices) {
+ var tokenResponse = keyBackupService.getToken(basicStorageCredentials);
+ if (tokenResponse != null && tokenResponse.getTries() > 0) {
+ return new Pair<>(tokenResponse, keyBackupService);
+ }
+ }
+ throw new IOException("KBS Account locked, maximum pin attempts reached.");
+ }
+