public LogicLargeArray or(LogicLargeArray array)
    {
        if (array == null || array.length() != length) {
            throw new IllegalArgumentException("array == null || array.length() != length");
        }

        LogicLargeArray out = new LogicLargeArray(array.length(), false);
        for (long i = 0; i < length; i++) {
            out.setByte(i, (byte) (getByte(i) | array.getByte(i)));
        }
        return out;
    }