Bug 115513 [quick assist] Surround with template
Version: 3.2.0 Build id: I20051102-1600 Surround with template is an enhancement of surround with runnable. It adds logic to the 'surround with' templates. Users can define there own templates to surround code with (i.e. 'surround with ISafeRunnable').
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/QuickAssistProcessor.java
String label= Messages.format(CorrectionMessages.QuickAssistProcessor_createmethodinsuper_description, curr.getName());
						resultingCollections.add(new NewDefiningMethodProposal(label, targetCU, astRoot, typeDecl, binding, paramNames, 6));
					}
				}
			}
		}
		return true;
	}
	private static boolean getConvertForLoopProposal(IInvocationContext context, ASTNode node, ArrayList resultingCollections) throws CoreException {
		ForStatement forStatement= getEnclosingForStatementHeader(node);
		if (forStatement == null)
			return false;
		if (resultingCollections == null)
			return true;
		ConvertForLoopProposal convertForLoopProposal= new ConvertForLoopProposal(
				CorrectionMessages.QuickAssistProcessor_forLoop_description,
				context.getCompilationUnit(),
				forStatement, 1,
				JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_CHANGE));
		if (!convertForLoopProposal.satisfiesPreconditions())
		    return false;
		resultingCollections.add(convertForLoopProposal);
		return true;
	}
	private static boolean getConvertIterableLoopProposal(IInvocationContext context, ASTNode node, ArrayList resultingCollections) throws CoreException {
		ForStatement forStatement= getEnclosingForStatementHeader(node);
		if (forStatement == null)
			return false;
		if (resultingCollections == null)
			return true;