def METHOD_NAME(cls, json: JSON) -> MajorGuidedElectiveRequirement:
    """
    {
        "required_count": 3,
        "starts_with": "CS 43",
        "also_fulfills": [
            {
                "matcher": "CourseRequirement",
                "course": "EE 4325"
            },
            {
                "matcher": "CourseRequirement",
                "course": "SE 4351"
            }
        ]
    """
    also_fulfills: list[AbstractRequirement] = []
    for requirement in json["also_fulfills"]:
        also_fulfills.append(
            map.REQUIREMENTS_MAP[requirement["matcher"]].METHOD_NAME(requirement)
        )
    return cls(
        json["required_count"], json["starts_with"], also_fulfills, json["metadata"]
    )