title: Autofixture generate collection without duplicates (by ID)
body: <p>I have following classes:</p>
  
  <pre><code>public class Foo
  {
      public List&lt;DescriptionInfo&gt; Descriptions { get; set; }
  }
  
  
  public class DescriptionInfo
  {
      public int LanguageId { get; set; }
      public string Value { get; set; }
  }
  </code></pre>
  
  <p>I want to create Foo instance, using Autofixture. However, the LanguageId must come from a predefined list. Therefore I've created following customization:</p>
  
  <pre><code>public class LanguageIdSpecimenBuilder : ISpecimenBuilder
  {
      private static readonly List&lt;int&gt; LanguageIds = new List&lt;int&gt; {
          1,
          2,
          666,
      };
  
      public object Create(object request, ISpecimenContext context)
      {
          var info = request as PropertyInfo;
          if (info != null)
          {
              if (info.Name == "LanguageID")
              {
                  return LanguageIds.GetRandomElement();
              }
          }
          return new NoSpecimen(request);
      }
  }
  </code></pre>
  
  <p>Now everything is good:</p>
  
  <pre><code>Fixture fixture = new Fixture();
  fixture.Customizations.Add(new LanguageIdSpecimenBuilder());
  var foo = fixture.Create&lt;Foo&gt;(); 
  </code></pre>
  
  <p>However, there is one more requirement: there must be no duplicated entries for one language ID. How can I achieve this?</p>
  
  <p><strong>EDIT:</strong>
  For example, valid instances are:</p>
  
  <pre><code>Foo1:
   - LanguageId: 1, Value: "english description_ae154c"
   - LanguageId: 2, Value: "zuzulu_510b7g"
  
  Foo2:
   - LanguageId: 1, Value: "english description_87f5de"
   - LanguageId: 666, Value: "chinese_35e450"
   - LanguageId: 2, Value: "zuzulu_fe830d"
  </code></pre>
  
  <p>Invalid instance:</p>
  
  <pre><code>Foo1:
   - LanguageId: 1, Value: "_04dcd6"
   - LanguageId: 1, Value: "_66ccc4"
   - LanguageId: 2, Value: "zuzulu_c05b0f"
  </code></pre>