public Block block() {
		Node p = this;

		while (p != null) {
			if (p instanceof Tree) {
				return ((Tree) p).block();
			}

			p = p.parent;
		}

		throw new RuntimeException(this + " is not in a block");
	}