public void acceptOffer(Offer offer, News news) {
		sellNeg.remove(offer);
		offer.getBuyer().getTransfer().buyNeg.remove(offer);
		if (offer.isImmediately()) {
			offer.getPlayer().setMinFee(false);
			offer.getPlayer().getMotivation().reset(offer.getPlayer());
			if (offer.getTrade() != null) {
				offer.getTrade().setMinFee(false);
				offer.getTrade().getMotivation().reset(offer.getTrade());
				assert (offer.getPlayer() != offer.getTrade());
				assert (offer.getBuyer() != offer.getSeller());
				offer.getSeller().removePlayer(offer.getPlayer());
				offer.getSeller().addPlayer(offer.getTrade());
				offer.getBuyer().addPlayer(offer.getPlayer());
				offer.getBuyer().removePlayer(offer.getTrade());
				offer.getPlayer().updateCareer(offer.getSeller().getTeamName());
				// update career info of imm.transfer
				offer.getTrade().updateCareer(offer.getBuyer().getTeamName());
				// update career info of imm.transfer
				offer.getPlayer().getContracts().setCurrContr(new Contracts.TContract(
						offer.getBuyer()));
				offer.getPlayer().getContracts().setCurrContrYears(1);
				offer.getTrade().getContracts().setCurrContr(new Contracts.TContract(
						offer.getSeller()));
				offer.getTrade().getContracts().setCurrContrYears(1);
				offer.getPlayer().calcFee(false); // calc new fee after transferring
				offer.getTrade().calcFee(false); // calc new fee after transferring
				String s = news.getTransfers();
				if (offer.getPlayer().isMultipleName()) {
					s += offer.getPlayer().getFirstName();
					s += " ";
				}
				s += offer.getPlayer().getLastName();
				s += Util.getModelResourceBundle().getString("L_OF");
				s += offer.getSeller().getTeamName();
				s += Util.getModelResourceBundle().getString("L_TRADES_WITH");
				if (offer.getTrade().isMultipleName()) {
					s += offer.getTrade().getFirstName();
					s += " ";
				}
				s += offer.getTrade().getLastName();
				s += Util.getModelResourceBundle().getString("L_OF");
				s += offer.getBuyer().getTeamName();
				s += Util.getModelResourceBundle().getString("L_IMMEDIATELY");
				s += "\n";
				news.setTransfers(s);
			} else {
				offer.getPlayer().getContracts().setCurrContr(new Contracts.TContract(
						offer.getBuyer()));
				offer.getPlayer().getContracts().setCurrContrYears(offer.getYears());
				offer.getPlayer().getContracts().setCurrContrWage(offer.getWage());
				offer.getPlayer().calcFee(false); // calc new fee after transferring
				offer.getSeller().removePlayer(offer.getPlayer());
				offer.getBuyer().addPlayer(offer.getPlayer());
				offer.getPlayer().updateCareer(offer.getSeller().getTeamName());
				// update career info of imm.transfer
				int fee = offer.getFee();
				offer.getSeller().getFinances().setTransfer(
						fee * TRANS_IMMEDIATELY_FACTOR, 0);
				offer.getBuyer().getFinances().setTransfer(0,
						fee * TRANS_IMMEDIATELY_FACTOR);
				String s = news.getTransfers();
				if (offer.getPlayer().isMultipleName()) {
					s += offer.getPlayer().getFirstName();
					s += " ";
				}
				s += offer.getPlayer().getLastName();
				s += Util.getModelResourceBundle().getString("L_OF");
				s += offer.getSeller().getTeamName();
				s += Util.getModelResourceBundle().getString("L_SIGNS_AT");
				s += offer.getBuyer().getTeamName();
				s += Util.getModelResourceBundle().getString("L_IMMEDIATELY");
				s += "\n";
				news.setTransfers(s);
			}
		} else {
			offer.getPlayer().getContracts().setNextContr(new Contracts.TContract(
					offer.getBuyer()));
			offer.getPlayer().getContracts().setNextContrYears(offer.getYears());
			offer.getPlayer().getContracts().setNextContrWage(offer.getWage());
			int fee = offer.getFee();
			offer.getSeller().getFinances().setTransfer(fee, 0);
			offer.getBuyer().getFinances().setTransfer(0, fee);
			String s = news.getTransfers();
			if (offer.getPlayer().isMultipleName()) {
				s += offer.getPlayer().getFirstName();
				s += " ";
			}
			s += offer.getPlayer().getLastName();
			s += Util.getModelResourceBundle().getString("L_OF");
			s += offer.getSeller().getTeamName();
			s += Util.getModelResourceBundle().getString("L_SIGNS_AT");
			s += offer.getBuyer().getTeamName();
			s += Util.getModelResourceBundle().getString("L_FOR_NEXT_SEASON");
			s += "\n";
			news.setTransfers(s);
		}
		String s = new String();
		if (offer.getPlayer().isMultipleName()) {
			s += offer.getPlayer().getFirstName();
			s += " ";
		}
		s += offer.getPlayer().getLastName();
		s += " (";
		s += offer.getSeller().getTeamName();
		s += ") ";
		s += Util.getModelResourceBundle().getString("L_ACCEPTS_YOUR_OFFER");
		if (offer.isImmediately()) {
			s += Util.getModelResourceBundle().getString("L_IMMEDIATELY");
		} else {
			s += Util.getModelResourceBundle().getString("L_FOR_NEXT_SEASON");
		}
		offer.getBuyer().getMessages().add(s);
		this.rejectAllOffersOfPlayer(offer.getPlayer());
		if (offer.getTrade() != null) {
			offer.getBuyer().getTransfer().rejectAllOffersOfPlayer(offer.getTrade());
		}
	}