static DataContractJsonSerializer RecreateDataContractJsonSerializer(DataContractJsonSerializer serializer, string newRootName)
 {
     DataContractJsonSerializerSettings settings = new DataContractJsonSerializerSettings
     {
         RootName = newRootName,
         KnownTypes = serializer.KnownTypes,
         MaxItemsInObjectGraph = serializer.MaxItemsInObjectGraph,
         IgnoreExtensionDataObject = serializer.IgnoreExtensionDataObject,
         DataContractSurrogate = serializer.DataContractSurrogate,
         EmitTypeInformation = serializer.EmitTypeInformation,
         DateTimeFormat = serializer.DateTimeFormat,
         UseSimpleDictionaryFormat = serializer.UseSimpleDictionaryFormat
     };
     return new DataContractJsonSerializer(serializer.GetDeserializeType(), settings);
 }