public Number multiplyNumbers(Number a, Number b)
    throws NumberClassNotFoundException {
    
    Number product = null;
    
    if (a instanceof Double && b instanceof Double) {
      product = new Double(roundDouble(a.doubleValue() * b.doubleValue()));
      
    } else if (a instanceof Integer && b instanceof Integer) {
      product = new Integer(a.intValue() * b.intValue());
    } else if (a instanceof Float && b instanceof Float) {
      product = new Float(roundFloat(a.floatValue() * b.floatValue()));
      
    } else if (a instanceof Long && b instanceof Long) {
      product = new Long(a.longValue() * b.longValue());
    } else {
      throw new NumberClassNotFoundException(a.getClass() + " and "
	  + b.getClass() + " not currently supported.");
    }
    return product;
  }