code: public static final int hash(double d, boolean isNull)
      {
          if (isNull) return NULL_HASH;
          long longVal = Double.doubleToLongBits(d);
          return (int)(longVal ^ (longVal >>> 32));
      }
docs: need to mix the value, but have to keep it compatible with Double.hashcode !!