<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def start_udp_server(self, ip, port, name=None, timeout=None, protocol=None, family='ipv4'):
 """Starts a new UDP server to given `ip` and `port`. Server can be given a `name`, default `timeout` and a `protocol`. `family` can be either ipv4 (default) or ipv6. Examples: | Start UDP server | 10.10.10.2 | 53 | | Start UDP server | 10.10.10.2 | 53 | Server1 | | Start UDP server | 10.10.10.2 | 53 | name=Server1 | protocol=GTPV2 | | Start UDP server | 10.10.10.2 | 53 | timeout=5 | | Start UDP server | 0:0:0:0:0:0:0:1 | 53 | family=ipv6 | """

        self._start_server(UDPServer, ip, port, name, timeout, protocol, family)