docs: CompletableFuture<Partition> open(PartitionMetadata metadata, PartitionManagementService managementService) {
      this.partition = metadata;
      this.client = createClient(managementService);
      if (partition.members().contains(managementService.getMembershipService().getLocalMember().id())) {
        server = createServer(managementService);
        return server.start()
            .thenCompose(v -> client.start())
            .thenApply(v -> null);
      }
      return client.start()
          .thenApply(v -> this);
    }