103 if(isset($this->allLists[$event])){
105 $list = $this->allLists[$event];
109 $class = new \ReflectionClass($event);
110 if(!self::isValidClass($class)){
111 throw new \InvalidArgumentException(
"Event must be non-abstract or have the @allowHandle annotation");
114 $parent = self::resolveNearestHandleableParent($class);
115 $cache =
new RegisteredListenerCache();
116 $this->handlerCaches[$event] = $cache;
118 $parentList = $parent !==
null ? $this->getListFor($parent->getName()) : null;
122 $list =
new HandlerList(
124 parentList: $parentList,
127 $this->allLists[$event] = $list;