Bug 109041 [implementation] Occurrence finders should not compute current node each time
I20050906-1200 This is a minor performance improvement item: currently each occurrence finder computes the node at the caret location via NodeFinder. It would be more efficient to compute the node once and initialize each occurrence finder with that node.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/search/BreakContinueTargetFinder.java
private ASTNode fSelected;
	private boolean fIsBreak;
	private SimpleName fLabel;
	private String fContents;
	private static final Class[] STOPPERS=        {MethodDeclaration.class, Initializer.class};
	private static final Class[] BREAKTARGETS=    {ForStatement.class, EnhancedForStatement.class, WhileStatement.class, DoStatement.class, SwitchStatement.class};
	private static final Class[] CONTINUETARGETS= {ForStatement.class, EnhancedForStatement.class, WhileStatement.class, DoStatement.class};
	private static final int BRACE_LENGTH= 1;
	/*
	 * Initializes the finder. Returns error message or <code>null</code> if everything is OK.
	 */
	public String initialize(CompilationUnit root, int offset, int length) {
		ASTNode controlNode= getBreakOrContinueNode(NodeFinder.perform(root, offset, length));
		if (controlNode != null){
			fContents= getContents(root);
			if (fContents == null)
				return SearchMessages.BreakContinueTargetFinder_cannot_highlight;
			fSelected= controlNode;