title: Implementing proper validation for enumerated objects in Automapper
body: <p>I have an object(DTO) of type <em>T</em> that contains an <strong>IList</strong> of objects <em>T1</em> and so on that have the following stucture:</p>
  <pre><code>public class T
  {
      public IList&lt;T1&gt; SubGroup { get; set; }
  }
  public class T1
  {
      public IList&lt;T2&gt; SubGroup { get; set; }
  }
  public class T2
  {
      public IList&lt;T3&gt; SubGroup { get; set; }
  }
  public class T3
  {
      public int Order{ get; set; }
      public string Data {get; set; }
  }
  </code></pre>
  <p>I want to be able to do some validations when an object of type <em>T</em> is received based on the <em>order</em> attribute, more specifically:</p>
  <ul>
  <li>Make sure that the order is persistent for the whole range of objects, eg (1,2,3,4,5) and not (1,3,4,5)</li>
  <li>Make sure that there are no duplicates, eg (1,2,2,3,4,5) should not be allowed.</li>
  </ul>
  <p>I have very basic notion of <strong>Automapper</strong> and it seems like a &quot;sophisticated&quot; question, is there a way to achieve that in an easy way(instead of writing a &quot;mapper like&quot; utility class)?</p>