Bug 93509 Code assist insert strange import
public class A<LHS, RHS> { LHS lhs; RHS rhs; { A<? extends Object, ? extends Number> a= null; } L<code assist> } - trigger code assist at the location above - select LHS. Observe you get an import on LHS
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/LazyJavaTypeCompletionProposal.java
impStructure= new ImportsStructure(fCompilationUnit, prefOrder, threshold, true);
			}
			boolean importAdded= updateReplacementString(document, trigger, offset, impStructure);
			if (importAdded)
				setCursorPosition(getReplacementString().length());
			super.apply(document, trigger, offset);
			if (importAdded && impStructure != null) {
				int oldLen= document.getLength();
				impStructure.getResultingEdits(document, new NullProgressMonitor()).apply(document, TextEdit.UPDATE_REGIONS);
				setReplacementOffset(getReplacementOffset() + document.getLength() - oldLen);
			}
		} catch (CoreException e) {
			JavaPlugin.log(e);
		} catch (BadLocationException e) {
			JavaPlugin.log(e);
		}
	}
	private boolean allowAddingImports() {
		IPreferenceStore preferenceStore= JavaPlugin.getDefault().getPreferenceStore();
		return preferenceStore.getBoolean(PreferenceConstants.CODEASSIST_ADDIMPORT);
	}
	/*
	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#validate(org.eclipse.jface.text.IDocument, int, org.eclipse.jface.text.DocumentEvent)
	 * see http://dev.eclipse.org/bugs/show_bug.cgi?id=39439
	 */
	public boolean validate(IDocument document, int offset, DocumentEvent event) {
		boolean isValid= super.validate(document, offset, event);
		if (isValid)
			return true;
		return