if (typeBinding.isParameterizedType()) { typeBinding= typeBinding.getErasure(); }
typeBinding= typeBinding.getTypeDeclaration();
		public TypeInfo[] process(SimpleName ref, IProgressMonitor monitor) throws CoreException {			String typeName= ref.getIdentifier();						if (fImportsAdded.contains(typeName)) {				return null;			}						try {				IBinding binding= ref.resolveBinding();				if (binding != null) {					if (binding.getKind() == IBinding.TYPE) {						ITypeBinding typeBinding= (ITypeBinding) binding;						if (typeBinding.isArray()) {							typeBinding= typeBinding.getElementType();						}						if (typeBinding.isParameterizedType()) {							typeBinding= typeBinding.getErasure();						}						if (needsImport(typeBinding, ref)) {							fImpStructure.addImport(typeBinding);							fImportsAdded.add(typeName);						}					}						return null;				}								fImportsAdded.add(typeName);										ArrayList typeRefsFound= fTypeRefsFound; // reuse								findTypeRefs(typeName, typeRefsFound, monitor);								int nFound= typeRefsFound.size();				if (nFound == 0) {					// nothing found					return null;				} else if (nFound == 1) {					TypeInfo typeRef= (TypeInfo) typeRefsFound.get(0);					fImpStructure.addImport(typeRef.getFullyQualifiedName());					return null;				} else {					String containerToImport= null;					boolean ambiguousImports= false;														// multiple found, use old import structure to find an entry					for (int i= 0; i < nFound; i++) {						TypeInfo typeRef= (TypeInfo) typeRefsFound.get(i);						String fullName= typeRef.getFullyQualifiedName();						String containerName= typeRef.getTypeContainerName();						if (fOldSingleImports.contains(fullName)) {							// was single-imported							fImpStructure.addImport(fullName);							return null;						} else if (fOldDemandImports.contains(containerName) || fImplicitImports.contains(containerName)) {							if (containerToImport == null) {								containerToImport= containerName;							} else {  // more than one import-on-demand								ambiguousImports= true;							}						}					}										if (containerToImport != null && !ambiguousImports) {						fImpStructure.addImport(JavaModelUtil.concatenateName(containerToImport, typeName));					} else {						// return the open choices						return (TypeInfo[]) typeRefsFound.toArray(new TypeInfo[nFound]);					}				}			} finally {				fTypeRefsFound.clear();			}			return null;		}