@Override
    public int hashCode() {
        return getType().hashCode() * 7 + stringCache.hashCode();
    }
Returns true if the value of the number contained in the number node is zero,
accounting for float, double, bigInteger, bigDecimal, and other numeric types
(e.g., 0, 0.0, etc).

<p>Note that -0 and +0 are considered 0. However, NaN is not considered zero.
When unknown number types are encountered, this method will return true if the
toString of the given number returns "0", or "0.0". Other kinds of unknown
number types will be treated like a double.

<p>Double and float comparisons to zero are exact and use no rounding. The majority
of values seen by this method come from models that use "0" or "0.0". However,
we can improve this in the future with some kind of epsilon if the need arises.

@return Returns true if set to zero.
smithy-model/src/main/java/software/amazon/smithy/model/node/NumberNode.java