@Override
	public int compareTo(Point that) {
		if (this.x == that.x && this.z == that.z) {
			return 0;
		}

		if (this.x == that.x) {
			if (this.z < that.z) {
				return -1;
			}

			return +1;
		}

		if (this.x < that.x) {
			return -1;
		}

		return 1;

	}