// Swimmer$Ego.java [dynamic] public class Swimmer$Ego { public void Swim(Swimmer host, int miles, int depth) { host.JumpInTheWater(); for (int d = 0; d < depth; d++) host.Submerge(); while ((miles--) > 0) host.MoveFin(); for(int d = depth; d > 0; d--) host.Rise(); host.JumpOutOfTheWater(); } public Swimmer$Ego(Shrink shrink) { shrink.register_personality( "Swimmer" ); } }