class CDSShardAccessImpl implements CDSShardAccess, LeaderLocationListener, AutoCloseable {

    @Override
    @SuppressWarnings("checkstyle:IllegalCatch")
    public void onLeaderLocationChanged(final LeaderLocation location) {
        if (closed) {
            // we are closed already. Do not dispatch any new leader location
            // change events.
            return;
        }

        LOG.debug("Received leader location change notification. New leader location: {}", location);
        currentLeader = location;
        listeners.forEach(listener -> {
            try {
                listener.onLeaderLocationChanged(location);
            } catch (Exception e) {
                LOG.warn("Ignoring uncaught exception thrown be LeaderLocationListener {} "
                        + "during processing leader location change {}", listener, location, e);
            }
        });
    }

      CDSShardAccessImpl(final DOMDataTreeIdentifier prefix, final ActorUtils actorUtils);

}