Bug 99995 [code assist] Code Assist for parameterized anonymous types: overridden methods for raw, not parameterized
I20050610-1757 (3.1RC2) public class Anon { void test() { new java.util.ArrayList<Integer>() } } Invoke content assist after 'ArrayList<Integer>(' and choose the anonymous. -> The methods to be overridden are constructed for a raw ArrayList (they have their 'E's replaced by 'Object' instead of 'Integer').
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/AnonymousTypeCompletionProposal.java
StringBuffer buf= new StringBuffer("new A("); 
		buf.append(replacementString);
		if (!replacementString.endsWith(")")) { 
			buf.append(')');
		}
		if (!createStubs(buf, impStructure)) {
			return false;
		}
		if (document.getChar(offset) != ')')
			buf.append(';');
		
		String lineDelim= TextUtilities.getDefaultLineDelimiter(document);
		final IJavaProject project= fCompilationUnit.getJavaProject();
		IRegion region= document.getLineInformationOfOffset(getReplacementOffset());
		int indent= Strings.computeIndentUnits(document.get(region.getOffset(), region.getLength()), project);
		String replacement= CodeFormatterUtil.format(CodeFormatter.K_EXPRESSION, buf.toString(), 0, null, lineDelim, fDeclaringType.getJavaProject());
		replacement= Strings.changeIndent(replacement, 0, project, CodeFormatterUtil.createIndentString(indent, project), lineDelim);
		setReplacementString(replacement.substring(replacement.indexOf('(') + 1));
		int pos= offset;
		while (pos < document.getLength() && Character.isWhitespace(document.getChar(pos))) {
			pos++;
		}
		if (pos < document.getLength() && document.getChar(pos) == ')') {
			setReplacementLength(pos - offset + 1);
		}
		return true;
	}
}