public FrameArea union(FrameArea other) {
		if (other == null) {
			return this;
		}
		
		int union_min_x = getMinX() < other.getMinX() ? getMinX() : other.getMinX();
		int union_min_y = getMinY() < other.getMinY() ? getMinY() : other.getMinY();
		int union_max_x = getMaxX() > other.getMaxX() ? getMaxX() : other.getMaxX();
		int union_max_y = getMaxY() > other.getMaxY() ? getMaxY() : other.getMaxY();
		
		return new FrameArea(union_min_x, union_min_y, union_max_x, union_max_y);
	}