AddTransactionMove payment =
if (! needToDump) return;  AddTransactionMove payment[] =
    public void dumpSurplusCargo(ObjectKey trainKey, ObjectKey stationKey) {	TrainModel train = (TrainModel)w.get(trainKey.key, trainKey.index,		trainKey.principal);	int trainBundleId = train.getCargoBundleNumber();	CargoBundle trainBefore = (CargoBundle) w.get(KEY.CARGO_BUNDLES,		trainBundleId, Player.AUTHORITATIVE);	trainBefore = trainBefore.getCopy();	CargoBundle trainAfter = trainBefore.getCopy();	StationModel station = (StationModel) w.get(stationKey.key,		stationKey.index, stationKey.principal);	int stationBundleId = station.getCargoBundleNumber();	CargoBundle stationBefore = (CargoBundle) w.get(KEY.CARGO_BUNDLES,		stationBundleId, Player.AUTHORITATIVE);	stationBefore = stationBefore.getCopy();	CargoBundle stationAfter = stationBefore.getCopy();        CargoBundle cargoDroppedOff = new CargoBundleImpl();	//Unload the cargo that there isn't space for on the train regardless	//of whether the station demands it.        int[] spaceAvailable = this.getSpaceAvailableOnTrain(train);        for (int cargoType = 0; cargoType < spaceAvailable.length;                cargoType++) {            if (spaceAvailable[cargoType] < 0) {                int amount2transfer = -spaceAvailable[cargoType];                transferCargoToStation(cargoType, amount2transfer, trainAfter,                    stationAfter, cargoDroppedOff, stationKey);            }        }	AddTransactionMove payment =	    ProcessCargoAtStationMoveGenerator.processCargo(w,		    cargoDroppedOff, trainKey.principal, stationKey.index,		    stationKey.principal);	ChangeCargoBundleMove changeAtStation = new	    ChangeCargoBundleMove(stationBefore, stationAfter, stationBundleId);	ChangeCargoBundleMove changeOnTrain = new	    ChangeCargoBundleMove(trainBefore, trainAfter, trainBundleId);	moveReceiver.processMove(TransferCargoAtStationMove.generateMove		(changeAtStation, changeOnTrain, payment));    }