code: 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);
      }
docs: adds values from another Chunks to the current one
  missing chunks are cloned over
  @param c other Chunks