title: JSON. A reference deserializes to null
body: <p>I am using Newtonsoft.json. I can't understand result of a deserialization. Bulletin.PageList is being filled ok. But Page of Question which is referencing to element of PageList is always null. In the JsonSerializerSettings I specified PreserveReferencesHandling.All but it didn't help. Could you help to resolve the problem of null of Page? Thank you</p>
  
  <pre><code>JSON structure:
  
  "Bulletins": [
          {
              "$id": "46b5efa80fe644d7bd525e2c30f5df8a",
              "$type": "Bulletin",
              "JSONNETTYPE": "Bulletin",
              "PagesList": [
                  {
                      "id": "4ed13d727cd144d1acf1e0c9bc273245",
                      "JSONNETTYPE": "PageView",
                      "Number": 1,
                      "Id": "1a2b8ed4249948e194b396c46a5d1eeb",
                      "UiId": "4ed13d727cd144d1acf1e0c9bc273245"
                  }
              ],
              "AgendaQuestions": [
                  {
                      "$id": "eceb6fe6c74a40d59f0673b76bd6dbb3",
                      "$type": "QSimple",
                      "Page": {
                          "$ref": "46b5efa80fe644d7bd525e2c30f5df8a#PagesList.0"
                      }
                  }
               ]
  }]
  </code></pre>
  
  <p>C# structure:</p>
  
  <pre><code>public class Bulletin
      {        
          public Bulletin()
          {                        
          }
  
          public string Dbid { get; set; }
  
          public List&lt;PageView&gt; PagesList;
  
          public List&lt;Question&gt; AgendaQuestions;
    }
  
  public abstract class Question
      {
          protected Question(int number, string customNumberLabel = null)
          {
              Number = number;
              CustomNumberLabel = customNumberLabel;
          }
  
          public int Number { get; set; }
  
          public string CustomNumberLabel { get; set; }
  
          public PageView Page { get; set; }    
  }
  
  public class PageView
      {
          public int Number { get; set; }    
          public string Id { get; set; }    
          public int BulletinNumber { get; set; }    
          public PageView()
          {                
          }       
      }
  var settings = new JsonSerializerSettings
  { PreserveReferencesHandling = PreserveReferencesHandling.All
  </code></pre>
  
  <p>}</p>