### Question:
GraphEntityMapper { public void populateRelationshipProperties(EntityMetadata entityMetadata, EntityMetadata targetNodeMetadata, Relationship relationship, Object relationshipObj) { MetamodelImpl metaModel = (MetamodelImpl) kunderaMetadata.getApplicationMetadata().getMetamodel( entityMetadata.getPersistenceUnit()); EntityType entityType = metaModel.entity(relationshipObj.getClass()); Set<Attribute> attributes = entityType.getSingularAttributes(); for (Attribute attribute : attributes) { Field f = (Field) attribute.getJavaMember(); if (!f.getType().equals(entityMetadata.getEntityClazz()) && !f.getType().equals(targetNodeMetadata.getEntityClazz())) { EntityMetadata relMetadata = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, relationshipObj.getClass()); String columnName = ((AbstractAttribute) attribute).getJPAColumnName(); if (metaModel.isEmbeddable(relMetadata.getIdAttribute().getBindableJavaType()) && ((SingularAttribute) attribute).isId()) { Object id = PropertyAccessorHelper.getId(relationshipObj, relMetadata); Object serializedIdValue = serializeIdAttributeValue(relMetadata, metaModel, id); relationship.setProperty(columnName, serializedIdValue); Set<Attribute> embeddableAttributes = metaModel.embeddable( relMetadata.getIdAttribute().getBindableJavaType()).getSingularAttributes(); for (Attribute embeddableAttribute : embeddableAttributes) { String embeddedColumn = ((AbstractAttribute) embeddableAttribute).getJPAColumnName(); if (embeddedColumn == null) embeddedColumn = embeddableAttribute.getName(); Object value = PropertyAccessorHelper .getObject(id, (Field) embeddableAttribute.getJavaMember()); if (value != null) relationship.setProperty(embeddedColumn, value); } } else { Object value = PropertyAccessorHelper.getObject(relationshipObj, f); relationship.setProperty(columnName, toNeo4JProperty(value)); } } } } GraphEntityMapper(Neo4JIndexManager indexer, final KunderaMetadata kunderaMetadata); Node getNodeFromEntity(Object entity, Object key, GraphDatabaseService graphDb, EntityMetadata m,
            boolean isUpdate); Node createProxyNode(Object sourceNodeId, Object targetNodeId, GraphDatabaseService graphDb,
            EntityMetadata sourceEntityMetadata, EntityMetadata targetEntityMetadata); Object getEntityFromNode(Node node, EntityMetadata m); Object getEntityFromRelationship(Relationship relationship, EntityMetadata topLevelEntityMetadata,
            Relation relation); Map<String, Object> createNodeProperties(Object entity, EntityMetadata m); void populateRelationshipProperties(EntityMetadata entityMetadata, EntityMetadata targetNodeMetadata,
            Relationship relationship, Object relationshipObj); Map<String, Object> createRelationshipProperties(EntityMetadata entityMetadata,
            EntityMetadata targetEntityMetadata, Object relationshipEntity); Object toNeo4JProperty(Object source); Object fromNeo4JObject(Object source, Field field); Node searchNode(Object key, EntityMetadata m, GraphDatabaseService graphDb, boolean skipProxy);  }### Answer:
@Test public void testPopulateRelationshipProperties() { }