private final List<Fragment> fragments1 = new ArrayList<Fragment>();
private final List<Fragment> fragments2 = new ArrayList<Fragment>();
public FragmentCollection(Polygon r1, Polygon r2) {
if (!r1.isValid() || !r2.isValid()) {
throw new GeometryException();
}
PointLineBag bag = getIntersection(r1, r2);
addPolygon(fragments1, r1, r2, bag);