} else if (_changeType == ChangeType.CONTROLLER) {
ControllerChangeListener controllerChangelistener = (ControllerChangeListener) _listener;
subscribeForChanges(changeContext, _path, true, false);
controllerChangelistener.onControllerChange(changeContext);
} else if (_changeType == ChangeType.HEALTH) {
HealthStateChangeListener healthStateChangeListener = (HealthStateChangeListener) _listener;
subscribeForChanges(changeContext, _path, true, true); // TODO: figure out
// settings here
String instanceName = PropertyPathConfig.getInstanceNameFromPath(_path);
List<HealthStat> healthReportList = _accessor.getChildValues(_propertyKey);
healthStateChangeListener.onHealthChange(instanceName, healthReportList, changeContext);
}
long end = System.currentTimeMillis();
if (logger.isInfoEnabled()) {
logger.info(Thread.currentThread().getId() + " END:INVOKE " + _path + " listener:"