private void decodeMapEntry(String serviceName, OMMMapEntry mapEntry)
    {
        OMMFilterList serviceFilterList = (OMMFilterList)(mapEntry.getData());
        for (Iterator<?> filter = serviceFilterList.iterator(); filter.hasNext();)
        {
            OMMFilterEntry serviceFilterEntry = (OMMFilterEntry)filter.next();
            switch (serviceFilterEntry.getFilterId())
            {
                case RDMService.FilterId.INFO:
                {
                    if (serviceFilterEntry.getDataType() == OMMTypes.ELEMENT_LIST)
                    {
                        decodeInfo(serviceName, serviceFilterEntry);
                    }
                    else
                    {
                        System.out.println(_instanceName + " Expected ELEMENT_LIST");
                    }
                }
                    break;
                case RDMService.FilterId.STATE:
                {
                    if (serviceFilterEntry.getDataType() == OMMTypes.ELEMENT_LIST)
                    {
                        decodeState(serviceName, serviceFilterEntry);
                    }
                    else
                    {
                        System.out.println(_instanceName + " Expected ELEMENT_LIST");
                    }
                }
                    break;
                case RDMService.FilterId.GROUP:
                {
                    if (serviceFilterEntry.getDataType() == OMMTypes.ELEMENT_LIST)
                    {
                        decodeGroup(serviceName, serviceFilterEntry);
                    }
                    else
                    {
                        System.out.println(_instanceName + " Expected ELEMENT_LIST");
                    }
                }
                    break;
            }
        }

    }