Query q = m_pc.getDataSet().getQuery(); Signature sig = q.getSignature();
Signature sig = query.getSignature();
    public void setParameter(String parameterName, Object value) {        if (value == null) {            return;        }        Object tobj;        if (value instanceof Collection) {            Collection c = (Collection) value;            if (c.size() == 0) {                throw new Error("zero sized collection");            } else {                tobj = c.iterator().next();            }        } else {            tobj = value;        }        Query q = m_pc.getDataSet().getQuery();        Signature sig = q.getSignature();        Path path = Path.get(parameterName);        Parameter p = sig.getParameter(path);        if (p == null) {            // XXX: should add notion of multiplicity to Parameter            p = new Parameter(m_pssn.getObjectType(tobj), path);            sig.addParameter(p);        }        q.set(p, value);    }