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);
 }
 public static SchemaInfoBuilder CreateBuilder(string schemaName, NamedTypeMetaInfo type, IOrderSelector orderSelector, IEnumerable <INamedTypeSymbol> targetTypes) => new SchemaInfoBuilder(schemaName, type, orderSelector, targetTypes);
 public static SchemaInfoBuilder CreateBuilder(string schemaName, NamedTypeMetaInfo type, IOrderSelector orderSelector, params INamedTypeSymbol[] targetTypes) => new SchemaInfoBuilder(schemaName, type, orderSelector, targetTypes);
 public SchemaInfoBuilder(string schemaName, NamedTypeMetaInfo sourceType, IOrderSelector orderSelector, params INamedTypeSymbol[] targetTypes)
     : this(schemaName, sourceType, orderSelector, targetTypes.AsEnumerable())
 {
 }