public IssueRepository([NotNull] IssueRowWriter rowWriter, [NotNull] IEnumerable <IssueFeatureWriter> featureWriters, [NotNull] IIssueTableFields fields, [NotNull] IFeatureWorkspace featureWorkspace) { Assert.ArgumentNotNull(rowWriter, nameof(rowWriter)); Assert.ArgumentNotNull(featureWriters, nameof(featureWriters)); Assert.ArgumentNotNull(fields, nameof(fields)); Assert.ArgumentNotNull(featureWorkspace, nameof(featureWorkspace)); FeatureWorkspace = featureWorkspace; _rowWriter = rowWriter; _featureWriters = featureWriters.ToList(); _issueWritersByGeometryType = GetIssueWritersByGeometryType(rowWriter, _featureWriters); _issueDatasets = GetIssueDatasets(rowWriter, _featureWriters, fields); if (_featureWriters.Count > 0) { _spatialReference = SpatialReferenceUtils.GetUniqueSpatialReference( GetSpatialReferences(_featureWriters), comparePrecisionAndTolerance: true, compareVerticalCoordinateSystems: true); } }