private void rewriteProgressFile() {
            try {
                var tmpPath = Path.of(progressMeta.fileName + ".tmp");
                Files.writeString(tmpPath, progressMeta.lastProgressContents);
                Files.move(tmpPath, Path.of(progressMeta.fileName), REPLACE_EXISTING, ATOMIC_MOVE);
            } catch (IOException e) {
                e.printStackTrace();
                abort(); // Don't continue visiting if we're unable to save progress state
            }
        }
An abstract class that can be subclassed by different visitor handlers.

@author Thomas Gundersen
vespaclient-java/src/main/java/com/yahoo/vespavisit/VdsVisitHandler.java