Encapsulating Complicated Geometric Shapes
An Example of a Complicated Shape

In order to work in Java 1.5, this implementation uses the GeneralPath class rather than the Path2D class.