private function getProperties(Encryptable $model): array
    {
        $properties = [];
        $reflection = new ReflectionObject($model);

        foreach ($reflection->getProperties() as $property) {
            $annotation = $this->annotationReader->getPropertyAnnotation($property, Encrypt::class);

            if (!$annotation) {
                continue;
            }

            if (null !== $annotation->applicable && !$this->expressionLanguage->evaluate($annotation->applicable, ['object' => $model])) {
                continue;
            }

            $properties[] = $property;
        }

        return $properties;
    }