public int compareTo(BuildingNode o) {
			if (x != o.x) {
				return x - o.x;
			} else if (isLeft != o.isLeft) {
				return isLeft ? 1 : -1;
			} else if (y != o.y) {
				if (isLeft)
					return o.y - y;
				else
					return y - o.y;
			}
			return 0;
		}