What's a more efficient way of writing this method:
static Foo[][] copy2D(Foo[][] in)
{
Foo[][] ret = new Foo[in.length][in[0].length];
for(int i = 0;i < in.length;i++) {
for(int j = 0;j < in[0].length;j++) {
ret[i][j] = in[i][j].clone();
}
}
return ret;
}