private void optimizeTokens() {
		Vector<Token> optimal = new Vector<Token>();
		optim : for (Token token: tokens) {
			if (!optimal.isEmpty())
			for (Token t:optimal) {
				if (token.equals(t))
					continue optim;
			}
			optimal.add(token);
		}
		tokens = optimal;
	}