<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_receiver(self, receiver=None, plugin=None):
 """ Get one or more receivers. :param receiver: Name of the signal :type receiver: str :param plugin: Plugin object, under which the signals where registered :type plugin: GwBasePattern """

        if plugin is not None:
            if receiver is None:
                receiver_list = {}
                for key in self.receivers.keys():
                    if self.receivers[key].plugin == plugin:
                        receiver_list[key] = self.receivers[key]
                return receiver_list
            else:
                if receiver in self.receivers.keys():
                    if self.receivers[receiver].plugin == plugin:
                        return self.receivers[receiver]
                    else:
                        return None
                else:
                    return None
        else:
            if receiver is None:
                return self.receivers
            else:
                if receiver in self.receivers.keys():
                    return self.receivers[receiver]
                else:
                    return None