final public function setDelegates(array $delegates)
    {
        $this->delegates = [];
        foreach ($delegates as $delegate) {
            $this->addDelegate($delegate);
        }
        return $this;
    }