code: public final DBCursor<T> find(DBObject query, DBObject keys) {
          return new DBCursor<T>(this, dbCollection.find(serializeFields(query), keys));
      }
docs: Queries for an object in this collection.
  <p/>
  <p>
  An empty DBObject will match every document in the collection.
  Regardless of fields specified, the _id fields are always returned.
  </p>
  <p>
  An example that returns the "x" and "_id" fields for every document
  in the collection that has an "x" field:
  </p>
  <blockquote><pre>
  BasicDBObject keys = new BasicDBObject();
  keys.put("x", 1);
  <p/>
  DBCursor cursor = collection.find(new BasicDBObject(), keys);
  </pre></blockquote>
  
  @param query object for which to search
  @param keys  fields to return
  @return a cursor to iterate over results