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