protected function createSVGArcPath($outerRadius)
    {
        $color = $this->randomCssColor();
        $ringThickness = $this->ringwidth / 2;
        $startAngle = $this->rand(20, 360);
        $stopAngle = $this->rand(20, 360);
        if ($stopAngle < $startAngle) {
            list($startAngle, $stopAngle) = array($stopAngle, $startAngle);
        }

        list ($xStart, $yStart) = $this->polarToCartesian($outerRadius, $startAngle);
        list ($xOuterEnd, $yOuterEnd) = $this->polarToCartesian($outerRadius, $stopAngle);

        $innerRadius = $outerRadius - $ringThickness;
        $SweepFlag = 0;
        $innerSweepFlag = 1;
        $largeArcFlag = (int)($stopAngle - $startAngle < 180);
        list ($xInnerStart, $yInnerStart) = $this->polarToCartesian($outerRadius - $ringThickness, $stopAngle);
        list ($xInnerEnd, $yInnerEnd) = $this->polarToCartesian($outerRadius - $ringThickness, $startAngle);

        $fullPath = "<path fill='$color' d='
            M $xStart $yStart
            A $outerRadius $outerRadius 0 $largeArcFlag $SweepFlag $xOuterEnd $yOuterEnd
            L $xInnerStart $yInnerStart
            A $innerRadius $innerRadius 0 $largeArcFlag $innerSweepFlag $xInnerEnd $yInnerEnd
            Z
            '/>";
        return $fullPath;
    }