Michael McCandless This patch performs the necessary class rearrangement, but doesn't handle the degenerate cases properly yet.
Please note that I moved the GeoCircle.java class to GeoStandardCircle.java, and then created a new interface called GeoCircle.java. The patch may not therefore apply happily. I've also left a "nocommit" in the GeoCircleFactory class that will need to be addressed. But that is straightforward, and for now we can actually just go ahead and commit, I think, since any improvements will simply make the method "makeGeoCircle()" handle more cases.
There should be no functional changes, just structural ones. Any questions please feel free to ask.