private boolean validSelectedNodes() { ASTNode[] nodes= getSelectedNodes(); for (int i= 0; i < nodes.length; i++) { ASTNode node= nodes[i]; boolean isValidNode= node instanceof Statement; if (fSurroundWithTryCatch) { // allow method reference and lambda's expression body also isValidNode= isValidNode || node instanceof MethodReference || node.getLocationInParent() == LambdaExpression.BODY_PROPERTY; } if (!isValidNode) return false; } return true; }