if (!(pl instanceof NumericProperty))
throw new IllegalArgumentException ("PropertyList must be Numeric to sum values");
HashMap key2value = new HashMap ();
Iterator iter = pl.numericIterator();
while (iter.hasNext()) {
iter.nextProperty ();
String key = iter.getKey();
double val = iter.getNumericValue();
Double storedValue = (Double)key2value.get (key);
if (storedValue == null)
key2value.put (key, new Double (val));