Bug 79790 [1.5][search] Need to distinguish between raw and restricted search in the case of instantiated types
I20041130 Code select now return a special IJavaElement when resolving code list List<String>. If we hand such an element over to the search engine we need means to distinguish between searches for List and searches for List<String>. One idea is to add additional flags to SearchPattern.
org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/TestSearchEngine.java
try {
			for (int i= 0; i < nElements; i++) {
				try {
					collectTypes(elements[i], new SubProgressMonitor(pm, 1), result);
				} catch (CoreException e) {
					JUnitPlugin.log(e.getStatus());
				}
				if (pm.isCanceled()) {
					throw new InterruptedException();
				}
			}
		} finally {
			pm.done();
		}
	}
	private static void collectTypes(Object element, IProgressMonitor pm, Set result) throws CoreException {
		pm.beginTask(JUnitMessages.getString("TestSearchEngine.message.searching"), 10);  
	    element= computeScope(element);
	    try {
			while((element instanceof ISourceReference) && !(element instanceof ICompilationUnit)) {
				if(element instanceof IType) {
					if (hasSuiteMethod((IType)element) || isTestType((IType)element)) {
						result.add(element);
						return;
					}
				}
				element= ((IJavaElement)element).getParent();
			}
			if (element instanceof ICompilationUnit) {
				ICompilationUnit cu= (ICompilationUnit)element;