+ @Override
+ public boolean isRegistered(String number) {
+ var result = isRegistered(List.of(number));
+ return result.get(0);
+ }
+
+ @Override
+ public List<Boolean> isRegistered(List<String> numbers) {
+ var results = new ArrayList<Boolean>();
+ if (numbers.isEmpty()) {
+ return results;
+ }
+
+ Map<String, Pair<String, UUID>> registered;
+ try {
+ registered = m.areUsersRegistered(new HashSet<>(numbers));
+ } catch (IOException e) {
+ throw new Error.Failure(e.getMessage());
+ }
+
+ return numbers.stream().map(number -> {
+ var uuid = registered.get(number).second();
+ return uuid != null;
+ }).collect(Collectors.toList());
+ }
+