Source:
<code>public void onLightStateChanged(@Nullable HueBridge bridge, FullLight fullLight) { logger.trace("onLightStateChanged() was called"); if (!fullLight.getId().equals(lightId)) { logger.trace("Received state change for another handler's light ({}). Will be ignored.", fullLight.getId()); return; } initializeProperties(); lastSentColorTemp = null; lastSentBrightness = null; if (fullLight.getState().isReachable()) { updateStatus(ThingStatus.ONLINE); } else { updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.NONE, "@text/offline.light-not-reachable"); } HSBType hsbType = LightStateConverter.toHSBType(fullLight.getState()); if (!fullLight.getState().isOn()) { hsbType = new HSBType(hsbType.getHue(), hsbType.getSaturation(), new PercentType(0)); } updateState(CHANNEL_COLOR, hsbType); ColorMode colorMode = fullLight.getState().getColorMode(); <START> if (colorMode != null && ColorMode.CT.equals(colorMode)) { <END> PercentType colorTempPercentType = LightStateConverter.toColorTemperaturePercentType(fullLight.getState()); updateState(CHANNEL_COLORTEMPERATURE, colorTempPercentType); } else { updateState(CHANNEL_COLORTEMPERATURE, UnDefType.NULL); } PercentType brightnessPercentType = LightStateConverter.toBrightnessPercentType(fullLight.getState()); if (!fullLight.getState().isOn()) { brightnessPercentType = new PercentType(0); } updateState(CHANNEL_BRIGHTNESS, brightnessPercentType); if (fullLight.getState().isOn()) { updateState(CHANNEL_SWITCH, OnOffType.ON); } else { updateState(CHANNEL_SWITCH, OnOffType.OFF); } StringType stringType = LightStateConverter.toAlertStringType(fullLight.getState()); if (!stringType.toString().equals("NULL")) { updateState(CHANNEL_ALERT, stringType); scheduleAlertStateRestore(stringType); } }</code><technical_language>is null check required turn equals call</technical_language>

Target:
public void onLightStateChanged(@Nullable HueBridge bridge, FullLight fullLight) { logger.trace("onLightStateChanged() was called"); if (!fullLight.getId().equals(lightId)) { logger.trace("Received state change for another handler's light ({}). Will be ignored.", fullLight.getId()); return; } initializeProperties(); lastSentColorTemp = null; lastSentBrightness = null; if (fullLight.getState().isReachable()) { updateStatus(ThingStatus.ONLINE); } else { updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.NONE, "@text/offline.light-not-reachable"); } HSBType hsbType = LightStateConverter.toHSBType(fullLight.getState()); if (!fullLight.getState().isOn()) { hsbType = new HSBType(hsbType.getHue(), hsbType.getSaturation(), new PercentType(0)); } updateState(CHANNEL_COLOR, hsbType); ColorMode colorMode = fullLight.getState().getColorMode(); if (ColorMode.CT.equals(colorMode)) { PercentType colorTempPercentType = LightStateConverter.toColorTemperaturePercentType(fullLight.getState()); updateState(CHANNEL_COLORTEMPERATURE, colorTempPercentType); } else { updateState(CHANNEL_COLORTEMPERATURE, UnDefType.NULL); } PercentType brightnessPercentType = LightStateConverter.toBrightnessPercentType(fullLight.getState()); if (!fullLight.getState().isOn()) { brightnessPercentType = new PercentType(0); } updateState(CHANNEL_BRIGHTNESS, brightnessPercentType); if (fullLight.getState().isOn()) { updateState(CHANNEL_SWITCH, OnOffType.ON); } else { updateState(CHANNEL_SWITCH, OnOffType.OFF); } StringType stringType = LightStateConverter.toAlertStringType(fullLight.getState()); if (!stringType.toString().equals("NULL")) { updateState(CHANNEL_ALERT, stringType); scheduleAlertStateRestore(stringType); } }