@@ -29,6 +29,10 @@ class RetainedMessageNode extends AbstractTrieNode<RetainedMessageNode> {
2929 DebugUtils .registerIncludedFields ("childNodes" , "retainedMessage" );
3030 }
3131
32+ private static MutableArray <RetainedMessageNode > childNodesFactory () {
33+ return ArrayFactory .mutableArray (RetainedMessageNode .class );
34+ }
35+
3236 final AtomicReference <@ Nullable Publish > retainedMessage = new AtomicReference <>();
3337
3438 @ Override
@@ -46,8 +50,11 @@ public void retainMessage(int level, Publish message, TopicName topicName) {
4650 }
4751 }
4852
49- public void collectRetainedMessages (int level , TopicFilter topicFilter , MutableArray <Publish > result ,
50- Function <Publish , Publish > publishTransformer ) {
53+ public void collectRetainedMessages (
54+ int level ,
55+ TopicFilter topicFilter ,
56+ MutableArray <Publish > result ,
57+ Function <Publish , Publish > publishTransformer ) {
5158 if (level == topicFilter .levelsCount ()) {
5259 Publish publish = retainedMessage .get ();
5360 if (publish != null ) {
@@ -62,7 +69,7 @@ public void collectRetainedMessages(int level, TopicFilter topicFilter, MutableA
6269 return ;
6370 }
6471 if (isOneCharSegment && segment .charAt (0 ) == TopicFilter .SINGLE_LEVEL_WILDCARD_CHAR ) {
65- var localChildNodes = getChildNodes (() -> ArrayFactory . mutableArray ( RetainedMessageNode . class ) );
72+ var localChildNodes = getChildNodes (RetainedMessageNode :: childNodesFactory );
6673 if (localChildNodes != null ) {
6774 for (RetainedMessageNode childNode : localChildNodes ) {
6875 childNode .collectRetainedMessages (level + 1 , topicFilter , result , publishTransformer );
0 commit comments