Inheritance: implements Doctrine\Common\Persistence\Mapping\ClassMetadata
 /**
  * RelationshipEntityMetadata constructor.
  *
  * @param string                                               $class
  * @param \ReflectionClass                                     $reflectionClass
  * @param \GraphAware\Neo4j\OGM\Annotations\RelationshipEntity $annotation
  * @param \GraphAware\Neo4j\OGM\Metadata\EntityIdMetadata      $entityIdMetadata
  * @param string                                               $startNodeClass
  * @param string                                               $endNodeClass
  * @param array                                                $entityPropertiesMetadata
  */
 public function __construct($class, \ReflectionClass $reflectionClass, RelationshipEntity $annotation, EntityIdMetadata $entityIdMetadata, $startNodeClass, $startNodeKey, $endNodeClass, $endNodeKey, array $entityPropertiesMetadata)
 {
     parent::__construct($entityIdMetadata, $class, $reflectionClass, $entityPropertiesMetadata);
     $this->relationshipEntityAnnotation = $annotation;
     $this->startNodeEntityMetadata = $startNodeClass;
     $this->endNodeEntityMetadata = $endNodeClass;
     $this->type = $annotation->type;
     $this->startNodeReflectionProperty = $this->reflectionClass->getProperty($startNodeKey);
     $this->endNodeReflectionProperty = $this->reflectionClass->getProperty($endNodeKey);
 }
 /**
  * NodeEntityMetadata constructor.
  *
  * @param \GraphAware\Neo4j\OGM\Metadata\EntityIdMetadata       $className
  * @param \ReflectionClass                                      $reflectionClass
  * @param \GraphAware\Neo4j\OGM\Metadata\NodeAnnotationMetadata $nodeAnnotationMetadata
  * @param \GraphAware\Neo4j\OGM\Metadata\EntityIdMetadata       $entityIdMetadata
  * @param array                                                 $entityPropertiesMetadata
  * @param RelationshipMetadata[]                                $simpleRelationshipsMetadata
  */
 public function __construct($className, \ReflectionClass $reflectionClass, NodeAnnotationMetadata $nodeAnnotationMetadata, EntityIdMetadata $entityIdMetadata, array $entityPropertiesMetadata, array $simpleRelationshipsMetadata)
 {
     parent::__construct($entityIdMetadata, $className, $reflectionClass, $entityPropertiesMetadata);
     $this->nodeAnnotationMetadata = $nodeAnnotationMetadata;
     $this->customRepository = $this->nodeAnnotationMetadata->getCustomRepository();
     foreach ($entityPropertiesMetadata as $o) {
         if ($o instanceof LabeledPropertyMetadata) {
             $this->labeledPropertiesMetadata[$o->getPropertyName()] = $o;
         }
     }
     foreach ($simpleRelationshipsMetadata as $relationshipMetadata) {
         $this->relationships[$relationshipMetadata->getPropertyName()] = $relationshipMetadata;
     }
 }