protected function propertyIsMixedType($className, $property)
    {
        $mixedType = false;

        $propertySchema = $this->reflectionService->getClassSchema($className)->getProperty($property);

        if ($this->classIsMixedType($propertySchema['type'])) {
            $mixedType = true;
        } else {
            if ($this->reflectionService->isPropertyTaggedWith($className, $property, MixedTypesService::PROPERTY_ANNOTATION_MIXED_TYPE)) {
                $tags = $this->reflectionService->getPropertyTagValues($className, $property, MixedTypesService::PROPERTY_ANNOTATION_MIXED_TYPE);
                $mixedTypeClassName = reset($tags);

                if ($this->classIsMixedType($mixedTypeClassName)) {
                    $mixedType = true;
                }
            }
        }

        return $mixedType;
    }