public void processEvent(Event event)
    {
        if (event.getType() == Event.COMPLETION_EVENT)
        {
            System.out.println(_className + ": Receive a COMPLETION_EVENT, " + event.getHandle());
            return;
        }

        System.out.println(_className + ".processEvent: Received Item Event...");

        if (event.getType() != Event.OMM_ITEM_EVENT)
        {
            System.out.println("ERROR: " + _className + " Received an unsupported Event type.");
            _sFrame.cleanup(-1);
            return;
        }

        OMMItemEvent ie = (OMMItemEvent)event;
        OMMMsg respMsg = ie.getMsg();

        if (respMsg.getMsgType() == OMMMsg.MsgType.STATUS_RESP)
        {
            // If receive STATUS_RESP, display the message and close the request
            GenericOMMParserI.parse(respMsg, this);
            Handle _handle = ie.getHandle();
            this.closeRequest(_handle);
        }
        else
        {
            // Check if this is from "Chain Subscription" frame
            if (_sFrame._chainFrame)
            {

                if (_sFrame.mmt.equals("MARKET_PRICE"))
                {
                    // Process chain record in MARKET_PRICE model
                    doChainFrame(ie);
                }
                else if (_sFrame.mmt.equals("SYMBOL_LIST"))
                {
                    // Process chain record in SYMBOL_LIST model
                    pSymbolList(ie);
                }
                else
                {
                    _sFrame._output.append("TYPE NOT SUPPORT" + "\n");
                }

            }
            else
            {
                // Process MARKET_PRICE item, parse OMM data
                OMMItemParse(ie);
            }
        }
    }