public function getProperty($property, $class = null, $refresh = false)
    {
        $propertyReflection = $this->getPropertyReflection($property, $class);
        $classReflection = $propertyReflection->getDeclaringClass();
        $cacheKey = $classReflection->getName() . '$' . $propertyReflection->getName();
        if (!$refresh && $this->cacheExists($cacheKey)) {
            return $this->getFromCache($cacheKey);
        }
        /** @var array|null $annotations */
        $annotations = $this->reader->getPropertyAnnotations($propertyReflection);
        $annotations = is_array($annotations) ? $annotations : [];
        $this->setToCache($cacheKey, $annotations);
        return $annotations;
    }