/// <summary>Process an incoming packet and raise the appropriate events</summary>
/// <param name="sender">The sender</param>
/// <param name="e">The EventArgs object containing the packet data</param>
protected void CoarseLocationHandler(Object sender, final PacketReceivedEventArgs e)
{
CoarseLocationUpdatePacket coarse = (CoarseLocationUpdatePacket)e.getPacket();
// populate a dictionary from the packet, for local use
Map<UUID, Vector3> coarseEntries = new HashMap<UUID, Vector3>();
for (int i = 0; i < coarse.AgentData.length; i++)
{