/**
  * @param AnnotationReader $reader
  * @param \ReflectionClass $reflClass
  */
 protected function loadPropertyAnnotations(AnnotationReader $reader, ReflectionClass $reflClass)
 {
     foreach ($reflClass->getProperties() as $property) {
         foreach ($reader->getPropertyAnnotations($property) as $annotation) {
             if ($annotation instanceof SortedIndex) {
                 $this->metadata->addSortedIndex($property->getName(), $this->getKeyNameFromAnnotation($property, $annotation));
             } elseif ($annotation instanceof Index) {
                 $this->metadata->addIndex($property->getName(), $this->getKeyNameFromAnnotation($property, $annotation));
             } elseif ($annotation instanceof Id) {
                 $this->metadata->setId($property->getName());
             } elseif ($annotation instanceof Field) {
                 $this->metadata->addPropertyMapping($property->getName(), array('type' => $annotation->type, 'name' => $annotation->name));
             }
         }
     }
 }