public float priorityFor(Actor actor) {
    if ((! begun()) && nursery.belongs.personnel.assignedTo(this) > 0) {
      return 0 ;
    }
    //
    //  Vary priority based on competence for the task and how many crops
    //  actually need attention-
    final float min = sumHarvest() > 0 ? ROUTINE : 0 ;
    final float need = nursery.needForTending() ;
    if (need <= 0) return min ;
    float chance = 1.0f ;
    chance *= actor.traits.chance(HARD_LABOUR, ROUTINE_DC) * 2 ;
    chance *= actor.traits.chance(CULTIVATION, MODERATE_DC) * 2 ;
    return Visit.clamp(chance * (CASUAL + (need * ROUTINE)), min, URGENT) ;
  }