if ((k % blockSize) != 0) {
if ((len % blockSize) != 0) {
    public boolean init(int len, BucketFactory factory) {        // Select block size        if (len < C_32M) {            // 256K for up to 32MB            blockSize = C_256K;        }        else if (len < C_64M) {            // 512K for up to 64MB            blockSize = C_512K;        }        else  {            // 1MB for up to 128MB            blockSize = C_1M;        }        // We won't try to encode more than        // 128MB at a time.  Past that, we        // have to segment.        segments = len / C_128M;                if ((len % C_128M) != 0) {            segments++;        }        if (len < C_128M) {            k = len / blockSize;            if ((k % blockSize) != 0) {                k++;            }        }        else {            k = C_128M / blockSize;        }        n = k + k/2;                if (n == k) {            n++;        }        baseN = n;        baseK = k;        endN = n;        endK = k;        if (len >= C_128M) {            int finalSegmentLen = len % C_128M;            endK = finalSegmentLen / blockSize;            if ((finalSegmentLen % blockSize) != 0) {                endK++;            }             endN = endK + endK/2;            if (endK == endN) {                endN++;            }        }        // REDFLAG: assert n, k < 256        stripeWidth = -1;        if (len > C_16M) {            long activeLength = len;            if (len > C_128M) {                len = C_128M;            }                        // Set stripe width so that we never            // need to load more that 16Mb of            // data blocks into memory.                        // REDFLAG: double check            int stripeCount = 1;            while (activeLength/stripeCount > C_16M) {                stripeCount = stripeCount << 1;            }                        stripeWidth = blockSize / stripeCount;            // assert(blockSize % stripeCount == 0);        }        this.bucketFactory = factory;        this.len = len;        DefaultFECCodeFactory f = new DefaultFECCodeFactory();                    this.code = f.createFECCode(k, n);        currentSegment = 0;        return code != null;    }