code: public Number verifyNumber(Number number) {
          if ((number instanceof Double) || (number instanceof Float)) {
              double dValue = number.doubleValue();
              if (Double.isNaN(dValue) || Double.isInfinite(dValue)) {
                  throw new LocalizedArithmeticException(dValue, NUMBER);
              }
          }
          return number;
      }
docs: Verifiziert die uebergebene Nummer, ob sie eine gueltige Nummer und
  nicht unendlich oder 'NaN' ist. Falls die Nummer unendlich oder 'NaN'
  ist, wird eine {@link ArithmeticException} geworfen.
  
  @param number zu pruefende Nummer
  @return die Nummer selbst zur Weiterverarbeitung