public Map<String, String> getRelationshipProperties(
      IdentityStoreInvocationContext ctx, IdentityObjectRelationship relationship)
      throws IdentityException, OperationNotSupportedException {
    Map<String, String> properties = cacheSupport.getProperties(getCacheNS(ctx), relationship);

    if (properties != null) {
      return properties;
    }

    properties = identityStore.getRelationshipProperties(ctx, relationship);

    cacheSupport.putProperties(getCacheNS(ctx), relationship, properties);

    return properties;
  }