docs: @Override
      public void loadFromJSONObject(JSONObject jobj, Database db)
              throws JSONException {
          helpLoadFromJSONObject(jobj, db);
          JSONArray jarray = jobj.getJSONArray( Members.AGGREGATE_COLUMNS.name() );
          int size = jarray.length();
          for (int i = 0; i < size; i++) {
              // We only expect one of these for now.
              assert(i == 0);
              JSONObject tempObj = jarray.getJSONObject( i );
              m_aggregateTypes.add( ExpressionType.get( tempObj.getString( Members.AGGREGATE_TYPE.name() )));
              m_aggregateOutputColumns.add( tempObj.getInt( Members.AGGREGATE_OUTPUT_COLUMN.name() ));
              m_aggregateExpressions.add(
                      AbstractExpression.loadFromJSONArrayChild(null,
                                                                tempObj,
                                                                Members.AGGREGATE_EXPRESSIONS.name(),
                                                                null));
          }
          m_partitionByExpressions
                  = AbstractExpression.loadFromJSONArrayChild(null,
                                                              jobj,
                                                              Members.PARTITIONBY_EXPRESSIONS.name(),
                                                              null);
          m_orderByExpressions = new ArrayList<>();
          AbstractExpression.loadSortListFromJSONArray(m_orderByExpressions,
                                                       null,
                                                       jobj);
      }