@Override
		public void process(WatchedEvent event) throws Exception {
			logger.trace("Event: {}", event);
			if (EnumSet.of(Watcher.Event.KeeperState.SyncConnected,
					Watcher.Event.KeeperState.SaslAuthenticated,
					Watcher.Event.KeeperState.ConnectedReadOnly).contains(event.getState())) {
				if (event.getType() == Watcher.Event.EventType.NodeChildrenChanged) {
					List<String> children = getClient().getChildren().forPath(event.getPath());
					Assert.state(children.size() == 1);
					synchronized (ZKDeploymentMessagePublisher.this) {
						if (children.contains(ERROR)) {
							errorDesc = new String(getClient().getData().forPath(Paths.build(event.getPath(), ERROR)));
							state = State.error;
						}
						else {
							state = State.success;
						}
						ZKDeploymentMessagePublisher.this.notifyAll();
					}
				}
				else {
					logger.debug("Ignoring event: {}", event);
				}
			}
		}
Description of error encountered while handling the deployment
message; this is only populated if an error occurs.
spring-xd-dirt/src/main/java/org/springframework/xd/dirt/server/admin/deployment/zk/ZKDeploymentMessagePublisher.java