/// <inheritdoc />
        public override void WriteJson(JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)
        {
            Guid id = Guid.Empty;

            if (value is SceneGraphNode obj)
            {
                id = obj.ID;
            }

            writer.WriteValue(id.ToString("N"));
        }
        /// <inheritdoc />
        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, Newtonsoft.Json.JsonSerializer serializer)
        {
            if (reader.TokenType == JsonToken.String)
            {
                var id = Guid.Parse((string)reader.Value);
                return(SceneGraphFactory.FindNode(id));
            }

            return(null);
        }