docs: private void requestRestore(MemberId primary) {
      context.protocol().restore(primary, RestoreRequest.request(context.descriptor(), context.currentTerm()))
          .whenCompleteAsync((response, error) -> {
            if (error == null && response.status() == PrimaryBackupResponse.Status.OK) {
              context.resetIndex(response.index(), response.timestamp());
  
              Buffer buffer = HeapBuffer.wrap(response.data());
              int sessions = buffer.readInt();
              for (int i = 0; i < sessions; i++) {
                context.getOrCreateSession(buffer.readLong(), MemberId.from(buffer.readString()));
              }
  
              context.service().restore(new DefaultBackupInput(buffer, context.service().serializer()));
              operations.clear();
            }
          }, context.threadContext());
    }