code: private IStatus performResourceCopy(CommonDropAdapter dropAdapter,
  			Shell shell, IResource[] sources) {
  		MultiStatus problems = new MultiStatus(PlatformUI.PLUGIN_ID, 1,
  				WorkbenchNavigatorMessages.DropAdapter_problemsMoving, null);
  		mergeStatus(problems, validateTarget(dropAdapter.getCurrentTarget(),
  				dropAdapter.getCurrentTransfer(), dropAdapter
  						.getCurrentOperation()));
  		IContainer target = null;
  
  		if (dropAdapter.getCurrentTarget() instanceof IVdmContainer) {
  			target = ((IVdmContainer) dropAdapter.getCurrentTarget())
  					.getContainer();
  		} else {
  			target = getActualTarget((IResource) dropAdapter.getCurrentTarget());
  		}
  		CopyFilesAndFoldersOperation operation = new CopyFilesAndFoldersOperation(
  				shell);
  		operation.copyResources(sources, target);
  
  		return problems;
  	}
docs: Performs a resource copy