fd.setText(NLS.bind(Messages.XMPPCompoundContributionItem_CHOOSE_FILE, targetID.getName()));
final String res = fd.open();
if (res != null) {
final File aFile = new File(res);
try {
final IFileID targetFileID = FileIDFactory.getDefault().createFileID(fileTransfer.getOutgoingNamespace(), new Object[] {targetID, res});
fileTransfer.sendOutgoingRequest(targetFileID, aFile, new IFileTransferListener() {
public void handleTransferEvent(final IFileTransferEvent event) {
Display.getDefault().asyncExec(new Runnable() {
public void run() {
// XXX This should be handled more