driver-legacy/src/main/com/mongodb/DBCollection.java
@Nullable
    public DBObject findAndModify(@Nullable final DBObject query, @Nullable final DBObject sort, final DBObject update) {
        return findAndModify(query, null, sort, false, update, false, false);
    }
@Nullable
    public DBObject findAndModify(@Nullable final DBObject query, @Nullable final DBObject sort, final DBObject update) {
        return findAndModify(query, null, sort, false, update, false, false);
    }
@ Nullable public DBObject findAndModify ( @ Nullable final DBObject query , @ Nullable final DBObject sort , final DBObject update ) { return findAndModify ( query , null , sort , false , update , false , false ) ; }
Atomically modify and return a single document. By default, the returned document does not include the modifications made on the
update.

@param query  specifies the selection criteria for the modification
@param sort   determines which document the operation will modify if the query selects multiple documents
@param update the modifications to apply
@return pre-modification document
@throws WriteConcernException if the write failed due some other failure specific to the update command
@throws MongoException if the operation failed for some other reason
@mongodb.driver.manual reference/command/findAndModify/ Find and Modify
Atomically modify and return a single document . By default the returned document does not include the modifications made on the update .