> As to detatchAll() versus a specific portrayal: laziness.  It's easy  
> for us to clean out everything, but detatching a specific portrayal  
> means shifting a bunch of stuff down.  We figured one could detach  
> everything and then reattach the stuff you wanted.  :-)  :-) 

I tried that first, but the Portrayals' visible flags are package-private to
sim.display. So it isn't possible to know which Portrayals should be visible
when they are reattached (from outside the sim.display, anyway). No big deal
though, if I decide I really need that ability I'll just hack the Display2D
directly. 

Regarding the immutability stuff: Increasing the heap size dramatically
improves performance when the immutable field flag is set to true. So it all
makes sense now :) I guess I should've tried that first.

Thanks for your help!

-Marc