docs: private boolean applyNewPartitionTable(PartitionReplica[][] partitionTable,
              int newVersion, Collection<MigrationInfo> completedMigrations, Address sender) {
          try {
              if (!lock.tryLock(PTABLE_SYNC_TIMEOUT_SECONDS, SECONDS)) {
                  return false;
              }
          } catch (InterruptedException e) {
              Thread.currentThread().interrupt();
              return false;
          }
  
          try {
              int currentVersion = partitionStateManager.getVersion();
              if (newVersion < currentVersion) {
                  if (logger.isFineEnabled()) {
                      logger.fine("Already applied partition state change. Local version: " + currentVersion
                              + ", Master version: " + newVersion + " Master: " + sender);
                  }
                  return false;
              } else if (newVersion == currentVersion) {
                  if (logger.isFineEnabled()) {
                      logger.fine("Already applied partition state change. Version: " + currentVersion + ", Master: " + sender);
                  }
                  return true;
              }
  
              requestMemberListUpdateIfUnknownMembersFound(sender, partitionTable);
              updatePartitionsAndFinalizeMigrations(partitionTable, newVersion, completedMigrations);
              return true;
          } finally {
              lock.unlock();
          }
      }