protected void notifySingleValue(final ConfigChangeWatcher watcher, ConfigTable.ConfigItem configItem) {
        String newItemValue = configItem.getValue();
        if (newItemValue == null) {
            if (watcher.value() != null) {
                // Notify watcher, the new value is null with delete event type.
                try {
                    watcher.notify(
                        new ConfigChangeWatcher.ConfigChangeEvent(null, ConfigChangeWatcher.EventType.DELETE));
                } catch (Exception e) {
                    log.error("notify config change watcher {} failed", watcher, e);
                }
            } else {
                // Don't need to notify, stay in null.
            }
        } else {
            if (!newItemValue.equals(watcher.value())) {
                try {
                    watcher.notify(new ConfigChangeWatcher.ConfigChangeEvent(
                        newItemValue,
                        ConfigChangeWatcher.EventType.MODIFY
                    ));
                } catch (Exception e) {
                    log.error("notify config change watcher {} failed", watcher, e);
                }
            } else {
                // Don't need to notify, stay in the same config value.
            }
        }
    }
The default implementor of Config Watcher register.
oap-server/server-configuration/configuration-api/src/main/java/org/apache/skywalking/oap/server/configuration/api/ConfigWatcherRegister.java