def METHOD_NAME(self) -> List[Output]:
    """
    Detects passing of arrays located in memory to functions which expect to modify arrays via storage reference.
    :return: The JSON results of the detector, which contains the calling_node, affected_argument_variable and
    invoked_function for each result found.
    """
    results = []
    array_modifying_funcs = self.get_funcs_modifying_array_params(self.contracts)
    problematic_calls = self.detect_calls_passing_ref_to_function(
        self.contracts, array_modifying_funcs
    )
    if problematic_calls:
        for calling_node, affected_argument, invoked_function in problematic_calls:
            info: DETECTOR_INFO = [
                calling_node.function,
                " passes array ",
                affected_argument,
                " by reference to ",
                invoked_function,
                " which only takes arrays by value\n",
            ]
            res = self.generate_result(info)
            results.append(res)
    return results