String propname = otherType.columnNameToProperty (constraints[i].foreignName);
String propname = constraints[i].foreignProperty ();
    public boolean checkConstraints (Node parent, Node child) {	for (int i=0; i<constraints.length; i++) {	    String propname = otherType.columnNameToProperty (constraints[i].foreignName);	    if (propname != null) {	        INode home = constraints[i].isGroupby ? parent : parent.getNonVirtualParent ();	        String localName = constraints[i].localName;	        String value = null;	        if (localName == null  || localName.equals (ownType.getIDField ()))	            value = home.getID ();	        else if (ownType.isRelational ())	            value = home.getString (ownType.columnNameToProperty (localName), false);	        else	            value = home.getString (localName, false);	        if (value != null && !value.equals (child.getString (propname, false))) {	            return false;	        }	    }	}	return true;    }