docs: private void sendSyncReplicaRequest(int partitionId, Collection<ServiceNamespace> requestedNamespaces,
              int replicaIndex, PartitionReplica target) {
          if (node.clusterService.isMissingMember(target.address(), target.uuid())) {
              return;
          }
  
          int permits = tryAcquireReplicaSyncPermits(requestedNamespaces.size());
          if (permits == 0) {
              if (logger.isFinestEnabled()) {
                  logger.finest("Cannot send sync replica request for partitionId=" + partitionId
                          + ", replicaIndex=" + replicaIndex + ", namespaces=" + requestedNamespaces
                          + ". No permits available!");
              }
              return;
          }
  
          // Select only permitted number of namespaces
          List<ServiceNamespace> namespaces =
                  registerSyncInfoForNamespaces(partitionId, requestedNamespaces, replicaIndex, target, permits);
  
          // release unused permits
          if (namespaces.size() != permits) {
              releaseReplicaSyncPermits(permits - namespaces.size());
          }
  
          if (namespaces.isEmpty()) {
              return;
          }
  
          if (logger.isFinestEnabled()) {
              logger.finest("Sending sync replica request for partitionId=" + partitionId + ", replicaIndex=" + replicaIndex
                      + ", namespaces=" + namespaces);
          }
          replicaSyncRequestsCounter.inc();
  
          PartitionReplicaSyncRequest syncRequest = new PartitionReplicaSyncRequest(partitionId, namespaces, replicaIndex);
          nodeEngine.getOperationService().send(syncRequest, target.address());
      }