int documentOffset= quickAssistContext.getSelectionOffset();
int documentOffset= quickAssistContext.getOffset();
	public ICompletionProposal[] computeQuickAssistProposals(IQuickAssistInvocationContext quickAssistContext) {		ITextViewer viewer= quickAssistContext.getTextViewer();		int documentOffset= quickAssistContext.getSelectionOffset();				IEditorPart part= fAssistant.getEditor();		ICompilationUnit cu= JavaUI.getWorkingCopyManager().getWorkingCopy(part.getEditorInput());		IAnnotationModel model= JavaUI.getDocumentProvider().getAnnotationModel(part.getEditorInput());				int length= viewer != null ? viewer.getSelectedRange().y : 0;		AssistContext context= new AssistContext(cu, documentOffset, length);		Annotation[] annotations= fAssistant.getAnnotationsAtOffset();				fErrorMessage= null;				ICompletionProposal[] res= null;		if (model != null && annotations != null) {			ArrayList proposals= new ArrayList(10);			IStatus status= collectProposals(context, model, annotations, true, !fAssistant.isUpdatedOffset(), proposals);			res= (ICompletionProposal[]) proposals.toArray(new ICompletionProposal[proposals.size()]);			if (!status.isOK()) {				fErrorMessage= status.getMessage();				JavaPlugin.log(status);			}		}				if (res == null || res.length == 0) {			return new ICompletionProposal[] { new ChangeCorrectionProposal(CorrectionMessages.NoCorrectionProposal_description, null, 0, null) };		}		if (res.length > 1) {			Arrays.sort(res, new CompletionProposalComparator());		}		return res;	}