Duration staggeredDelay(Duration interval, String hostname, List<String> clusterHostnames) {
        Objects.requireNonNull(clusterHostnames);
        if ( ! clusterHostnames.contains(hostname))
            return interval;

        Instant now = clock.instant();
        long nodeOffset = clusterHostnames.indexOf(hostname) * interval.toMillis() / clusterHostnames.size();
        long maintainerOffset = getClass().getName().hashCode() % interval.toMillis();
        long totalOffset = nodeOffset + maintainerOffset;
        return Duration.ofMillis(Math.floorMod(totalOffset - now.toEpochMilli(), interval.toMillis()));
    }
Returns the initial delay of this calculated from cluster index of the hostname of this node, and the maintainer name.
vespajlib/src/main/java/com/yahoo/concurrent/maintenance/Maintainer.java