Map params = createParameterMap(args);
Proj4Keyword.checkUnsupported(params.keySet());
DatumParameters datumParam = new DatumParameters();
parseDatum(params, datumParam);
parseEllipsoid(params, datumParam);
Datum datum = datumParam.getDatum();
Ellipsoid ellipsoid = datum.getEllipsoid();
// TODO: this makes a difference - why?
// which is better?
// Ellipsoid ellipsoid = datumParam.getEllipsoid();
Projection proj = parseProjection(params, ellipsoid);
return new CoordinateReferenceSystem(name, args, datum, proj);