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.