@@ -235,15 +235,15 @@ Collection<Event> events(SearchSettings settings) {
235235 // Deliver all possible messages
236236 for (MessageEnvelope message : network ) {
237237 if (hasNode (message .to ().rootAddress ()) && settings .shouldDeliver (message )) {
238- events .add (new Event ( message ) );
238+ events .add (message );
239239 }
240240 }
241241
242242 // Deliver all possible timers
243243 for (Address address : addresses ()) {
244244 if (settings .deliverTimers (address )) {
245245 for (TimerEnvelope timer : timers .get (address ).deliverable ()) {
246- events .add (new Event ( timer ) );
246+ events .add (timer );
247247 }
248248 }
249249 }
@@ -273,16 +273,10 @@ Collection<SearchState> step(SearchSettings settings) {
273273 }
274274
275275 public SearchState stepEvent (Event event , SearchSettings settings , boolean skipChecks ) {
276- // TODO: use enum for event type
277-
278- if (event .isMessage ()) {
279- return stepMessage (event .message (), settings , skipChecks );
280- }
281- if (event .isTimer ()) {
282- return stepTimer (event .timer (), settings , skipChecks );
283- }
284-
285- return null ;
276+ return switch (event ) {
277+ case MessageEnvelope messageEnvelope -> stepMessage (messageEnvelope , settings , skipChecks );
278+ case TimerEnvelope timerEnvelope -> stepTimer (timerEnvelope , settings , skipChecks );
279+ };
286280 }
287281
288282 public SearchState stepMessage (
@@ -299,7 +293,7 @@ public SearchState stepMessage(
299293 return null ;
300294 }
301295
302- SearchState ns = new SearchState (this , toAddress , new Event ( message ) );
296+ SearchState ns = new SearchState (this , toAddress , message );
303297 Message nm = Cloning .clone (message .message ());
304298 Node n = ns .node (toAddress );
305299
@@ -355,7 +349,7 @@ public SearchState stepTimer(TimerEnvelope timer, SearchSettings settings, boole
355349 return null ;
356350 }
357351
358- SearchState ns = new SearchState (this , toAddress , new Event ( timer ) );
352+ SearchState ns = new SearchState (this , toAddress , timer );
359353 Timer nt = Cloning .clone (timer .timer ());
360354 Node n = ns .node (toAddress );
361355
@@ -397,8 +391,7 @@ class GraphNode {
397391 Event event = state .previousEvent ;
398392 GraphNode node = new GraphNode (event );
399393
400- if (event .isMessage ()) {
401- MessageEnvelope me = event .message ();
394+ if (event instanceof MessageEnvelope me ) {
402395 if (whenSent .containsKey (me )) {
403396 GraphNode p = whenSent .get (me );
404397 p .next .add (node );
0 commit comments