result.add(new ChangeCorrectionProposal("To clipboard in buf.append()", null, 3, image) {
result.add(new ChangeCorrectionProposal("Wrap in buf.append() (to clipboard)", null, 3, image) {
	private boolean getStringWrappedProposal(final IInvocationContext context, List result) throws CoreException {		int selectionOffset= context.getSelectionOffset();		int selectionLength= context.getSelectionLength();		ITextFileBufferManager textFileBufferManager= FileBuffers.getTextFileBufferManager();		IPath path= context.getCompilationUnit().getPath();				try {			textFileBufferManager.connect(path, null);			IDocument document= textFileBufferManager.getTextFileBuffer(path).getDocument();			int startLine= document.getLineOfOffset(selectionOffset);			int endLine= document.getLineOfOffset(selectionOffset + selectionLength);									if (startLine == endLine) {				return false;			}			if (result == null) {				return true;			}			Image image= JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_CHANGE);			result.add(new ChangeCorrectionProposal("To clipboard in buf.append()", null, 3, image) {				/* (non-Javadoc)				 * @see org.eclipse.jdt.internal.ui.text.correction.ChangeCorrectionProposal#performChange(org.eclipse.ui.IEditorPart, org.eclipse.jface.text.IDocument)				 */				protected void performChange(IEditorPart activeEditor, IDocument doc) throws CoreException {					wrapAndCopyToClipboard(context, doc);					super.performChange(activeEditor, doc);				}			});		} catch (BadLocationException e) {			return false;		} finally {			textFileBufferManager.disconnect(path, null);		}		return true;	}