@Override
    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        result = result * PRIME + this.object.hashCode();
        result = result * PRIME + (int) (Double.doubleToLongBits(this.getWeight()) >>> 32 ^ Double.doubleToLongBits(this.getWeight()));
        return result;
    }
Represents a {@link Weighted} object.

@param <T> the object type
helper/src/main/java/me/lucko/helper/random/WeightedObject.java