def publishMap(self, maps_info, fsInfo=None, itInfo=None):
        """Publishes a list of maps.
        
        Args:
            maps_info (list): A list of JSON configuration maps to publish.
        
        Returns:
            list: A list of results from :py:meth:`arcrest.manageorg._content.UserItem.updateItem`.
            
        """
        if self.securityhandler is None:
            print ("Security handler required")
            return
        itemInfo = None
        itemId = None
        map_results = None
        replaceInfo = None
        replaceItem = None
        map_info = None
        admin = None
        try:
            admin = arcrest.manageorg.Administration(securityHandler=self._securityHandler)
            map_results = []
            for map_info in maps_info:
                itemInfo = {}

                if 'ReplaceInfo' in map_info:
                    replaceInfo = map_info['ReplaceInfo']
                else:
                    replaceInfo = None


                if replaceInfo != None:

                    for replaceItem in replaceInfo:
                        if replaceItem['ReplaceType'] == 'Layer':

                            if fsInfo is not None:

                                for fs in fsInfo:
                                    if fs is not None and replaceItem['ReplaceString'] == fs['ReplaceTag']:
                                        replaceItem['ReplaceString'] = fs['FSInfo']['url']
                                        replaceItem['ItemID'] = fs['FSInfo']['itemId']
                                        replaceItem['ItemFolder'] = fs['FSInfo']['folderId']
                                        if 'convertCase' in fs['FSInfo']:
                                            replaceItem['convertCase'] = fs['FSInfo']['convertCase']
                                    elif 'ItemID' in replaceItem:
                                        if 'ItemFolder' in replaceItem == False:

                                            itemId = replaceItem['ItemID']
                                            itemInfo = admin.content.getItem(itemId=itemId)
                                            if itemInfo.owner:
                                                if itemInfo.owner == self._securityHandler.username and itemInfo.ownerFolder:
                                                    replaceItem['ItemFolder'] = itemInfo.ownerFolder
                                                else:
                                                    replaceItem['ItemFolder'] = None
                        elif replaceItem['ReplaceType'] == 'Global':

                            if itInfo is not None:

                                for itm in itInfo:
                                    if itm is not None:

                                        if replaceItem['ReplaceString'] == itm['ReplaceTag']:
                                            if 'ItemInfo' in itm:
                                                if 'url' in itm['ItemInfo']:
                                                    replaceItem['ReplaceString'] = itm['ItemInfo']['url']


                if 'ReplaceTag' in map_info:

                    itemInfo = {"ReplaceTag":map_info['ReplaceTag'] }
                else:
                    itemInfo = {"ReplaceTag":"{WebMap}" }

                itemInfo['MapInfo']  = self._publishMap(config=map_info,
                                                   replaceInfo=replaceInfo)
                map_results.append(itemInfo)
                print ("%s webmap created" % itemInfo['MapInfo']['Name'])
            return map_results

        except common.ArcRestHelperError as e:
            raise e
        except Exception as e:

            line, filename, synerror = trace()
            raise common.ArcRestHelperError({
                 "function": "publishMap",
                 "line": line,
                 "filename":  filename,
                 "synerror": synerror,
            })
        finally:
            itemInfo = None
            itemId = None
            replaceInfo = None
            replaceItem = None
            map_info = None
            admin = None

            del itemInfo
            del itemId
            del replaceInfo
            del replaceItem
            del map_info
            del admin

            gc.collect()
Publishes a list of maps.
        
        Args:
            maps_info (list): A list of JSON configuration maps to publish.
        
        Returns:
            list: A list of results from :py:meth:`arcrest.manageorg._content.UserItem.updateItem`.