void CheckQuotas()
{
if (this.cellsQuota.HasValue) {
if (this.usedCells > this.cellsQuota.Value) {
this.usedCells = this.CountCells ();
if (this.usedCells > this.cellsQuota.Value) {
throw new Shovel.Exceptions.ShovelCellQuotaExceededException ();
}
}
}
if (this.totalTicksQuota.HasValue) {
if (this.executedTicks > this.totalTicksQuota.Value) {
throw new Shovel.Exceptions.ShovelTicksQuotaExceededException ();
}
}
if (this.untilNextNapTicksQuota.HasValue) {
if (this.executedTicksSinceLastNap > this.untilNextNapTicksQuota) {
this.shouldTakeANap = true;
}
}
}