IReferenceResolver
Used to resolve references when serializing and deserializing JSON by the  JsonSerializer.
            
                namespace Newtonsoft.Json.Serialization
{
    public interface IReferenceResolver
    {
        object ResolveReference(object context, string reference);
        string GetReference(object context, object value);
        bool IsReferenced(object context, object value);
        void AddReference(object context, string reference, object value);
    }
}