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