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;
    }
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;
    }
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 ; }
Stops the stopwatch. Future reads will return the fixed duration that had
elapsed up to this point.

@throw IllegalStateException if it is already stopped
@return $this
@throws IllegalStateException if this Stopwatch is already stopped
Stops the stopwatch . Future reads will return the fixed duration that had elapsed up to this point .