protected static void updateExtras(
    Holding holding, List <HoldingExtra> extras, int numUpdates
  ) {
    if (numUpdates % 10 != 0 || ! holding.structure.intact()) return ;
    if (verbose) I.sayAbout(holding, "Updating extras for: "+holding) ;
    
    final int level = 1 + (int) Math.floor(holding.upgradeLevel() / 3f) ;
    addExtras(holding, extras, level) ;
    //
    //  Clear out any extras that were demolished, and update the level of any
    //  still standing-
    for (HoldingExtra extra : extras) {
      if (extra.destroyed()) extras.remove(extra) ;
      else {
        holding.base().paving.updatePerimeter(extra, true) ;
        extra.updateLevel(level) ;
      }
    }
  }