private function getArc(Color $color, $x, $y, $radius, $angle, $width, $start = 0)
    {
        return (new Path(
                $x + $radius * cos(deg2rad($start)),
                $y + $radius * sin(deg2rad($start))
            ))
            ->setFillColor($color)
            ->setStrokeColor($color)
            ->setStrokeWidth(1)
            ->arcTo(
                $x + $radius * cos(deg2rad($start + $angle)),
                $y + $radius * sin(deg2rad($start + $angle)),
                $radius,
                $radius,
                0,
                $angle > 180,
                1
            )
            ->lineTo(
                $x + ($radius + $width) * cos(deg2rad($start + $angle)),
                $y + ($radius + $width) * sin(deg2rad($start + $angle))
            )
            ->arcTo(
                $x + ($radius + $width) * cos(deg2rad($start)),
                $y + ($radius + $width) * sin(deg2rad($start)),
                $radius + $width,
                $radius + $width,
                0,
                $angle > 180,
                0
            )
            ->lineTo(
                $x + $radius * cos(deg2rad($start)),
                $y + $radius * sin(deg2rad($start))
            );
    }