Client.assets.registerOnXferReceived(xferCallback);
// Start the actual asset xfer
xferID[0] = Client.assets.RequestAssetXfer(filename[0], true, false, UUID.Zero, AssetType.Unknown, true);
if (taskDownloadEvent.waitOne(timeoutMS))
{
Client.assets.unregisterOnXferReceived(xferCallback);
String taskList = Utils.bytesWithTrailingNullByteToString(assetData[0]);
return ParseTaskInventory(taskList);