code: public BsonNumber getNumber(final Object key, final BsonNumber defaultValue) {
          if (!containsKey(key)) {
              return defaultValue;
          }
          return get(key).asNumber();
      }
docs: If the document does not contain the given key, return the given default value.  Otherwise, gets the value of the key as a
  BsonNumber.
  
  @param key the key
  @param defaultValue the default value
  @return the value of the key as a BsonNumber
  @throws org.bson.BsonInvalidOperationException if the document contains the key but the value is not of the expected type