protected void fireDynState(byte[] address, final FeedbackDynStateResponse feedbackDynStateResponse) { // populate the dynamic state ... int detectorNumber = feedbackDynStateResponse.getDetectorNumber(); AddressData decoderAddress = feedbackDynStateResponse.getAddress(); int dynNumber = feedbackDynStateResponse.getDynNumber(); int dynValue = feedbackDynStateResponse.getDynValue(); Integer timestamp = feedbackDynStateResponse.getTimestamp(); synchronized (messageListeners) { for (MessageListener l : messageListeners) { l.dynState(address, detectorNumber, decoderAddress, dynNumber, dynValue, timestamp); } } }