code: protected function getVarAnnotation(ReflectionProperty $property)
      {
          $result = array();
          // Adapted from Doctrine\Common\Annotations\DocParser::collectAnnotationMetadata()
  
          // checks if the property has @var annotation
          if ((false !== $propertyComment = $property->getDocComment())
              && false !== strpos($propertyComment, '@var')
              && preg_match('/@var\s+([^\s]+)((?:[ ]+)[^\r\n]*)?/', $propertyComment, $matches)) {   // TODO Fix regex (line end)
              // literal type declaration
              $value = $matches[1];
  
              return $value;
          }
  
          return null;
      }
docs: Extracts the type of a property using the @var annotation
  
  @param  ReflectionProperty $property The property.
  @return array The property's type.