docs: @Override
      public Object apply(Object value, Object... params) {
  
          if (value == null) {
              return "";
          }
  
          if(!super.isArray(value)) {
              throw new RuntimeException("cannot sort: " + value);
          }
  
          Object[] array = super.asArray(value);
          String property = params.length == 0 ? null : super.asString(params[0]);
  
          List<Comparable> list = asComparableList(array, property);
  
          Collections.sort(list);
  
          return property == null ?
                  list.toArray(new Comparable[list.size()]) :
                  list.toArray(new SortableMap[list.size()]);
      }