public Batch <Upgrade> workingUpgrades() {
    final Batch <Upgrade> working = new Batch <Upgrade> () ;
    if (upgrades == null) return working ;
    for (int i = 0 ; i < upgrades.length ; i++) {
      if (upgrades[i] != null && upgradeStates[i] == STATE_INTACT) {
        working.add(upgrades[i]) ;
      }
    }
    return working ;
  }