private static EventType getDefineMultimatchEventType(LinkedHashMap<String, Pair<Integer, Boolean>> variableStreams, EventType parentEventType, StatementBaseInfo base, StatementCompileTimeServices services) { Map<String, Object> multievent = new LinkedHashMap<>(); for (Map.Entry<String, Pair<Integer, Boolean>> entry : variableStreams.entrySet()) { if (entry.getValue().getSecond()) { multievent.put(entry.getKey(), new EventType[]{parentEventType}); } } String multimatchAllTypeName = services.getEventTypeNameGeneratorStatement().getAnonymousRowrecogMultimatchAllName(); EventTypeMetadata multimatchAllTypeMetadata = new EventTypeMetadata(multimatchAllTypeName, base.getModuleName(), EventTypeTypeClass.MATCHRECOGDERIVED, EventTypeApplicationType.OBJECTARR, NameAccessModifier.TRANSIENT, EventTypeBusModifier.NONBUS, false, EventTypeIdPair.unassigned()); ObjectArrayEventType multimatchAllEventType = BaseNestableEventUtil.makeOATypeCompileTime(multimatchAllTypeMetadata, multievent, null, null, null, null, services.getBeanEventTypeFactoryPrivate(), services.getEventTypeCompileTimeResolver()); services.getEventTypeCompileTimeRegistry().newType(multimatchAllEventType); return multimatchAllEventType; }