class AssociationWalker {

  public Set<TopicIF> walkTopics(TopicIF start) {
    WalkerState state = walk(start, false);
    return Collections.unmodifiableSet(state.closure);
  }

  public  AssociationWalker(TopicIF associationType, TopicIF leftRoleSpec, TopicIF rightRoleSpec);
  public  AssociationWalker(DeciderIF<AssociationIF> assocDecider, DeciderIF<AssociationRoleIF> fromRoleDecider, DeciderIF<AssociationRoleIF> toRoleDecider);

}