for (int i = 0; i < dnf.size(); i++) {
DNF d = (DNF) dnf.get(i).clone();
Object[] flds = d.flds.toArray();
d.flds.clear();
for (int j = flds.length - 1; j >= 0; j--) {
Expression ex = new Expression(flds[j].toString(), prefix);
Iterator<String> ps = ex.getParams();
while (ps.hasNext()) {
String k = ps.next();
Object o = cntx.getPrmByFullName(k);
if (o != null) {
ex.setValue(k, o.toString());
} else
ex.setValue(k, "");
}
d.flds.add(ex.toString());
}
for (int j = d.getLength() - 1; j >= 0; j--) {
Object o = d.getItem(j);
Expression ex = new Expression(o.toString(), prefix);
Iterator<String> ps = ex.getParams();
while (ps.hasNext()) {
String k = ps.next();
o = cntx.getPrmByFullName(k);
if (o != null) {
ex.setValue(k, o.toString());
} else
ex.setValue(k, "");
}
d.setItem(j, ex.toString());
}
dnfs.add(d);
}
return dnfs;
}