if (datas.isEmpty()) return;
	private void doCutCopyWithImportsOperation() {		ITextEditor editor= getTextEditor();		IJavaElement inputElement= (IJavaElement) editor.getEditorInput().getAdapter(IJavaElement.class);		ISelection selection= editor.getSelectionProvider().getSelection();				Object clipboardData= null;		if (inputElement != null && selection instanceof ITextSelection && !selection.isEmpty()) {			ITextSelection textSelection= (ITextSelection) selection;			if (isNonTrivialSelection(textSelection)) {				clipboardData= getClipboardData(inputElement, textSelection.getOffset(), textSelection.getLength());			}		}				fOperationTarget.doOperation(fOperationCode);				if (clipboardData != null) {			Clipboard clipboard= new Clipboard(getDisplay());			try {				// see bug 61876, I currently make assumptions about what the styled text widget sets				Object textData= clipboard.getContents(TextTransfer.getInstance());				Object rtfData= clipboard.getContents(RTFTransfer.getInstance());								ArrayList datas= new ArrayList(3);				ArrayList transfers= new ArrayList(3);				if (textData != null) {					datas.add(textData);					transfers.add(TextTransfer.getInstance());				}				if (rtfData != null) {					datas.add(rtfData);					transfers.add(RTFTransfer.getInstance());				}				datas.add(clipboardData);				transfers.add(fgTransferInstance);					Transfer[] dataTypes= (Transfer[]) transfers.toArray(new Transfer[transfers.size()]);				Object[] data= datas.toArray();				setClipboardContents(clipboard, data, dataTypes);			} finally {				clipboard.dispose();			}		}	}