public function fail(\Throwable $reason)
    {
        if (null !== $this->started) {
            $this->started->reject(new CompletedError());
        }

        $this->delayed->reject($reason);
    }