code: private IStatus performFileDrop(CommonDropAdapter anAdapter, Object data) {
  		MultiStatus problems = new MultiStatus(PlatformUI.PLUGIN_ID, 0,
  				WorkbenchNavigatorMessages.DropAdapter_problemImporting, null);
  		mergeStatus(problems,
  				validateTarget(anAdapter.getCurrentTarget(), anAdapter
  						.getCurrentTransfer(), anAdapter.getCurrentOperation()));
  
  		IContainer target = null;
  
  		if (anAdapter.getCurrentTarget() instanceof IVdmContainer) {
  			target = ((IVdmContainer) anAdapter.getCurrentTarget())
  					.getContainer();
  		} else {
  			target = getActualTarget((IResource) anAdapter.getCurrentTarget());
  		}
  		
  		final IContainer ftarget =  target;
  		final String[] names = (String[]) data;
  		// Run the import operation asynchronously.
  		// Otherwise the drag source (e.g., Windows Explorer) will be blocked
  		// while the operation executes. Fixes bug 16478.
  		Display.getCurrent().asyncExec(new Runnable() {
  			public void run() {
  				getShell().forceActive();
  				CopyFilesAndFoldersOperation operation = new CopyFilesAndFoldersOperation(
  						getShell());
  				operation.copyFiles(names, ftarget);
  			}
  		});
  		return problems;
  	}
docs: Performs a drop using the FileTransfer transfer type.