public static function getPropertiesByAnnotation($entityClass, $annotationClass, AnnotationReader $reader)
    {
        $properties = [];

        $reflectionClass = new ReflectionClass($entityClass);
        foreach ($reflectionClass->getProperties() as $reflectionProperty) {

            if (false === self::hasPropertyAnnotation($reflectionProperty, $annotationClass, $reader)) {
                continue;
            }

            $reflectionProperty->setAccessible(true);

            $properties[] = $reflectionProperty;
        }

        return $properties;
    }