m_errors.warn(tond, "not a unique key");
m_errors.fatal(tond, "not a unique key: " + to);
    private ForeignKey fk(JoinNd jn, boolean forward) {        ColumnNd fromnd;        ColumnNd tond;        if (forward) {            fromnd = jn.getFrom();            tond = jn.getTo();        } else {            fromnd = jn.getTo();            tond = jn.getFrom();        }        Column from = lookup(fromnd);        Column to = lookup(tond);        ForeignKey fk = from.getTable().getForeignKey(new Column[] {from});        UniqueKey uk = to.getTable().getUniqueKey(new Column[] {to});        if (uk == null) {            m_errors.warn(tond, "not a unique key");            return null;        }        if (fk != null) {            if (uk.equals(fk.getUniqueKey())) {                return fk;            } else {                Node prev = (Node) m_fkNds.get(fk);                m_errors.fatal                    (fromnd,                     "foreign key incompatible with previous definition: " +                     prev.getLocation());                return null;            }        }        fk = fk(new Column[] {from}, uk);        m_fkNds.put(fk, fromnd);	return fk;    }