def METHOD_NAME(self, content):
    if len(content) <= 1:
        raise SkipComponent("Empty content")
    group = ''
    data = {}
    for line in content:
        line = line.strip()
        if not group and ":" in line and not line.endswith(':'):
            key, val = [i.strip() for i in line.split(':', 1)]
            data[key] = val
        elif line.startswith(("/usr/share/foreman#default", "/etc/puppet/rack#default")):
            # set the group which the following pid will belong to
            group = line.strip(':').split('/')[-1].replace('#', '_')
            data[group] = group_list = {}
        elif group:
            if line.startswith(("* PID:", "CPU")):
                if line.strip().startswith("* PID:"):
                    p_dict = {}
                    if 'p_list' not in group_list:
                        group_list['p_list'] = []
                    group_list['p_list'].append(p_dict)
                l = line.lstrip('* ')
                # parse each key: value pair
                while (':' in l and l.index(':') != l.rindex(':')):
                    k, l = [i.strip() for i in l.split(':', 1)]
                    v, l = [i.strip() for i in l.split(None, 1)]
                    p_dict[k] = v
                # for the last key: value pair
                if l and ':' in l:
                    k, v = [i.strip() for i in l.split(':')]
                    p_dict[k] = v
            elif ':' in line:
                key, val = [i.strip() for i in line.split(':', 1)]
                group_list[key] = val
    if not data:
        raise SkipComponent("No useful data")
    self.update(data)