// returns number of steps static long stepAll(Steppable s) { long steps = 0; if (s != null) { var pingSource = pingSource(); while true { ping(pingSource); if (s.step()) ++steps; else break; } } ret steps; }