<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def evpn_next_hop_unchanged(self, **kwargs):
 """Configure next hop unchanged for an EVPN neighbor. You probably don't want this method. You probably want to configure an EVPN neighbor using `BGP.neighbor`. That will configure next-hop unchanged automatically. Args: ip_addr (str):
 IP Address of BGP neighbor. rbridge_id (str):
 The rbridge ID of the device on which BGP will be configured in a VCS fabric. delete (bool):
 Deletes the neighbor if `delete` is ``True``. get (bool):
 Get config instead of editing config. (True, False) callback (function):
 A function executed upon completion of the method. The only parameter passed to `callback` will be the ``ElementTree`` `config`. Returns: Return value of `callback`. Raises: None Examples: """

        callback = kwargs.pop('callback', self._callback)
        args = dict(rbridge_id=kwargs.pop('rbridge_id', '1'),
                    evpn_neighbor_ipv4_address=kwargs.pop('ip_addr'))
        next_hop_unchanged = getattr(self._rbridge,
                                     'rbridge_id_router_router_bgp_address_'
                                     'family_l2vpn_evpn_neighbor_evpn_'
                                     'neighbor_ipv4_next_hop_unchanged')
        config = next_hop_unchanged(**args)
        if kwargs.pop('delete', False):
            config.find('.//*next-hop-unchanged').set('operation', 'delete')
        if kwargs.pop('get', False):
            return callback(config, handler='get_config')
        return callback(config)