void processItemResponseMessage(Event event)
    {
        String itemName = (String)_itemHandles.get(event.getHandle());

        OMMItemEvent ie = (OMMItemEvent)event;
        OMMMsg ommMsg = ie.getMsg();
        short ommMsgType = ommMsg.getMsgType();
        String ommMsgTypeStr = OMMMsg.MsgType.toString((byte)ommMsgType);
        System.out.println("<-- " + _className + "Received for " + itemName + " "
                + event.toString() + " " + ommMsgTypeStr);

        GenericOMMParser.parse(ommMsg);

        byte messageType = ommMsg.getMsgType();
        switch (messageType)
        {
            case OMMMsg.MsgType.ACK_RESP:
            {
                _mainApp.processAckResponse(_className, ommMsg);
                break;
            }

            case OMMMsg.MsgType.REFRESH_RESP:
            {
                _itemRefreshCount++;
                System.out.println(INFO_APPNAME + "Received Item Refresh " + _itemRefreshCount
                        + " for Item " + itemName);

                if( ommMsg.has(OMMMsg.HAS_PERMISSION_DATA) )
                {
                	byte[] permLock = ommMsg.getPermissionData();
                	_itemLocks.put( event.getHandle(), permLock );        	
                }
                
                // if configured, send posts after item streams are open
                if ((_bSendPostAfterItemOpen_ip == true) && (_itemRefreshCount == _itemOpenCount))
                {
                    System.out.println(INFO_APPNAME
                                    + "All "
                                    + _itemOpenCount
                                    + " item(s) are opened; Starting to do Posts, based on configuration in "
                                    + APPNAME);
                    // slow down for service to come up
                    ExampleUtil.slowDown(1000);
                    sendPosts();
                }

                break;
            }

            case OMMMsg.MsgType.UPDATE_RESP:
            {
                break;
            }

            case OMMMsg.MsgType.STATUS_RESP:
            {
                _mainApp.processStatusResponse(_className, ommMsg);
                break;
            }

            default:
                System.out.println(_className + ": Received Item Response - "
                        + OMMMsg.MsgType.toString(ommMsg.getMsgType()));
                break;
        }

    }