if (parents.length < 2) return null; for (int i= parents.length - 2 ; i >= 0 ; i--) { if (isBlock(parents[i])) return (Statement)parents[i + 1]; } return null;
return findInnermostStatement(parents);
	private Statement getInnermostStatement(Expression expression) throws JavaModelException {		Selection selection= Selection.createFromStartEnd(ASTUtil.getSourceStart(expression), ASTUtil.getSourceEnd(expression));		NewSelectionAnalyzer selAnalyzer= new NewSelectionAnalyzer(new ExtendedBuffer(fCu.getBuffer()), selection);		fAST.accept(selAnalyzer);		AstNode[] parents= selAnalyzer.getParents();		if (parents.length < 2)			return null;		for (int i= parents.length - 2 ; i >= 0 ; i--) {			if (isBlock(parents[i]))				return (Statement)parents[i + 1];		}			return null;			}	