<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _collect_parameters(parameter_names, args, kwargs, defaults):
 """Creates a dictionary mapping parameters names to their values in the method call. :param parameter_names: The method's parameter names :type parameter_names: list[string] :param args: *args passed into the method :type args: list[object] :param kwargs: **kwargs passed into the method :type kwargs: dict[string, object] :param defaults: The method's default values :type defaults: list[object] :return: Dictionary mapping parameter names to values :rtype: dict[string, object] """

        parameters = {}
        if defaults is not None:
            zipped_defaults = zip(reversed(parameter_names), reversed(defaults))
            for name, default in zipped_defaults:
                parameters[name] = default
        for name, value in zip(parameter_names, args):
            parameters[name] = value
        for name, value in kwargs.items():
            parameters[name] = value
        return parameters