docs: private static Bson createDateFilter(String mongoDbField, List<String> dateValues, ComparisonOperator comparator,
                                           QueryParam.Type type) {
          Bson filter = null;
  
          Object date = null;
          if (QueryParam.Type.DATE.equals(type)) {
              date = convertStringToDate(dateValues.get(0));
          } else if (QueryParam.Type.TIMESTAMP.equals(type)) {
              date = convertStringToDate(dateValues.get(0)).getTime();
          }
  
          if (date != null) {
              switch (comparator) {
                  case BETWEEN:
                      if (dateValues.size() == 2) {
                          Date to = convertStringToDate(dateValues.get(1));
  
                          if (QueryParam.Type.DATE.equals(type)) {
                              filter = new Document(mongoDbField, new Document()
                                      .append("$gte", date)
                                      .append("$lt", to));
                          } else if (QueryParam.Type.TIMESTAMP.equals(type)) {
                              filter = new Document(mongoDbField, new Document()
                                      .append("$gte", date)
                                      .append("$lt", to.getTime()));
                          }
                      }
                      break;
                  case EQUALS:
                      filter = Filters.eq(mongoDbField, date);
                      break;
                  case GREATER_THAN:
                      filter = Filters.gt(mongoDbField, date);
                      break;
                  case GREATER_THAN_EQUAL:
                      filter = Filters.gte(mongoDbField, date);
                      break;
                  case LESS_THAN:
                      filter = Filters.lt(mongoDbField, date);
                      break;
                  case LESS_THAN_EQUAL:
                      filter = Filters.lte(mongoDbField, date);
                      break;
                  default:
                      break;
              }
          }
  
          return filter;
      }