<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _warnCount(self, warnings, warningCount=None):
 """ Calculate the count of each warning, being given a list of them. @param warnings: L{list} of L{dict}s that come from L{tools.parsePyLintWarnings}. @param warningCount: A L{dict} produced by this method previously, if you are adding to the warnings. @return: L{dict} of L{dict}s for the warnings. """

        if not warningCount:
            warningCount = {}

        for warning in warnings:
            wID = warning["warning_id"]
            if not warningCount.get(wID):
                warningCount[wID] = {}
                warningCount[wID]["count"] = 1
                warningCount[wID]["message"] = warning.get("warning_message")
            else:
                warningCount[wID]["count"] += 1

        return warningCount