public override DomainId <IAstNode> VisitIfElseStatement( QlParser.IfElseStatementContext context) { var questionName = context.conditionalStatement().expression().GetText(); var predicate = Visit(context.conditionalStatement().expression()) .To <IBooleanLogicNode>(m_domainItemLocator); var consequent = context .conditionalStatement() .consequentStatement() .statement() .Select(Visit) .To <IStatementNode>(m_domainItemLocator); var alternative = context .conditionalStatement() .alternativeStatement() ?.statement() .Select(Visit) .To <IStatementNode>(m_domainItemLocator); return(m_astFactory.CreateConditional( questionName, predicate, consequent, alternative)); }