<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def new_method_call(celf, destination, path, iface, method) :
        "creates a new DBUS.MESSAGE_TYPE_METHOD_CALL message."
        result = dbus.dbus_message_new_method_call \
          (
            (lambda : None, lambda : destination.encode())[destination != None](),
            path.encode(),
            (lambda : None, lambda : iface.encode())[iface != None](),
            method.encode(),
          )
        if result == None :
            raise CallFailed("dbus_message_new_method_call")
        #end if
        return \
            celf(result)