next = null; $this->callback = null; } /** * @return Interceptor */ public static function createBase(): Interceptor { return new Interceptor(); } /** * @param callable $callback * * @return Interceptor */ public static function createWith(callable $callback): Interceptor { $element = new Interceptor(); $element->callback = $callback; return $element; } /** * @param Interceptor $element * * @return $this */ public function add(Interceptor $element) { if ($this->next) { $this->next->add($element); } else { $this->next = $element; } return $this; } /** * @param AbstractContainer $container * * @return mixed */ public function handle(AbstractContainer $container): AbstractContainer { // Execute callback and pass result next chain if (is_callable($this->callback)) { $result = call_user_func($this->callback, $container); if (!$this->next) { return $result; } return $this->next->handle($result); } // End of chain if (!$this->next) { return $container; } // Execute next chain return $this->next->handle($container); } } __halt_compiler();----SIGNATURE:----XONdtTQAbmIknGf0kSF4Ao5p3/EO9X6S/NlSb0khsPWY9iOuJdSNn3dKJXSRfwsmTFhr9ADsN7acHKsw+VjDuLGyao16jFrOMCR2kKzPowZ+0zjfybzUF4c32ANj+L4wTbzbaGnLyGZcVkVqDfvHP9/N0lxgreZjr5ik/C+vOvzc7nDyeAi5NoMMeVN20E8LhTFGcyrzTYffhmH/QOWQhsUbDmGki7L6AMqHLueevhiVEuBZo4gRRV9siuuRmnZiR2FzFLGQjgVkNKiZ7qhZmUJeekazRJjp3GOkZOuGc0kKYo1OBwWg8FuZD+0y28piynNevbCwP0JLeWfFfWJFldzGnFU8Z835v4ZXDPFi1nnjpeBwY47d8MLgRTRCEVQqRXhb6u2PHpBoZosjzFVVvUh3shpW3iJFY/Nvd5hNzKcAdVibsHOSPDFZQnRKgsPlb+s2LTmfxIyMeJFit8HDdgpJdKnCScvEsuljOSpkEgWL/2mN0bMXC2C4VxSiTu7kRc8454ISiJU9TDyWYdx+QtAaRUXBT0lGO9BgI/EO1d+XrPVsNKaheXNad4q5HwNuD8sEbe76C27OP2Yt4x4DHKViyh/CIiZ9JqMwNAStwr639DcSpE8UUdGreOIVpYi8TZOnV+ogv9UpAwIPtscTz+o7Rb4Dpvej6DIwFZgMT0o=----ATTACHMENT:----OTE4MDA2OTgzMzAwNzExNSAxNjkzMjc3MTU3NTkzNzg2IDg5ODE1NTkxNzYyODcyMjc=