public object GetDeserializedObject(object obj, Type targetType)
        {
            mySurrogateProviderIsUsed = true;
            if (obj is NonSerializableTypeSurrogate)
            {
                NonSerializableTypeSurrogate surrogate = (NonSerializableTypeSurrogate)obj;
                return(new NonSerializableType(surrogate.Name, surrogate.Index));
            }

            return(obj);
        }
        public object GetObjectToSerialize(object obj, Type targetType)
        {
            mySurrogateProviderIsUsed = true;
            if (obj is NonSerializableType)
            {
                NonSerializableType          i         = (NonSerializableType)obj;
                NonSerializableTypeSurrogate surrogate = new NonSerializableTypeSurrogate
                {
                    Name  = i.Name,
                    Index = i.Index,
                };

                return(surrogate);
            }

            return(obj);
        }