* @param amount The amount of goods that was traded.
     * @param random A <code>Random</code> number source.
     */
    private void propagateToEuropeanMarkets(GoodsType type, int amount,
                                            Random random) {
        if (!type.isStorable()) return;

        // Propagate 5-30% of the original change.
        final int lowerBound = 5; // TODO: make into game option?
        final int upperBound = 30;// TODO: make into game option?
        amount *= Utils.randomInt(logger, "Propagate goods", random,
                                  upperBound - lowerBound + 1) + lowerBound;
        amount /= 100;
        if (amount == 0) return;

        // Do not need to update the clients here, these changes happen
        // while it is not their turn.
        for (Player other : getGame().getLiveEuropeanPlayers()) {
            Market market;
            if ((ServerPlayer) other != this
                && (market = other.getMarket()) != null) {
                market.addGoodsToMarket(type, amount);
            }
        }
    }