Have you tried a copy constructor? Note 5 of your 6 fields are primitives, so copying them is very fast.
For the Cell array of arrays, you would have to copy each element of the included arrays, then copy those components into a new array. You can try the clone() method on each component (Cell) array, copying them into a new Cell array, or the System#arraycopy(java.lang.Object, int, java.lang.Object, int, int)
method. If you use a for loop, remember it won't work in a for-each loop.
If the Cell objets are mutable, you may need to take a copy or clone() of each Cell object, too.
Try the System#nanoTime()
method before and after 1000000 copying operations with arraycopy and clone.