int k = productStructureIterator[0];
DiscreteDomain ddom = dmap.getDiscretizedDomain(function.getDomain(), bn);
if (ddom instanceof IntervalDomain) {
IntervalDomain idom = (IntervalDomain) ddom;
val = new Double(idom.getAvarage(k));
volume *= idom.getWidth(k);
} else {
val = ddom.getState(k);
}
Vector<DiscreteDomain> pdoms = dmap.getDiscretizedParentDomains();
List args = new LinkedList();
for (int i = 1; i < productStructureIterator.length; i++) {
int j = productStructureIterator[i];
DiscreteDomain dpdom = pdoms.elementAt(i);
if (dpdom instanceof IntervalDomain) {
IntervalDomain idom = (IntervalDomain) dpdom;
Double aval = new Double(idom.getAvarage(j));
args.add(aval);
volume *= idom.getWidth(j);
} else {
String sval = dpdom.getState(j);
args.add(sval);