public IJavaCompletionProposal[] getAssists(IAssistContext context, IProblemLocation[] locations) throws CoreException {
public IJavaCompletionProposal[] getAssists(IInvocationContext context, IProblemLocation[] locations) throws CoreException {
	public IJavaCompletionProposal[] getAssists(IAssistContext context, IProblemLocation[] locations) throws CoreException {		try {			ICompilationUnit cu= context.getCompilationUnit();			IDocument document= getDocument(cu);						int offset= context.getSelectionOffset();			int length= context.getSelectionLength();			// test if selection is either a full line or spans over multiple lines			int startLine= document.getLineOfOffset(offset);			int endLine= document.getLineOfOffset(offset + length);			IRegion endLineRegion= document.getLineInformation(endLine);			if (startLine  == endLine) {				if (length == 0 || offset != endLineRegion.getOffset() || length != endLineRegion.getLength()) {					return null;				}			} else {				// expand selection				offset= document.getLineOffset(startLine);				length= endLineRegion.getOffset() + endLineRegion.getLength() - offset;			}			ArrayList resultingCollections= new ArrayList();			collectSurroundTemplates(document, cu, offset, length, resultingCollections);			return (IJavaCompletionProposal[]) resultingCollections.toArray(new IJavaCompletionProposal[resultingCollections.size()]);		} catch (BadLocationException e) {			throw new CoreException(JavaUIStatus.createError(IStatus.ERROR, "", e)); //$NON-NLS-1$		}	}