@classmethod
def _populate_questions(cls, group, code_map, questions):
    'Recursively populate questions under this group.'
    if group.question:
        for question in group.question:
            if (question.linkId and question.concept and (len(question.concept) == 1)):
                concept = question.concept[0]
                if (concept.system and concept.code and (concept.system != PPI_EXTRA_SYSTEM)):
                    code_map[(concept.system, concept.code)] = (concept.display, CodeType.QUESTION, None)
                    questions.append((concept.system, concept.code, question.linkId, question.repeats))
            if question.group:
                for sub_group in question.group:
                    cls._populate_questions(sub_group, code_map, questions)
            if question.option:
                for option in question.option:
                    code_map[(option.system, option.code)] = (option.display, CodeType.ANSWER, None)
    if group.group:
        for sub_group in group.group:
            cls._populate_questions(sub_group, code_map, questions)
Recursively populate questions under this group.
@classmethod
def _populate_questions(cls, group, code_map, questions):
    
    if group.question:
        for question in group.question:
            if (question.linkId and question.concept and (len(question.concept) == 1)):
                concept = question.concept[0]
                if (concept.system and concept.code and (concept.system != PPI_EXTRA_SYSTEM)):
                    code_map[(concept.system, concept.code)] = (concept.display, CodeType.QUESTION, None)
                    questions.append((concept.system, concept.code, question.linkId, question.repeats))
            if question.group:
                for sub_group in question.group:
                    cls._populate_questions(sub_group, code_map, questions)
            if question.option:
                for option in question.option:
                    code_map[(option.system, option.code)] = (option.display, CodeType.ANSWER, None)
    if group.group:
        for sub_group in group.group:
            cls._populate_questions(sub_group, code_map, questions)