public function stop() : Stopwatch
    {
        $tick = $this->ticker->read();
        Preconditions::checkState($this->isRunning, 'This stopwatch is already stopped.');
        $this->isRunning = false;
        $this->elapsedMicros += ($tick - $this->startTick);
        return $this;
    }