private static final void parseAggregateHeader(OMMData data, PrintStream ps, int tabLevel)
    {
        dumpIndent(ps, tabLevel);
        short dataType = data.getType();
        ps.println(OMMTypes.toString(dataType));
        switch (dataType)
        {
            case OMMTypes.FIELD_LIST:
            {
                // set DICTIONARY to the dictId for this field list
                OMMFieldList fieldList = (OMMFieldList)data;
                int dictId = fieldList.getDictId();
                CURRENT_DICTIONARY = getDictionary(dictId);
            }
                break;
            case OMMTypes.SERIES:
            {
                OMMSeries s = (OMMSeries)data;
                if (s.has(OMMSeries.HAS_SUMMARY_DATA))
                {
                    dumpIndent(ps, tabLevel + 1);
                    ps.println("SUMMARY");
                    parseData(s.getSummaryData(), ps, tabLevel + 1);
                }
                if (s.has(OMMSeries.HAS_DATA_DEFINITIONS))
                {
                    dumpIndent(ps, tabLevel + 1);
                    short dbtype = s.getDataType() == OMMTypes.FIELD_LIST ? OMMTypes.FIELD_LIST_DEF_DB
                            : OMMTypes.ELEMENT_LIST_DEF_DB;
                    parseDataDefinition(s.getDataDefs(), dbtype, ps, tabLevel + 1);
                }
            }
                break;
            case OMMTypes.MAP:
            {
                OMMMap s = (OMMMap)data;
                if (s.has(OMMMap.HAS_SUMMARY_DATA))
                {
                    dumpIndent(ps, tabLevel + 1);
                    ps.println("SUMMARY");
                    parseData(s.getSummaryData(), ps, tabLevel + 1);
                }
            }
                break;
            case OMMTypes.VECTOR:
            {
                OMMVector s = (OMMVector)data;
                if (s.has(OMMVector.HAS_SUMMARY_DATA))
                {
                    dumpIndent(ps, tabLevel + 1);
                    ps.println("SUMMARY");
                    parseData(s.getSummaryData(), ps, tabLevel + 1);
                }
            }
                break;
        }
    }