public Behaviour jobFor(Actor actor) {
    if (actor.isDoing(Delivery.class, null)) return null ;
    
    if (stage >= STAGE_BOARDING) {
      final Action boardAction = new Action(
        actor, this,
        this, "actionBoard",
        Action.STAND, "boarding "+this
      ) ;
      boardAction.setPriority(stage == STAGE_BOARDING ? Action.CRITICAL : 100) ;
      I.sayAbout(actor, "Boarding priority: "+boardAction.priorityFor(actor)) ;
      return boardAction ;
    }
    
    final Batch <Venue> depots = nearbyDepots() ;
    final Delivery d = Deliveries.nextImportDelivery(
      actor, this, ALL_COMMODITIES, depots, 10, world
    ) ;
    if (d != null) return d ;
    
    final Delivery c = Deliveries.nextExportCollection(
      actor, this, ALL_COMMODITIES, depots, 10, world
    ) ;
    if (c != null) return c ;
    return null ;
  }