private function extractAllowedAttributes(ReflectionClass $reflection): array
    {
        $allowed = [];
        foreach (
            $reflection->getMethods(ReflectionMethod::IS_PUBLIC) as $method
        ) {
            if (!$this->isGetMethod($method)) {
                continue;
            }

            $name = $this->getAttributeName($method);
            if ($this->isExclude($name)) {
                continue;
            }

            $allowed[] = $name;
        }

        return $allowed;
    }