private void handleIncomingResponseMessage(SerialMessage incomingMessage) {
logger.trace("Message type = RESPONSE");
ZWaveCommandProcessor processor = ZWaveCommandProcessor.getMessageDispatcher(incomingMessage.getMessageClass());
if(processor != null) {
processor.handleResponse(this, lastSentMessage, incomingMessage);
if(processor.isTransactionComplete()) {
notifyEventListeners(new ZWaveTransactionCompletedEvent(this.lastSentMessage));
transactionCompleted.release();
logger.trace("Released. Transaction completed permit count -> {}", transactionCompleted.availablePermits());