/// <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 TransferPacketHandler(Object sender, PacketReceivedEventArgs e) throws InterruptedException
{
TransferPacketPacket asset = (TransferPacketPacket)e.getPacket();
Transfer transfer;
AssetDownload download;
if ((transfer = Transfers.get(asset.TransferData.TransferID))!=null)
{