public final Quiz parse() throws IOException {
		Quiz q = new Quiz();
		BufferedReader bR = new BufferedReader(fileToParse);
		String parsedQ, response, points;
		String tmp = getSomeFromFile(bR, '<', '>');
		ParserQuestion parserQuestion;
		ParserAnswer parserAnswer;
		Question question;
		Text text;

		if (tmp.contains("quiz")) {
			q.setDisplay(getParam(tmp, "display", "simple"));
			q.setShuffle(getParam(tmp, "shuffle", "none"));
			if (tmp.contains("points")) {
				points = getSomeFromString(
						tmp.substring(tmp.indexOf("points")), '"', '"');
				q.setPointGood(parseFloat(points, '"', '/'));
				q.setPointBad(parseFloat(points, '/', '!'));
			}

			parsedQ = getSomeFromFileWithDuplicate(bR, '{', '}', true);

			while (!parsedQ.equals("")) {
				parserQuestion = new ParserQuestion(parsedQ);
				if (parserQuestion.isQuestion()) {
					question = (Question) parserQuestion.parse();
					if (!question.getClass().equals(QuestionOpen.class)) {
						// Question simple ou question multiple
						response = getSomeFromFileWithLineJump(bR, (char) 0);
						if (response.contains("</quiz")) {
							response = response.substring(0,
									response.indexOf("</quiz>"));
						}
						parserAnswer = new ParserAnswer(response,
								question.isMultipleResponse());

						for (Answer a : parserAnswer
								.parseClassic((QuestionClassic) question)) {
							((QuestionClassic) question).add(a);
						}
					} else { // Question ouverte
						response = getSomeFromFileWithLineJump(bR, (char) 0);
						if (response.contains("</quiz")) {
							response = response.substring(0,
									response.indexOf("</quiz>"));
						}
						parserAnswer = new ParserAnswer(response,
								question.isMultipleResponse());
						for (Text a : parserAnswer.parseOpen()) {
							((QuestionOpen) question).add(a);
						}

					}

					q.add(question);
				} else {
					text = parserQuestion.parse();
					q.add(text);
				}
				parsedQ = getSomeFromFileWithDuplicate(bR, '{', '}', true);
			}
		} else {
			return null;
		}

		return q;
	}