diff --git a/src/edu/nps/moves/dis7/utilities/DisThreadedNetIF.java b/src/edu/nps/moves/dis7/utilities/DisThreadedNetIF.java index 89c9c33a1f6abf135c7195608cf03044a36479d3..1233f27c87c2dc163e39e5ff5db56da5da086f6f 100644 --- a/src/edu/nps/moves/dis7/utilities/DisThreadedNetIF.java +++ b/src/edu/nps/moves/dis7/utilities/DisThreadedNetIF.java @@ -292,15 +292,24 @@ public class DisThreadedNetIF } catch (IOException e) {} }; - private void toListeners(Pdu pdu) - { - everyTypeListeners.forEach(lis -> lis.incomingPdu(pdu)); - if (pdu != null) { - List<PduListener> arLis = typeListeners.get(pdu.getPduType()); - if (arLis != null) - arLis.forEach(lis -> lis.incomingPdu(pdu)); + private void toListeners(Pdu pdu) { + if (everyTypeListeners.isEmpty()) { + return; + } + + if (pdu != null) { + everyTypeListeners.forEach(lis -> lis.incomingPdu(pdu)); + + if (typeListeners.isEmpty()) { + return; + } + + List<PduListener> arLis = typeListeners.get(pdu.getPduType()); + if (arLis != null) { + arLis.forEach(lis -> lis.incomingPdu(pdu)); + } + } } - } private void toRawListeners(byte[] data, int len) {