public Behaviour jobFor(Actor actor) {
    if ((! structure.intact()) || (! personnel.onShift(actor))) return null ;
    final Choice choice = new Choice(actor) ;
    
    final Delivery d = Deliveries.nextDeliveryFor(
      actor, this, services(), 10, world
    ) ;
    if (d != null && personnel.assignedTo(d) < 1) {
      //d.nextStepFor(actor) ;
      //I.sayAbout(this, "next delivery: "+d) ;
      choice.add(d) ;
    }
    
    final Delivery c = Deliveries.nextCollectionFor(
      actor, this, services(), 10, null, world
    ) ;
    if (c != null && personnel.assignedTo(c) < 1) choice.add(c) ;
    
    choice.add(new Supervision(actor, this)) ;
    return choice.weightedPick() ;
  }