code: public static final Number getZeroForClazz(Class<? extends Number> clazz) {
          if (Double.class.isAssignableFrom(clazz) || Float.class.isAssignableFrom(clazz)) {
              // use doubleValue()
              return Double.valueOf(0d);
          } else {
              return Long.valueOf(0l);
          }
      }
docs: A static utility method to produce the value of zero when only the clazz
  is known. This is similar to getZeroAtCorrectType(), but the static
  attribute makes is available in more situations. Warning, the user must
  cast the returned value correctly!
  
  @param clazz
  The numeric class, must extend from {@link Number}. The
  numeric class type (extends <code>Number</code>) that should
  be used to produce zero.
  @return The value zero as a <code>Number</code>. The caller must cast
  this as appropriate (usually with a generic type parameter).
  @see #getZeroAsCorrectType()