public void addCallback(Callback<Void> callback) {
            if (fencingFuture == null) {
                throw new IllegalStateException("The start() method must be invoked before adding callbacks for this zombie fencing");
            }
            fencingFuture.whenComplete((ignored, error) -> {
                if (error != null) {
                    callback.onCompletion(
                            ConnectUtils.maybeWrap(error, "Failed to perform zombie fencing"),
                            null
                    );
                } else {
                    callback.onCompletion(null, null);
                }
            });
        }
Add a callback to invoke after the fencing has succeeded and a record of it has been written to the config topic
Note that this fencing must be {@link #start() started} before this method is invoked
@param callback the callback to report the success or failure of the fencing to
@throws IllegalStateException if this method is invoked before {@link #start()}
connect/runtime/src/main/java/org/apache/kafka/connect/runtime/distributed/DistributedHerder.java