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
*/
	private IType[] computeInheritancePath(IType subType, IType superType) throws JavaModelException {
		if (superType == null)
			return null;
		
		if (superType.equals(subType))
			return new IType[] { subType };
		ITypeHierarchy hierarchy= subType.newSupertypeHierarchy(getProgressMonitor());
		if (!hierarchy.contains(superType))
			return null; 
		List path= new LinkedList();
		path.add(superType);
		do {
			
			superType= hierarchy.getSubtypes(superType)[0];
			path.add(superType);
		} while (!superType.equals(subType)); 
		return (IType[]) path.toArray(new IType[path.size()]);
	}
	private NullProgressMonitor getProgressMonitor() {
		return new NullProgressMonitor();
	}
	/**
	 * For the type parameter at <code>paramIndex</code> in the type at
	 * <code>path[pathIndex]</code>, this method computes the corresponding
	 * type parameter index in the type at <code>path[0]</code>. If the type
	 * parameter does not map to a type parameter of the super type,
	 * <code>-1</code> is returned.
	 *
	 * @param path the type inheritance path, a non-empty array of consecutive