Bug 89551 [content assist] Order of completion proposals does not seem correct
build I20050329-2000 1) create p/ZZZ.java package p; public class ZZZ {} 2) create q/X.java package q; public class X { void zzz() { zz<<cursor>> } } 3) do ctrl+space at <<curosr>> location ZZZ is the first proposal and zzz() the second. But in this case zzz() should be the best proposal.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/GenericJavaTypeProposal.java
super.apply(document, trigger, offset);
			return;
		}
		
		int[] offsets= new int[typeArgumentNames.length];
		int[] lengths= new int[typeArgumentNames.length];
		StringBuffer buffer= createParameterList(typeArgumentNames, offsets, lengths);
		
		super.setReplacementString(buffer.toString());
		
		super.apply(document, trigger, offset);
		if (fTextViewer != null) {
			String replacementString= getReplacementString();
			int delta= buffer.length() - replacementString.length(); 
			for (int i= 0; i < offsets.length; i++) {
				offsets[i]-= delta;
			}
			installLinkedMode(document, offsets, lengths);
		}
	}
	
	private CharSequence[] computeTypeArgumentNames() throws IllegalArgumentException {
		char[] signature= fProposal.getSignature();
		char[][] typeArguments= Signature.getTypeArguments(signature);
		String[] typeArgumentNames;
		
		if (typeArguments.length > 0) {
			typeArgumentNames= new String[typeArguments.length];
			for (int i= 0; i < typeArguments.length; i++) {
				typeArgumentNames[i]= String.valueOf(Signature.getSignatureSimpleName(typeArguments[i]));