title: what is the actual difference between Document, BasicDBObject, BsonDocument used in mongo driver api
body: <p>Can anyone please help me understand the difference between</p>
  
  <ol>
  <li><p>Document</p></li>
  <li><p>BasicDBObject</p></li>
  <li><p>BsonDocument</p></li>
  <li><p>BasicDBList</p></li>
  </ol>
  
  <p>used in mongo driver APIs .</p>
  
  <p>I was referring the following document <a href="http://mongodb.github.io/mongo-java-driver/3.2/driver/reference/crud/" rel="nofollow noreferrer">http://mongodb.github.io/mongo-java-driver/3.2/driver/reference/crud/</a>  how ever could not really understand in which scenarios they must be used. Any suggestion ?</p>