/// <summary>
 /// Reads a BSON Double from the reader.
 /// </summary>
 /// <returns>A Double.</returns>
 public override double ReadDouble()
 {
     if (disposed)
     {
         ThrowObjectDisposedException();
     }
     VerifyBsonType("ReadDouble", BsonType.Double);
     state = GetNextState();
     return(buffer.ReadDouble());
 }