If the destination node is null then the agent should remain at its current node.
The identifier must be serializable and should be immutable.
An agent can only pass a RemoveTicket to "dispatch(..)" if the agent is the one moving.
If the destination node is null then the agent should remain at its current node. This is is useful for a "force-restart".
The identifier must be serializable and should be immutable. A UID is a good identifier.
An agent can only pass a RemoveTicket to "dispatch(..)" if the agent is the one moving. Aside from this sanity check, tagging the ticket with the agent address aids debugging.
If the agent is null then the caller of the MobilityService is assumed.