Bug 40381 NPE in LinkedCorrectionProposal
M2 testing java.lang.NullPointerException at org.eclipse.jdt.internal.ui.text.correction.LinkedCorrectionProposal$LinkedModeProposal.getDisplayString(LinkedCorrectionProposal.java:205) at org.eclipse.jdt.internal.ui.text.java.JavaCompletionProposalComparator.compare(JavaCompletionProposalComparator.java:43) at java.util.Arrays.mergeSort(Arrays.java:1237) at java.util.Arrays.sort(Arrays.java:1227) at org.eclipse.jdt.internal.ui.text.correction.LinkedCorrectionProposal.getLinkedModeProposals(LinkedCorrectionProposal.java:101) at org.eclipse.jdt.internal.ui.text.correction.CUCorrectionProposal.enterLinkedMode(CUCorrectionProposal.java:256) at org.eclipse.jdt.internal.ui.text.correction.CUCorrectionProposal.apply(CUCorrectionProposal.java:233) at org.eclipse.jface.text.contentassist.CompletionProposalPopup.insertProposal(CompletionProposalPopup.java:328) at org.eclipse.jface.text.contentassist.CompletionProposalPopup.selectProposalWithMask(CompletionProposalPopup.java:292) at org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$17(CompletionProposalPopup.java:288) at org.eclipse.jface.text.contentassist.CompletionProposalPopup$4.widgetDefaultSelected(CompletionProposalPopup.java:259) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:96) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:848) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2188) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1878) at org.eclipse.ui.internal.Workbench.runEventLoop(Unknown Source) at org.eclipse.ui.internal.Workbench.run(Unknown Source) at org.eclipse.core.internal.boot.InternalBootLoader.run(Unknown Source) at org.eclipse.core.boot.BootLoader.run(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.eclipse.core.launcher.Main.basicRun(Unknown Source) at org.eclipse.core.launcher.Main.run(Unknown Source)
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/LinkedCorrectionProposal.java
if (fLinkedPositions == null) {
			fLinkedPositions= new ArrayList();
		}
		if (isFirst) {
			fLinkedPositions.add(0, description);
		} else {
			fLinkedPositions.add(description);
		}
		return description;
	}
	
	public void setSelectionDescription(GroupDescription desc) {
		fSelectionDescription= desc;
	}
	
	public static class LinkedModeProposal implements IJavaCompletionProposal, ICompletionProposalExtension2 {
		private String fProposal;
		private ITypeBinding fTypeProposal;
		private ICompilationUnit fCompilationUnit;
		public LinkedModeProposal(String proposal) {
			fProposal= proposal;
		}
	
		public LinkedModeProposal(ICompilationUnit unit, ITypeBinding typeProposal) {
			this(typeProposal.getName());
			fTypeProposal= typeProposal;
			fCompilationUnit= unit;
		}
	
		private ImportsStructure getImportStructure() throws CoreException {