Bug 52361 [templates] linked mode not exited / annotations not redrawn when inserting anonymous completion
M7 0. Auto-closed parenthesis on 1. Insert this code: import java.lang.Runnable; void m() { method(<caret> } -> closing parenthesis gets inserted -> linked mode entered 2. type "new Runnable(" -> nested linked mode is entered for second parenthesis, also autoclosed 3. use code completion to complete the anonymous type -> you end up with this code: void m() { method(new Runnable() { public void run() { } }) } -> Linked mode is still drawn 4. Press <Tab> or <Enter> -> linked mode is not exited -> annotations keep being drawn The only way to get away with the annotations is to open a new parenthesis somewhere outside the initial code.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/link/LinkedUIControl.java
event.doit= false;
					break;
				
				case 0x0A:
				
				case 0x0D:
					if (fAssistant != null && fAssistant.wasProposalChosen()) {
						
						next();
						event.doit= false;
						break;
					} else if ((fExitPosition != null && fExitPosition.includes(offset)) || !fEnvironment.anyPositionContains(offset)) {
						
						leave(ILinkedListener.EXIT_ALL);
						break;
					} else {
						
						leave(ILinkedListener.EXIT_ALL | ILinkedListener.UPDATE_CARET);
						event.doit= false;
						break;
					}
				
				case 0x1B:
					
					leave(ILinkedListener.EXIT_ALL);
					event.doit= false;
					break;
				default:
					if (event.character != 0) {
						if (!controlUndoBehavior(offset, length)) {