public final void removalTask() {
	try {
	    if (!player.getAllBuffs().isEmpty()) {
		player.cancelAllBuffs_();
	    }
	    if (!player.getAllDiseases().isEmpty()) {
		player.dispelAllDebuffs();
	    }
	    if (player.getTrade() != null) {
		MapleTrade.cancelTrade(player.getTrade());
	    }
	    NPCScriptManager.getInstance().dispose(this);

	    if (player.getEventInstance() != null) {
		player.getEventInstance().playerDisconnected(player);
	    }
	    player.getCheatTracker().dispose();
	    if (player.getMap() != null) {
		player.getMap().removePlayer(player);
	    }

	    final IMaplePlayerShop shop = player.getPlayerShop();
	    if (shop != null) {
		shop.removeVisitor(player);
		if (shop.isOwner(player)) {
		    shop.setOpen(true);
		}
	    }
	} catch (final Throwable e) {
	    FileoutputUtil.outputFileError(FileoutputUtil.Acc_Stuck, e);
	}
    }