@Override public boolean equals(Object obj) {
        if (obj == null) { return false; }
        if (getClass() != obj.getClass()) { return false; }
        final Stat other = (Stat) obj;
        if (this.cross != other.cross) { return false; }
        if (this.mutate != other.mutate) { return false; }
        if (this.freeRate != other.freeRate) { return false; }
        if (this.wasteRate != other.wasteRate) { return false; }
        return true;
    }