anchor.diff:  ///
   ///    ifStatement ::=
   ///        'if' '(' [Expression] ')' [Statement] ('else' [Statement])?
  -class IfStatementImpl extends StatementImpl implements IfStatement {
  -  /// The token representing the 'if' keyword.
  -  @override
  -  Token ifKeyword;
  -
  -  /// The left parenthesis.
  -  @override
  -  Token leftParenthesis;
  -
  -  /// The condition used to determine which of the statements is executed next.
  -  ExpressionImpl _condition;
  -
  -  /// The right parenthesis.
  -  @override
  -  Token rightParenthesis;
  -
  +class IfStatementImpl extends StatementImpl
  +    with IfMixin
  +    implements IfStatement {
     /// The statement that is executed if the condition evaluates to `true`.
     StatementImpl _thenStatement;
  -
  -  /// The token representing the 'else' keyword, or `null` if there is no else
  -  /// statement.
  -  @override
  -  Token elseKeyword;
   
     /// The statement that is executed if the condition evaluates to `false`, or
     /// `null` if there is no else statement.
  
positive.code: 
    @override
    Iterable<SyntacticEntity> get childEntities => new ChildEntities()
      ..add(ifKeyword)
      ..add(leftParenthesis)
      ..add(_condition)
      ..add(rightParenthesis)
      ..add(_thenStatement)
      ..add(elseKeyword)
      ..add(_elseStatement);
  
    @override
    Expression get condition => _condition;
  
    @override
    void set condition(Expression expression) {
      _condition = _becomeParentOf(expression as ExpressionImpl);
    }
  
    @override
    Statement get elseStatement => _elseStatement;
  
negative.code:     ..add(ifKeyword)
      ..add(leftParenthesis)
      ..add(_condition)
      ..add(rightParenthesis);
  
    Expression get condition => _condition;
  
  