- Object result = resolveEventAspectOfClassForEvent(trace, aspectClass, event);
- if (result instanceof Integer) {
- return (Integer) result;
- }
- return null;
+ return StreamUtils.getStream(trace.getEventAspects())
+ .filter(aspect -> aspectClass.isAssignableFrom(aspect.getClass()))
+ /* Enforced by the T parameter bounding */
+ .map(aspect -> (Integer) aspect.resolve(event))
+ .filter(obj -> obj != null)
+ .findFirst().orElse(null);