code: @Nullable
      public DBObject findAndModify(@Nullable final DBObject query, @Nullable final DBObject sort, final DBObject update) {
          return findAndModify(query, null, sort, false, update, false, false);
      }
docs: 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