protected function setAnnotationArguments(Annotation $annotation): void
    {
        $arguments = $annotation->getAnnotationArguments();

        // Iterate through the arguments
        foreach ($annotation->getAnnotationArguments() as $key => $argument) {
            $methodName = 'set' . ucfirst($key);

            // Check if there is a setter function for this argument
            if (method_exists($annotation, $methodName)) {
                // Set the argument using the setter
                $annotation->{$methodName}($argument);

                // Unset from the arguments array
                unset($arguments[$key]);
            }
        }

        $annotation->setAnnotationArguments($arguments);
    }