internal static JumpListArguments DeserializeArguments(string json)
        {
            // Support for backwards compatibility from v0.5
            if (json.Contains("||"))
            {
                var parts = json.Split(new[] { "||" }, StringSplitOptions.RemoveEmptyEntries);
                return(new JumpListArguments(parts[0], parts[1]));
            }

            var args = new JumpListArguments();

            using (var ms = new MemoryStream(Encoding.UTF8.GetBytes(json)))
            {
                var ser = new DataContractJsonSerializer(args.GetType());
                args = ser.ReadObject(ms) as JumpListArguments;
                return(args);
            }
        }