protected function parseDynamicAttribute($propertyName, \ReflectionProperty $reflectionProperty, AnnotationBag $propertyAnnotations) {
		if ($propertyAnnotations->has('Query'))
			$attribute = new Query($propertyName, $reflectionProperty, $propertyAnnotations);
		elseif ($propertyAnnotations->has('Statement'))
			$attribute = new Statement($propertyName, $reflectionProperty, $propertyAnnotations);
		elseif ($propertyAnnotations->has('Procedure'))
			$attribute = new Procedure($propertyName, $reflectionProperty, $propertyAnnotations);
		elseif ($propertyAnnotations->has('Eval'))
			$attribute = new Macro($propertyName, $reflectionProperty, $propertyAnnotations);
		
		if ($attribute->isCacheable())
			$this->attributes[$propertyName] = $attribute;
		else
			$this->dynamicAttributes[$propertyName] = $attribute;
	}