/// <summary>
 /// Deserializes an object from a BSON byte array.
 /// </summary>
 /// <param name="bytes">The BSON byte array.</param>
 /// <param name="nominalType">The nominal type of the object.</param>
 /// <param name="configurator">The configurator.</param>
 /// <returns>An object.</returns>
 public static object Deserialize(byte[] bytes, Type nominalType, Action <BsonDeserializationContext.Builder> configurator = null)
 {
     using (var memoryStream = new BsonMemoryStream(bytes))
     {
         return(Deserialize(memoryStream, nominalType, configurator));
     }
 }
 /// <summary>
 /// Deserializes an object from a BSON byte array.
 /// </summary>
 /// <typeparam name="TNominalType">The nominal type of the object.</typeparam>
 /// <param name="bytes">The BSON byte array.</param>
 /// <param name="configurator">The configurator.</param>
 /// <returns>A TNominalType.</returns>
 public static TNominalType Deserialize <TNominalType>(byte[] bytes, Action <BsonDeserializationContext.Builder> configurator = null)
 {
     using (var memoryStream = new BsonMemoryStream(bytes))
     {
         return(Deserialize <TNominalType>(memoryStream, configurator));
     }
 }