}
final Collection<Future> futures = new ArrayList<Future>(memberList.size());
for (MemberImpl member : memberList) {
final Address target = member.getAddress();
final Operation operation = new SafeStateCheckOperation();
final InternalCompletableFuture future = node.getNodeEngine().getOperationService()
.invokeOnTarget(InternalPartitionService.SERVICE_NAME, operation, target);
futures.add(future);
}
// todo this max wait is appropriate?
final int maxWaitTime = getMaxWaitTime(node);
for (Future future : futures) {
try {
final Object result = future.get(maxWaitTime, TimeUnit.SECONDS);
final boolean safe = (Boolean) result;
if (!safe) {
return false;
}
} catch (Exception e) {