<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def _process_config_with_kind(self, raw_conf):
        '''Use this to decide which format is called for by the kind.

        NOTE, order matters since subsequent conditions are not evaluated is an
        earlier condition is met.  In the some cases, e.g. a kind contains both
        "stats" and "state", this will become an issue.
        '''
        kind = raw_conf[u"kind"]
        org_match = re.match(self.OC_pattern, kind)
        if org_match:
            return self._format_org_collection(org_match, kind, raw_conf)
        elif 'collectionstate' in kind:
            return self._format_collection(kind, raw_conf)
        elif kind.endswith('stats'):
            return self._format_stats(kind, raw_conf)
        elif kind.endswith('state'):
            return self._format_resource(kind, raw_conf)