See also that this concern does not arise in the case of field/local initialization since the initializer is replaced with full tree by consumeExitVariableWithInitialization.
*/
ASTNode assistNodeParent = this.assistNodeParent();
ASTNode enclosingNode = this.enclosingNode();
if (assistNodeParent != null || enclosingNode != null) {
RecoveredBlock recoveredBlock = (RecoveredBlock) (this.currentElement instanceof RecoveredBlock ? this.currentElement :
(this.currentElement.parent instanceof RecoveredBlock) ? this.currentElement.parent : null);
if (recoveredBlock != null) {
RecoveredStatement recoveredStatement = recoveredBlock.statementCount > 0 ? recoveredBlock.statements[recoveredBlock.statementCount - 1] : null;
ASTNode parseTree = recoveredStatement != null ? recoveredStatement.updatedStatement(0, new HashSet()) : null;
if (parseTree != null && (parseTree == assistNodeParent || parseTree == enclosingNode)) {