<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def choice(self, subscribers, message):
 """ Choose a random connection, favoring those that are reliable from subscriber pool to deliver specified message. @param subscribers: Collection of subscribed connections to destination. @type subscribers: C{list} of L{coilmq.server.StompConnection} @param message: The message to be delivered. @type message: L{stompclient.frame.Frame} @return: A random subscriber from the list or None if list is empty. @rtype: L{coilmq.server.StompConnection} """

        if not subscribers:
            return None
        reliable_subscribers = [
            s for s in subscribers if s.reliable_subscriber]
        if reliable_subscribers:
            return random.choice(reliable_subscribers)
        else:
            return random.choice(subscribers)