public void Save(Stream stream)
{
Guard.NotNull(stream, nameof(stream));
var textWriter = new JsonTextWriter(new StreamWriter(stream));
JsonSerializer serializer = this.CreateSerializer();
// Send a copy of the entries to the serializer because the collection can be modified during serialization.
serializer.Serialize(textWriter, this.entries.ToList());
textWriter.Flush();
}