/// <summary>
 /// Configures a JsonSerializer used in a given connection to include types names when the declared type of an
 /// object is different from the actual type.
 /// </summary>
 /// <param name="connection">A given connection.</param>
 public static void ConfigureJsonSerializer(Connection connection)
 {
     object settingsObj;
     if (connection.GetProperty("JsonSerializerSettings", out settingsObj))
     {
         JsonSerializerSettings settings = settingsObj as JsonSerializerSettings;
         if (settings != null)
         {
             settings.TypeNameHandling = TypeNameHandling.Auto;
             connection.SetProperty("JsonSerializerSettings", settings);
         }
     }
 }