public override string NewSpatial(CoordinateReferenceSystem crs) { for (int i = 0; i < _coordinateReferenceSystems.Length; i++) { if (_coordinateReferenceSystems[i].Equals(crs)) { int count = Counters[i].incrementAndGet(); if (count > 1) { throw new System.InvalidOperationException("called new on same crs multiple times"); } break; } } return(crs.ToString()); }