public boolean equals(Object obj) {
        if (obj instanceof Value) {
            Value value = (Value) obj;
            if (value._size != _size)
                return false;
            for (int i = 0; i < _size; i++) {
                if (value._bytes[i] != _bytes[i])
                    return false;
            }
            return true;
        } else if (obj instanceof ValueState) {
            return ((ValueState) obj).equals(this);
        } else
            return false;
    }