docs: public static void loadSortListFromJSONArray(
              List<AbstractExpression> sortExpressions,
              List<SortDirectionType> sortDirections,
              JSONObject jobj) throws JSONException {
          if (jobj.has(SortMembers.SORT_COLUMNS)) {
              sortExpressions.clear();
              if (sortDirections != null) {
                  sortDirections.clear();
              }
              JSONArray jarray = jobj.getJSONArray(SortMembers.SORT_COLUMNS);
              int size = jarray.length();
              for (int ii = 0; ii < size; ++ii) {
                  JSONObject tempObj = jarray.getJSONObject(ii);
                  sortExpressions.add(
                          fromJSONChild(tempObj, SortMembers.SORT_EXPRESSION));
                  if (sortDirections == null ||
                          ! tempObj.has(SortMembers.SORT_DIRECTION)) {
                      continue;
                  }
                  String sdAsString = tempObj.getString(SortMembers.SORT_DIRECTION);
                  sortDirections.add(SortDirectionType.get(sdAsString));
              }
          }
          assert(sortDirections == null || sortExpressions.size() == sortDirections.size());
      }