public SchemaInfoBuilder(string schemaName, NamedTypeMetaInfo sourceType, IOrderSelector orderSelector, IEnumerable <INamedTypeSymbol> targetTypes) { if (targetTypes is null || targetTypes.Count() == 0) { throw new ArgumentException("A schema must always have a target type to be built to"); } SourceTypeInfo = sourceType; OrderSelector = orderSelector; SchemaName = schemaName; TargetTypes.AddRange(targetTypes); }