构造zookeeper实例时候,会调用传给构造器的监听器实例吗?

问题遇到的现象和发生背景

创建zookeeper实例需要时间,所以会阻塞线程直到创建完成,但是
判断zookeeper实例构造完成的的代码却写在了传入监听器的process方法中,
而process方法我学习的是只有在监听内容变化时候才会调用,难道在构造zookeeper时候就监听了某些内容?
为什么在构造方法执行时候会调用其中的process方法?

问题相关代码,请勿粘贴截图
CountDownLatch countDownLatch = new countDownLatch(1);
zooKeeper = new ZooKeeper(connectString, sessionTimeout, new Watcher() {
            @Override
            public void process(WatchedEvent watchedEvent) {
                if (watchedEvent.getState() == Event.KeeperState.SyncConnected){
                    countDownLatch.countDown();
                }
               

            }
        });

        try {
            countDownLatch.await();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

我的解答思路和尝试过的方法
我想要达到的结果