Bug 93567 ContextInformationPopup leaks CompletionEngines?
N20050503-0010 Yourkit memory snapshot N20050503-0010_1.5.0_20050503-1905.memory on my machine.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/GenericJavaTypeProposal.java
return new TypeArgumentProposal("Object", true, contextName); 
		}
		if (binding.isTypeVariable()) {
			final ITypeBinding[] bounds= binding.getTypeBounds();
			if (bounds.length == 1)
				return new TypeArgumentProposal(bounds[0].getName(), true, name);
			return new TypeArgumentProposal(name, true, name);
		}
		
		return new TypeArgumentProposal(name, false, name);
	}
	/**
	 * Computes one inheritance path from <code>superType</code> to
	 * <code>subType</code> or <code>null</code> if <code>subType</code>
	 * does not inherit from <code>superType</code>. Note that there may be
	 * more than one inheritance path - this method simply returns one.
	 * <p>
	 * The returned array contains <code>superType</code> at its first index,
	 * and <code>subType</code> at its last index. If <code>subType</code>
	 * equals <code>superType</code>, an array of length 1 is returned
	 * containing that type.
	 * </p>
	 *
	 * @param subType the sub type
	 * @param superType the super type
	 * @return an inheritance path from <code>superType</code> to
	 *         <code>subType</code>, or <code>null</code> if
	 *         <code>subType</code> does not inherit from
	 *         <code>superType</code>
	 * @throws JavaModelException