public BsonDocument getDocument(final Object key, final BsonDocument defaultValue) {
        if (!containsKey(key)) {
            return defaultValue;
        }
        return get(key).asDocument();
    }
public BsonDocument getDocument(final Object key, final BsonDocument defaultValue) {
        if (!containsKey(key)) {
            return defaultValue;
        }
        return get(key).asDocument();
    }
public BsonDocument getDocument ( final Object key , final BsonDocument defaultValue ) { if ( ! containsKey ( key ) ) { return defaultValue ; } return get ( key ) . asDocument ( ) ; }
If the document does not contain the given key, return the given default value.  Otherwise, gets the value of the key as a
BsonDocument.

@param key the key
@param defaultValue the default value
@return the value of the key as a BsonDocument
@throws org.bson.BsonInvalidOperationException if the document contains the key but the value is not of the expected type
If the document does not contain the given key return the given default value . Otherwise gets the value of the key as a BsonDocument .