Source:
<code>public void receiveCommand(ZWaveBindingProvider provider, String itemName, Command command) { ZWaveBindingConfig bindingConfiguration = provider.getZwaveBindingConfig(itemName); ZWaveNode node = this.controller.getNode(bindingConfiguration.getNodeId()); if (node == null) { logger.error("Item has non existant node {}", itemName, bindingConfiguration.getNodeId()); return; } ZWaveCommandClass commandClass; String commandClassName = bindingConfiguration.getArguments().get("command"); <START> if(node.getNodeId() == this.controller.getOwnNodeId() && commandClassName.equalsIgnoreCase("switch_all")) { <END> commandClass = ZWaveCommandClass.getInstance(0x27, node, this.controller); } else { if (commandClassName != null) { commandClass = node.resolveCommandClass(CommandClass.getCommandClass(commandClassName), bindingConfiguration.getEndpoint()); if (commandClass == null) { logger.warn( "NODE {}: No command class found for item = {}. Class = {}({}), endpoint = {}. Ignoring command.", node.getNodeId(), itemName, commandClassName, CommandClass.getCommandClass(commandClassName) .toString(), bindingConfiguration.getEndpoint()); return; } } else { commandClass = resolveConverter(provider.getItem(itemName), node, bindingConfiguration.getEndpoint()); } } if (commandClass == null) { logger.warn("NODE {}: No converter found for item = {}, ignoring command.", node.getNodeId(), itemName); return; } ZWaveCommandClassConverter<ZWaveCommandClass> converter = (ZWaveCommandClassConverter<ZWaveCommandClass>) getConverter(commandClass.getCommandClass()); if (converter == null) { logger.warn("NODE {}: No converter found for item = {}, ignoring command.", node.getNodeId(), itemName); return; } converter.receiveCommand(provider.getItem(itemName), command, node, commandClass, bindingConfiguration.getEndpoint(), bindingConfiguration.getArguments()); }</code><technical_language>move this around. putting this check of 'if commandClassName == null' check, if this is null if exception</technical_language>

Target:
public void receiveCommand(ZWaveBindingProvider provider, String itemName, Command command) { ZWaveBindingConfig bindingConfiguration = provider.getZwaveBindingConfig(itemName); ZWaveNode node = this.controller.getNode(bindingConfiguration.getNodeId()); if (node == null) { logger.error("Item has non existant node {}", itemName, bindingConfiguration.getNodeId()); return; } ZWaveCommandClass commandClass; String commandClassName = bindingConfiguration.getArguments().get("command"); if (commandClassName != null) { if(node.getNodeId() == this.controller.getOwnNodeId() && commandClassName.equalsIgnoreCase("switch_all")) { commandClass = ZWaveCommandClass.getInstance(0x27, node, this.controller); } else { commandClass = node.resolveCommandClass(CommandClass.getCommandClass(commandClassName), bindingConfiguration.getEndpoint()); if (commandClass == null) { logger.warn( "NODE {}: No command class found for item = {}. Class = {}({}), endpoint = {}. Ignoring command.", node.getNodeId(), itemName, commandClassName, CommandClass.getCommandClass(commandClassName) .toString(), bindingConfiguration.getEndpoint()); return; } } } else { commandClass = resolveConverter(provider.getItem(itemName), node, bindingConfiguration.getEndpoint()); } if (commandClass == null) { logger.warn("NODE {}: No converter found for item = {}, ignoring command.", node.getNodeId(), itemName); return; } ZWaveCommandClassConverter<ZWaveCommandClass> converter = (ZWaveCommandClassConverter<ZWaveCommandClass>) getConverter(commandClass.getCommandClass()); if (converter == null) { logger.warn("NODE {}: No converter found for item = {}, ignoring command.", node.getNodeId(), itemName); return; } converter.receiveCommand(provider.getItem(itemName), command, node, commandClass, bindingConfiguration.getEndpoint(), bindingConfiguration.getArguments()); }