title: NHibernate: "collection was not processed by flush()" caused by lazy loading issue
body: <p>I have two classes:</p>
  
  <pre><code>class Parent
  {
      public virtual Child Child { get; set; }
  }
  
  class Child 
  {
      public virtual IList&lt;GrandChild&gt; GrandChildren { get; set; }
  }
  </code></pre>
  
  <p>I have an instance of <code>Parent</code> loaded from my <code>ISession</code>, <code>Parent.Child</code> is lazy loaded (NOT loaded at this point). Child.GrandChildren is also lazy loaded.</p>
  
  <p>If I do this:</p>
  
  <pre><code>session.Save(new Parent { Child = existingParent.Child } );
  </code></pre>
  
  <p>I get <code>collection [Child.GrandChildren] was not processed by flush()</code></p>
  
  <p>If I cause <code>existingParent</code>'s <code>Child</code> property to be loaded, simply by accessing it:</p>
  
  <pre><code>var x = existingParent.Child.Name
  </code></pre>
  
  <p>the problem goes away. Why is this happening, and how do I solve it - preferably without having to change my fetching strategy?</p>
  
  <p>**Edit: ** Parent has a FK to Child</p>
  
  <p>I'm using NH 2.1.2.4000</p>
  
  <p>Thanks</p>