if (associatedNode instanceof Expression) { proposals.addAll(guessTempNamesFromExpression((Expression) associatedNode, excludedVariableNames)); } } catch (JavaModelException e) {
if (fGuessedTempNames == null) fGuessedTempNames= new String[0];
	public String[] guessTempNames() {		LinkedHashSet proposals= new LinkedHashSet(); // retain ordering, but prevent duplicates		try {			String[] excludedVariableNames= getExcludedVariableNames();			ASTNode associatedNode= getSelectedExpression().getAssociatedNode();			if (associatedNode instanceof MethodInvocation) {				proposals.addAll(guessTempNamesFromMethodInvocation((MethodInvocation) associatedNode, excludedVariableNames));			} else if (associatedNode instanceof CastExpression) {				Expression expression= ((CastExpression) associatedNode).getExpression();				if (expression instanceof MethodInvocation) {					proposals.addAll(guessTempNamesFromMethodInvocation((MethodInvocation) expression, excludedVariableNames));				}			}			if (associatedNode instanceof Expression) {				proposals.addAll(guessTempNamesFromExpression((Expression) associatedNode, excludedVariableNames));			}		} catch (JavaModelException e) {			// too bad ... no proposals this time		}		return (String[]) proposals.toArray(new String[proposals.size()]);	}