void extractSummaryData(OMMData summaryData)
    {
        if (summaryData.getType() == OMMTypes.FIELD_LIST)
        {
            OMMFieldList fldList = (OMMFieldList)summaryData;

            // *_log<<"Summary Data:"<<endl;

            String currency = null, exchId = null, trdUnits = null, mktState = null;

            for (Iterator iter = ((OMMIterable)fldList).iterator(); iter.hasNext();)
            {
                OMMFieldEntry field = (OMMFieldEntry)iter.next();
                FidDef fiddef = _dataDict.getFidDef(field.getFieldId());

                if (fiddef == null)
                    continue;

                OMMData data = field.getData(fiddef.getOMMType());
                switch (field.getFieldId())
                {
                    case CURRENCY:
                        currency = _dataDict.expandedValueFor(CURRENCY, ((OMMEnum)data).getValue());
                        break;

                    case TRD_UNITS:
                        trdUnits = _dataDict.expandedValueFor(TRD_UNITS, ((OMMEnum)data).getValue());
                        break;

                    case RDN_EXCH:
                        exchId = _dataDict.expandedValueFor(RDN_EXCH, ((OMMEnum)data).getValue());
                        break;

                    case MKT_STATE:
                        mktState = _dataDict.expandedValueFor(MKT_STATE, ((OMMEnum)data).getValue());
                        break;

                    default:
                        break;
                }
            }

            // *_log<<endl;

            myCallback.processSummary(currency, trdUnits, exchId, mktState);

        }
    }