public void add(Chunks c) {
        assert c.chunkBits == chunkBits;
        assert c.defaultValue == defaultValue;

        int[][] oChunks = c.chunks;
        if (c.numChunks > numChunks) growTo(c.numChunks-1);
        for (int i = 0; i < oChunks.length; i++) {
            int[] oChunk = oChunks[i];
            if (oChunk!=null) {
                if (chunks[i]==null) {
                    chunks[i]=oChunk.clone();
                } else {
                    int[] chunk = chunks[i];
                    for (int j = 0; j < oChunk.length; j++) {
                        chunk[j] += oChunk[j];
                    }
                }
            }
        }
        this.maxIndex = Math.max(this.maxIndex,c.maxIndex);
    }
public void add ( Chunks c ) { assert c . chunkBits == chunkBits ; assert c . defaultValue == defaultValue ; int [ ] [ ] oChunks = c . chunks ; if ( c . numChunks > numChunks ) growTo ( c . numChunks - 1 ) ; for ( int i = 0 ; i < oChunks . length ; i ++ ) { int [ ] oChunk = oChunks [ i ] ; if ( oChunk != null ) { if ( chunks [ i ] == null ) { chunks [ i ] = oChunk . clone ( ) ; } else { int [ ] chunk = chunks [ i ] ; for ( int j = 0 ; j < oChunk . length ; j ++ ) { chunk [ j ] += oChunk [ j ] ; } } } } this . maxIndex = Math . max ( this . maxIndex , c . maxIndex ) ; }
adds values from another Chunks to the current one
missing chunks are cloned over
@param c other Chunks