code: public ForeignKey<JoinTable<T>> getOrCreateForeignKey()
     {
        Node node = childNode.getOrCreate("foreign-key");
        ForeignKey<JoinTable<T>> foreignKey = new ForeignKeyImpl<JoinTable<T>>(this, "foreign-key", childNode, node);
        return foreignKey;
     }
docs: If not already created, a new <code>foreign-key</code> element with the given value will be created.
  Otherwise, the existing <code>foreign-key</code> element will be returned.
  @return  a new or existing instance of <code>ForeignKey<JoinTable<T>></code>