docs: public final EObject ruleLiteralCondition() throws RecognitionException {
          EObject current = null;
  
          Token lv_true_1_0=null;
          Token otherlv_2=null;
  
  
          	enterRule();
  
          try {
              // InternalXtext.g:1724:2: ( ( () ( ( (lv_true_1_0= 'true' ) ) | otherlv_2= 'false' ) ) )
              // InternalXtext.g:1725:2: ( () ( ( (lv_true_1_0= 'true' ) ) | otherlv_2= 'false' ) )
              {
              // InternalXtext.g:1725:2: ( () ( ( (lv_true_1_0= 'true' ) ) | otherlv_2= 'false' ) )
              // InternalXtext.g:1726:3: () ( ( (lv_true_1_0= 'true' ) ) | otherlv_2= 'false' )
              {
              // InternalXtext.g:1726:3: ()
              // InternalXtext.g:1727:4: 
              {
  
              				current = forceCreateModelElement(
              					grammarAccess.getLiteralConditionAccess().getLiteralConditionAction_0(),
              					current);
              			
  
              }
  
              // InternalXtext.g:1733:3: ( ( (lv_true_1_0= 'true' ) ) | otherlv_2= 'false' )
              int alt43=2;
              int LA43_0 = input.LA(1);
  
              if ( (LA43_0==39) ) {
                  alt43=1;
              }
              else if ( (LA43_0==40) ) {
                  alt43=2;
              }
              else {
                  NoViableAltException nvae =
                      new NoViableAltException("", 43, 0, input);
  
                  throw nvae;
              }
              switch (alt43) {
                  case 1 :
                      // InternalXtext.g:1734:4: ( (lv_true_1_0= 'true' ) )
                      {
                      // InternalXtext.g:1734:4: ( (lv_true_1_0= 'true' ) )
                      // InternalXtext.g:1735:5: (lv_true_1_0= 'true' )
                      {
                      // InternalXtext.g:1735:5: (lv_true_1_0= 'true' )
                      // InternalXtext.g:1736:6: lv_true_1_0= 'true'
                      {
                      lv_true_1_0=(Token)match(input,39,FollowSets000.FOLLOW_2); 
  
                      						newLeafNode(lv_true_1_0, grammarAccess.getLiteralConditionAccess().getTrueTrueKeyword_1_0_0());
                      					
  
                      						if (current==null) {
                      							current = createModelElement(grammarAccess.getLiteralConditionRule());
                      						}
                      						setWithLastConsumed(current, "true", true, "true");
                      					
  
                      }
  
  
                      }
  
  
                      }
                      break;
                  case 2 :
                      // InternalXtext.g:1749:4: otherlv_2= 'false'
                      {
                      otherlv_2=(Token)match(input,40,FollowSets000.FOLLOW_2); 
  
                      				newLeafNode(otherlv_2, grammarAccess.getLiteralConditionAccess().getFalseKeyword_1_1());
                      			
  
                      }
                      break;
  
              }
  
  
              }
  
  
              }
  
  
              	leaveRule();
  
          }
  
              catch (RecognitionException re) {
                  recover(input,re);
                  appendSkippedTokens();
              }
          finally {
          }
          return current;
      }