Template[] templates= Templates.getInstance().getTemplates();
	public void complete(ITextViewer viewer, int completionPosition, ICompilationUnit sourceUnit)		throws JavaModelException	{	    IDocument document= viewer.getDocument();	    		// prohibit recursion		if (LinkedPositionManager.hasActiveManager(document))			return;		JavaContext context= new JavaContext(fContextType, document.get(), completionPosition, sourceUnit);		Template[] templates= Templates.getInstance().getTemplates();		int start= context.getStart();		int end= context.getEnd();		IRegion region= new Region(start, end - start);		for (int i= 0; i != templates.length; i++)			if (context.canEvaluate(templates[i]))				fProposals.add(new TemplateProposal(templates[i], context, region, viewer, fLabelProvider.getColumnImage(templates[i], 0)));	}