validatePath(path, os);  Model model = os.getModel();
validatePath(path, model);
    public static Query constructQuery(ObjectStore os, String path) throws ClassNotFoundException,                                                                       IllegalArgumentException {        String[] queryBits = path.split("[ \t]");            // validate path against model        validatePath(path, os);            Model model = os.getModel();            Query q = new Query();        QueryClass qcLast = null;        for (int i = 0; i + 2 < queryBits.length; i += 2) {            QueryClass qcStart = new QueryClass(Class.forName(model.getPackageName()                                                              + "." + queryBits[i]));            String refName = queryBits[i + 1];            QueryClass qcEnd = new QueryClass(Class.forName(model.getPackageName()                                                            + "." + queryBits[i + 2]));            if (qcLast != null) {                qcStart = qcLast;            }            qcLast = addReferenceConstraint(os, q, qcStart, refName, qcEnd, (i == 0));        }            return q;    }