public function stopProcessor(\Exception $exception = null)
    {
        $processor = array_pop($this->processorStack);
        $processor['time'] = microtime(true) - $processor['time'] - $processor['subtrahend'];
        if (null !== $exception) {
            $processor['exception'] = $exception->getMessage();
        }
        unset($processor['subtrahend']);

        if (!empty($this->actionStack)) {
            if (!array_key_exists('processors', $this->actionStack[$this->lastActionIndex])) {
                $this->actionStack[$this->lastActionIndex]['processors'] = [$processor];
            } else {
                $this->actionStack[$this->lastActionIndex]['processors'][] = $processor;
            }
        } else {
            $this->unclassifiedProcessors[] = $processor;
        }
    }