public override void executa(IOrganismo o) { mundo.getMutation().divisionMutation(o); if (o.child != null) { if (!o.child.isAlive()) { mundo.dealloc(o.child); o.criticalError(); o.clearChild(); return; } o.child.parent = o; if (mundo.start(o.child)) { if (o.child == null) { o.clearChild(); return; } o.addChild(); o.child.clearParent(); o.clearChild(); o.addFitness(); } else { o.clearChild(); o.criticalError(); } } else { o.fatalError(); } }