def METHOD_NAME(cls, context: ControlContext) -> ControlContext:
    """Create a deep clone of the context without duplicating large objects."""
    new_context = cls(
        context.purpose,
        context.to_markdown,
        context.trestle_root,
        context.md_root,
        context.prompt_responses,
        context.overwrite_header_values,
        context.set_parameters_flag,
        cli_yaml_header=copy.deepcopy(context.cli_yaml_header),
        sections_dict=copy.deepcopy(context.sections_dict),
        profile=context.profile,
        required_sections=context.required_sections,
        allowed_sections=context.allowed_sections,
        comp_def=context.comp_def,
        comp_name=context.comp_name,
        component=context.component,
        comp_def_name_list=context.comp_def_name_list,
        inherited_props=copy.deepcopy(context.inherited_props),
        rules_dict=copy.deepcopy(context.rules_dict),
        rules_params_dict=copy.deepcopy(context.rules_params_dict),
        control_implementation=copy.deepcopy(context.control_implementation),
        uri_name_map=context.uri_name_map,
        comp_dict=copy.deepcopy(context.comp_dict),
        merged_header=copy.deepcopy(context.merged_header)
    )
    return new_context