private void leave(String exitString) {
		/* look for a matching context */
		int i;
		if (exitString.equals("")) {
			i = 0;
		} else {
			for (i = contexts.size() - 1; i >= 0; --i) {
				String context = contexts.get(i);
				if (context.equals(exitString))
					break;
			}
			if (i < 0) {
				System.err.println("Warning: No matching opening tag for '"
						+ exitString + "'");
				System.err.println("Context: " + str);
				return;
			}
		}

		/* close all surrounding contexts */
		while (contexts.size() > i) {
			String tag = contexts.pop();
			String tex = texContexts.pop();
			if (i < contexts.size()) {
				System.err
						.println("Warning: Missing closing tag '" + tag + "'");
				System.err.println("Context: " + str);
			}
			ret.append(tex);
		}
	}