code: @Override
      public DBCursor cursor(DBCollection dbCollection) {
          logger.debug("Executing {} for {} cursor", delegate, dbCollection.getFullName());
  
          DBCursor dbCursor = delegate.cursor(dbCollection);
  
          if (logger.isDebugEnabled()) {
              StringBuilder sb = new StringBuilder();
              DBObject plan = dbCursor.explain();
  
              sb.append("MongoDB query plan:\n");
              sb.append("\tcursor = \"").append(plan.get("cursor")).append("\"\n");
              sb.append("\tnscanned = \"").append(plan.get("nscanned")).append("\"\n");
              sb.append("\tn = \"").append(plan.get("n")).append("\"\n");
              sb.append("\tmillis = \"").append(plan.get("millis")).append("\"\n");
  
              logger.debug(sb.toString());
          }
  
          return dbCursor;
      }
docs: -------------------------------------------------------------