protected void Sense() { Reasoner reasoner = GetReasoner(); int i = 0; do { reasoner.Sense(); // must run at least once, so that perceive() is called } while (running && ++i < cyclesSense && !reasoner.CanSleepSense()); }