* @param loser The <code>Unit</code> that is losing equipment.
     * @param equip The <code>EquipmentType</code> to capture.
     * @param cs A <code>ChangeSet</code> to update.
     */
    private void csCaptureEquipment(Unit winner, Unit loser,
                                    EquipmentType equip, ChangeSet cs) {
        ServerPlayer winnerPlayer = (ServerPlayer) winner.getOwner();
        ServerPlayer loserPlayer = (ServerPlayer) loser.getOwner();
        if ((equip = winner.canCaptureEquipment(equip, loser)) != null) {
            // TODO: what if winner captures equipment that is
            // incompatible with their current equipment?
            // Currently, can-not-happen, so ignoring the return from
            // changeEquipment.  Beware.
            winner.changeEquipment(equip, 1);

            // Currently can not capture equipment back so this only
            // makes sense for native players, and the message is
            // native specific.
            if (winnerPlayer.isIndian()) {
                StringTemplate winnerNation = winnerPlayer.getNationName();
                cs.addMessage(See.only(loserPlayer),
                              new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT,
                                               "model.unit.equipmentCaptured",
                                               winnerPlayer)
                              .addStringTemplate("%nation%", winnerNation)
                              .add("%equipment%", equip.getNameKey()));

                // CHEAT: Immediately transferring the captured goods
                // back to a potentially remote settlement is pretty
                // dubious.  Apparently Col1 did it.  Better would be
                // to give the capturing unit a go-home-with-plunder mission.
                IndianSettlement settlement = winner.getIndianSettlement();
                if (settlement != null) {
                    for (AbstractGoods goods : equip.getGoodsRequired()) {
                        settlement.addGoods(goods);
                        logger.finest("CHEAT teleporting " + goods.toString()
                                      + " back to " + settlement.getName());
                    }
                    cs.add(See.only(winnerPlayer), settlement);
                }
            }
        }
    }