docs: private boolean isTryRecoverSucceeded(ConcurrentMap<Integer, Long> brokenSequences) {
          int numberOfBrokenSequences = brokenSequences.size();
          InvokerWrapper invokerWrapper = context.getInvokerWrapper();
          SubscriberContext subscriberContext = context.getSubscriberContext();
          SubscriberContextSupport subscriberContextSupport = subscriberContext.getSubscriberContextSupport();
  
          List<Future<Object>> futures = new ArrayList<>(numberOfBrokenSequences);
          for (Map.Entry<Integer, Long> entry : brokenSequences.entrySet()) {
              Integer partitionId = entry.getKey();
              Long sequence = entry.getValue();
              Object recoveryOperation
                      = subscriberContextSupport.createRecoveryOperation(mapName, cacheId, sequence, partitionId);
              Future<Object> future
                      = (Future<Object>)
                      invokerWrapper.invokeOnPartitionOwner(recoveryOperation, partitionId);
              futures.add(future);
          }
  
          Collection<Object> results = FutureUtil.returnWithDeadline(futures, 1, MINUTES);
          int successCount = 0;
          for (Object object : results) {
              Boolean resolvedResponse = subscriberContextSupport.resolveResponseForRecoveryOperation(object);
              if (TRUE.equals(resolvedResponse)) {
                  successCount++;
              }
          }
          return successCount == numberOfBrokenSequences;
      }