question: private void handleNodeQueue ( SerialMessage incomingMessage ) { if ( currentStage == ZWaveNodeInitStage . DONE ) { return ; } logger . debug ( "NODE {}: Node advancer - checking initialisation queue. Queue size {}." , node . getNodeId ( ) , msgQueue . size ( ) ) ; if ( msgQueue . contains ( incomingMessage ) ) { msgQueue . remove ( incomingMessage ) ; logger . debug ( "NODE {}: Node advancer - message removed from queue. Queue size {}." , node . getNodeId ( ) , msgQueue . size ( ) ) ; freeToSend = true ; advanceNodeStage ( incomingMessage . getMessageClass ( ) ) ; } else if ( msgQueue . isEmpty ( ) && currentStage == ZWaveNodeInitStage . SECURITY_REPORT ) { logger . debug ( "NODE {}: Node advancer - In Security stage, going to advanceNodeStage to get next request." , node . getNodeId ( ) ) ; advanceNodeStage ( incomingMessage . getMessageClass ( ) ) ; } }
target:  Handles the removal of frames from the send queue. This gets called after we have an ACK for our packet, but before we get the response. The actual sending of frames, and the advancing is carried out in the advanceNodeStage method.