protected override JsonObjectContract CreateObjectContract(Type type)
{
JsonObjectContract contract = base.CreateObjectContract(type);
// Handling [Serializable] types
if (type.IsSerializable && !IsTypeNullable(type) && !IsTypeJsonObject(type))
{
contract.Properties.Clear();
foreach (JsonProperty property in CreateSerializableJsonProperties(type))
{
contract.Properties.Add(property);
}
}
return contract;
}