public override void WriteJson(DNJ.JsonWriter writer, object value, DNJ.JsonSerializer serializer)
        {
            var client = (SpeckleApiClient)value;

            //cannot remove auth token from saved files as below since this method gets triggered
            //also when moving the node on the canvas etc...
            //client.AuthToken = "";

            using (var input = new MemoryStream())
            {
                var formatter = new BinaryFormatter();
                formatter.Serialize(input, client);
                input.Seek(0, SeekOrigin.Begin);

                using (MemoryStream output = new MemoryStream())
                    using (DeflateStream deflateStream = new DeflateStream(output, CompressionMode.Compress))
                    {
                        input.CopyTo(deflateStream);
                        deflateStream.Close();

                        writer.WriteValue(output.ToArray());
                    }
            }
        }
        public override object ReadJson(DNJ.JsonReader reader, Type objectType, object existingValue, DNJ.JsonSerializer serializer)
        {
            // Fixes https://github.com/speckleworks/SpeckleDynamo/issues/61
            SpeckleCore.SpeckleInitializer.Initialize();
            // Carry on as usual (NOTE: we need to clean this up)
            SpeckleApiClient client = null;
            var obj = DNJ.Linq.JValue.Load(reader);

            try
            {
                var bytes = (byte[])obj;

                if (bytes != null)
                {
                    using (MemoryStream input = new MemoryStream(bytes))
                        using (DeflateStream deflateStream = new DeflateStream(input, CompressionMode.Decompress))
                            using (MemoryStream output = new MemoryStream())
                            {
                                deflateStream.CopyTo(output);
                                deflateStream.Close();
                                output.Seek(0, SeekOrigin.Begin);

                                BinaryFormatter bformatter = new BinaryFormatter();
                                client            = (SpeckleApiClient)bformatter.Deserialize(output);
                                client.ClientType = "Dynamo";
                            }
                }
            }
            catch  {
                // null/empty receiver
            }
            return(client);
        }