return EmptyIterator.INSTANCE;
if (g instanceof Polygon) {
Polygon p = (Polygon) g;
pi = new PolygonIterator(p, at, generalize, maxDistance);
} else if (g instanceof GeometryCollection) {
GeometryCollection gc = (GeometryCollection) g;
pi = new GeomCollectionIterator(gc, at, generalize, maxDistance);
} else if (g instanceof LineString || g instanceof LinearRing) {
LineString ls = (LineString) g;
pi = new LineIterator(ls, at, generalize, (float) maxDistance);
} else if (g instanceof Point) {