docs: private void shiftUpReplicaVersions() {
          int partitionId = getPartitionId();
          int currentReplicaIndex = migrationInfo.getDestinationCurrentReplicaIndex();
          int lostReplicaIndex = currentReplicaIndex - 1;
  
          try {
              InternalPartitionServiceImpl partitionService = getService();
              PartitionReplicaVersionManager partitionReplicaVersionManager = partitionService.getPartitionReplicaVersionManager();
  
              for (ServiceNamespace namespace : partitionReplicaVersionManager.getNamespaces(partitionId)) {
                  // returns the internal array itself, not the copy
                  long[] versions = partitionReplicaVersionManager.getPartitionReplicaVersions(partitionId, namespace);
  
                  if (currentReplicaIndex > 1) {
                      long[] versionsCopy = Arrays.copyOf(versions, versions.length);
                      long version = versions[lostReplicaIndex];
                      Arrays.fill(versions, 0, lostReplicaIndex, version);
  
                      if (logger.isFinestEnabled()) {
                          logger.finest(
                                  "Partition replica is lost! partitionId=" + partitionId
                                          + " namespace: " + namespace + " lost replicaIndex=" + lostReplicaIndex
                                          + " replica versions before shift up=" + Arrays.toString(versionsCopy)
                                          + " replica versions after shift up=" + Arrays.toString(versions));
                      }
                  } else if (logger.isFinestEnabled()) {
                      logger.finest("PROMOTE partitionId=" + getPartitionId() + " namespace: " + namespace
                              + " from currentReplicaIndex=" + currentReplicaIndex);
                  }
              }
  
              PartitionEventManager partitionEventManager = partitionService.getPartitionEventManager();
              partitionEventManager.sendPartitionLostEvent(partitionId, lostReplicaIndex);
          } catch (Throwable e) {
              logger.warning("Promotion failed. partitionId=" + partitionId + " replicaIndex=" + currentReplicaIndex, e);
          }
      }