public boolean withdrawChallenge(Challenge c) {
		boolean flag = false;
		Element challengeE = (Element) document
				.selectSingleNode("//challenge[@id='" + c.getId() + "']");
		if (challengeE != null) {
			challengeE.element("dialogState").setText(c.getDialogState());
			// Write to xml
			try {
				XmlUtils.write2Xml(fileName, document);
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			// Copy to public dialog
			ChallengeDao challengeDao = new ChallengeDao(publicFileName);
			if (challengeDao.deleteChallenge(c)) {
				flag = true;
			} else {
				flag = false;
			}
		}
		return flag;
	}