code: protected void _writeStartObject(boolean array) throws IOException {
  		_writeArrayFieldNameIfNeeded();
  		if (_currentDocument != null) {
  			//embedded document/array
  			_buffer.putByte(_typeMarker, array ? BsonConstants.TYPE_ARRAY :
  				BsonConstants.TYPE_DOCUMENT);
  		}
  		_currentDocument = new DocumentInfo(_currentDocument, _buffer.size(), array);
  		reserveHeader();
  	}
docs: Creates a new embedded document or array
  @param array true if the embedded object is an array
  @throws IOException if the document could not be created