'first readUint64()
size() readUint32()
id() readUint32()
getGeomapp0ingPath() readString()
allCells.size() readString()
first readUint64()
"CellAppCID" : [], "SpacesSize" :[], "SpaceID" : [],"SpacePath":[], "ScriptModuleName":[],"SpacePathSize" :[], "CELL_ID" : []'

def onSpaceViewerMsg(self, streamReader):

    componentType = streamReader.readInt32()
    componentID = streamReader.readInt64()
    _d = {'ComponentType': componentType, 'ComponentID': componentID, 'cellapp': {}}
    cellapps = _d['cellapp']
    while (not streamReader.EOF()):
        CellAppCID = streamReader.readUint64()
        SpacesSize = streamReader.readUint32()
        cellapps[('%s' % CellAppCID)] = cellapp = {'SpacesSize': SpacesSize, 'SpaceID': {}}
        for i in range(0, SpacesSize):
            SpaceID = streamReader.readUint32()
            SpacePath = streamReader.readString()
            ScriptModuleName = streamReader.readString()
            SpaceCellSize = streamReader.readUint32()
            cellapp['SpaceID'][('%s' % SpaceID)] = space = {'CELL_ID': []}
            space['SpacePath'] = SpacePath
            space['ScriptModuleName'] = ScriptModuleName
            for j in range(SpaceCellSize):
                CELL_ID = streamReader.readUint32()
                space['CELL_ID'].append(CELL_ID)
    self.SpaceViewerData = _d
