@Test
public void testAssociationReifiers() {

  TopicIF type = builder.makeTopic();
  TopicIF role1 = builder.makeTopic();
  TopicIF role2 = builder.makeTopic();
  TopicIF player1 = builder.makeTopic();
  TopicIF player2 = builder.makeTopic();
  
  AssociationIF assoc = builder.makeAssociation(type);
  AssociationRoleIF role = builder.makeAssociationRole(assoc, role1, player1);
  role = builder.makeAssociationRole(assoc, role2, player2);
  TopicIF r1 = builder.makeTopic();
  assoc.setReifier(r1);
  builder.makeTopicName(r1, "r1");
  assoc = builder.makeAssociation(type);
  role = builder.makeAssociationRole(assoc, role1, player1);
  role = builder.makeAssociationRole(assoc, role2, player2);
  TopicIF r2 = builder.makeTopic();
  assoc.setReifier(r2);
  builder.makeTopicName(r2, "r2");
  DuplicateSuppressionUtils.removeDuplicates(topicmap);
  Assert.assertTrue("duplicate association was not removed",
             topicmap.getAssociations().size() == 1);
  assoc = (AssociationIF) topicmap.getAssociations().iterator().next();
  Assert.assertTrue("reifier was lost", assoc.getReifier() != null);
  Assert.assertTrue("reifiers were not merged",
             assoc.getReifier().getTopicNames().size() == 2);
}