private Tree consumeOne() {
		Tree token = (Tree) this.stream.LT(1);

		if (token == null) {
			return null;
		}

		if (token.getType() == Token.EOF) {
			return null;
		}

		if (token.getType() == Token.UP && this.depth == this.limit) {
			if (DEBUG) {
				System.out.println(this.depth
						+ ": Consume at end of current limit.");
			}

			return null;
		}

		this.stream.consume();

		if (token.getType() == Token.DOWN) {
			this.depth += 1;

		} else if (token.getType() == Token.UP) {
			this.depth -= 1;
		}

		return token;
	}