while (selectedNode.getParent() instanceof QualifiedName) {
while (selectedNode.getLocationInParent() == QualifiedName.NAME_PROPERTY) {
	public static void getTypeProposals(IInvocationContext context, IProblemLocation problem, Collection proposals) throws CoreException {		ICompilationUnit cu= context.getCompilationUnit();		ASTNode selectedNode= problem.getCoveringNode(context.getASTRoot());		if (selectedNode == null) {			return;		}		int kind= evauateTypeKind(selectedNode, cu.getJavaProject());		while (selectedNode.getParent() instanceof QualifiedName) {			selectedNode= selectedNode.getParent();		}		Name node= null;		if (selectedNode instanceof SimpleType) {			node= ((SimpleType) selectedNode).getName();		} else if (selectedNode instanceof ArrayType) {			Type elementType= ((ArrayType) selectedNode).getElementType();			if (elementType.isSimpleType()) {				node= ((SimpleType) elementType).getName();			}		} else if (selectedNode instanceof Name) {			node= (Name) selectedNode;		} else {			return;		}		// change to similar type proposals		addSimilarTypeProposals(kind, cu, node, 3, proposals);		// add type		addNewTypeProposals(cu, node, kind, 0, proposals);	}