/**
  * please use #setOrderBy instead
  *
  * @param column
  * @return
  */
 @Deprecated
 public SearchTemplate setOrderBy(String column) {
   int orderBySize = this.orderBys.size();
   if (orderBySize == 0) {
     this.orderBys.add(new OrderBy(column));
   } else if (orderBySize == 1) {
     OrderBy orderBy = this.orderBys.get(0);
     this.orderBys.clear();
     this.orderBys.add(new OrderBy(column, orderBy.getDirection()));
   } else {
     throw new IllegalStateException("Please use addOderBy");
   }
   return this;
 }
 @Override
 public StorageResults visit(OrderBy orderBy) {
   TypedExpression field = orderBy.getExpression();
   if (field instanceof Field) {
     FieldMetadata fieldMetadata = ((Field) field).getFieldMetadata();
     SortField sortField =
         new SortField(
             fieldMetadata.getName(),
             getSortType(fieldMetadata),
             orderBy.getDirection() == OrderBy.Direction.DESC);
     query.setSort(new Sort(sortField));
     return null;
   } else {
     throw new NotImplementedException(
         "No support for order by for full text search on non-field.");
   }
 }