I wan to allow user to draw a new area (Area class), add to it and subtract from it, whether from the edge or from the inside of the area (e.g. make holes in it). But the problem is that user may subtract from area, make a hole in it using rectangle tool, in such way (edge-to-edge) that the resulting area may be broken into 2 separated areas. It is still one Area object, but consisting of 2 filled subareas and invisible area between them. How could I prevent that? I jus want to have single filled area at any moment; holes are permited.