private void setSection(Section s, boolean back) {
	if (!back && section != null && section != s)
	    sectionStack.push(section);
	if (back) {
	    if (!sectionStack.isEmpty())
		sectionStack.pop();
	    else {
		Client.instance.setGuiScreen(last);
		try {
		    Client.instance.preferences.write(new FileWriter("preferences.json"));
		} catch (IOException e1) {
		    System.err.println("Unable to save preferences");
		}
		return;
	    }
	}
	section = s;
	controlList.clear();
	switch (s) {
	case MAIN:
	    controlList.add(videoButton);
	    controlList.add(languageButton);
	    controlList.add(gameButton);
	    break;
	case VIDEO:
	    controlList.add(videoVsyncButton);
	    controlList.add(videoFullscreenButton);
	    break;
	case LANGUAGE:
	    languageButtons.clear();
	    Map<String, String> languages = new Gson().fromJson(new InputStreamReader(GuiOptions.class.getResourceAsStream("/lang/languages.json")), new TypeToken<Map<String, String>>() {
	    }.getType());
	    int i = 0x100;
	    for (Map.Entry<String, String> e : languages.entrySet()) {
		GuiButton button = new GuiButton(this, i, 0, 0, e.getValue()).setTranslate(false).setTextData(e.getKey());
		languageButtons.add(button);
		if (e.getKey().equals(Client.instance.preferences.language))
		    button.setEnabled(false);
	    }
	    controlList.addAll(languageButtons);
	    break;
	case GAME:
	    controlList.add(gameArrowButton);
	    controlList.add(gameZoomButton);
	    break;
	case ARROWS:
	    arrowButtons.clear();
	    int arrows = 0;
	    try {
		arrows = Utils.getResourceListing(GuiOptions.class.getClassLoader(), "/textures/arrow_").size();
	    } catch (Exception e1) {
		e1.printStackTrace();
	    }
	    for (int j = 0; j < arrows; j++) {
		GuiButton button = new GuiButton(this, j, 0, 0, null);
		button.setTexture(StandardTexture.get("arrow_" + j));
		arrowButtons.add(button);
		if (j == Client.instance.preferences.game.arrow)
		    button.setEnabled(false);
	    }
	    controlList.addAll(arrowButtons);
	    break;
	}
	controlList.add(backButton);
    }