docs: public final EObject ruleRichStringLiteralInbetween() throws RecognitionException {
          EObject current = null;
  
          Token lv_value_1_0=null;
          Token lv_value_2_0=null;
  
  
          	enterRule();
  
          try {
              // InternalSARL.g:10915:2: ( ( () ( ( (lv_value_1_0= RULE_RICH_TEXT_INBETWEEN ) ) | ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_INBETWEEN ) ) ) ) )
              // InternalSARL.g:10916:2: ( () ( ( (lv_value_1_0= RULE_RICH_TEXT_INBETWEEN ) ) | ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_INBETWEEN ) ) ) )
              {
              // InternalSARL.g:10916:2: ( () ( ( (lv_value_1_0= RULE_RICH_TEXT_INBETWEEN ) ) | ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_INBETWEEN ) ) ) )
              // InternalSARL.g:10917:3: () ( ( (lv_value_1_0= RULE_RICH_TEXT_INBETWEEN ) ) | ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_INBETWEEN ) ) )
              {
              // InternalSARL.g:10917:3: ()
              // InternalSARL.g:10918:4: 
              {
              if ( state.backtracking==0 ) {
  
                				current = forceCreateModelElement(
                					grammarAccess.getRichStringLiteralInbetweenAccess().getRichStringLiteralAction_0(),
                					current);
                			
              }
  
              }
  
              // InternalSARL.g:10924:3: ( ( (lv_value_1_0= RULE_RICH_TEXT_INBETWEEN ) ) | ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_INBETWEEN ) ) )
              int alt276=2;
              int LA276_0 = input.LA(1);
  
              if ( (LA276_0==RULE_RICH_TEXT_INBETWEEN) ) {
                  alt276=1;
              }
              else if ( (LA276_0==RULE_COMMENT_RICH_TEXT_INBETWEEN) ) {
                  alt276=2;
              }
              else {
                  if (state.backtracking>0) {state.failed=true; return current;}
                  NoViableAltException nvae =
                      new NoViableAltException("", 276, 0, input);
  
                  throw nvae;
              }
              switch (alt276) {
                  case 1 :
                      // InternalSARL.g:10925:4: ( (lv_value_1_0= RULE_RICH_TEXT_INBETWEEN ) )
                      {
                      // InternalSARL.g:10925:4: ( (lv_value_1_0= RULE_RICH_TEXT_INBETWEEN ) )
                      // InternalSARL.g:10926:5: (lv_value_1_0= RULE_RICH_TEXT_INBETWEEN )
                      {
                      // InternalSARL.g:10926:5: (lv_value_1_0= RULE_RICH_TEXT_INBETWEEN )
                      // InternalSARL.g:10927:6: lv_value_1_0= RULE_RICH_TEXT_INBETWEEN
                      {
                      lv_value_1_0=(Token)match(input,RULE_RICH_TEXT_INBETWEEN,FOLLOW_2); if (state.failed) return current;
                      if ( state.backtracking==0 ) {
  
                        						newLeafNode(lv_value_1_0, grammarAccess.getRichStringLiteralInbetweenAccess().getValueRICH_TEXT_INBETWEENTerminalRuleCall_1_0_0());
                        					
                      }
                      if ( state.backtracking==0 ) {
  
                        						if (current==null) {
                        							current = createModelElement(grammarAccess.getRichStringLiteralInbetweenRule());
                        						}
                        						setWithLastConsumed(
                        							current,
                        							"value",
                        							lv_value_1_0,
                        							"org.eclipse.xtend.core.Xtend.RICH_TEXT_INBETWEEN");
                        					
                      }
  
                      }
  
  
                      }
  
  
                      }
                      break;
                  case 2 :
                      // InternalSARL.g:10944:4: ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_INBETWEEN ) )
                      {
                      // InternalSARL.g:10944:4: ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_INBETWEEN ) )
                      // InternalSARL.g:10945:5: (lv_value_2_0= RULE_COMMENT_RICH_TEXT_INBETWEEN )
                      {
                      // InternalSARL.g:10945:5: (lv_value_2_0= RULE_COMMENT_RICH_TEXT_INBETWEEN )
                      // InternalSARL.g:10946:6: lv_value_2_0= RULE_COMMENT_RICH_TEXT_INBETWEEN
                      {
                      lv_value_2_0=(Token)match(input,RULE_COMMENT_RICH_TEXT_INBETWEEN,FOLLOW_2); if (state.failed) return current;
                      if ( state.backtracking==0 ) {
  
                        						newLeafNode(lv_value_2_0, grammarAccess.getRichStringLiteralInbetweenAccess().getValueCOMMENT_RICH_TEXT_INBETWEENTerminalRuleCall_1_1_0());
                        					
                      }
                      if ( state.backtracking==0 ) {
  
                        						if (current==null) {
                        							current = createModelElement(grammarAccess.getRichStringLiteralInbetweenRule());
                        						}
                        						setWithLastConsumed(
                        							current,
                        							"value",
                        							lv_value_2_0,
                        							"org.eclipse.xtend.core.Xtend.COMMENT_RICH_TEXT_INBETWEEN");
                        					
                      }
  
                      }
  
  
                      }
  
  
                      }
                      break;
  
              }
  
  
              }
  
  
              }
  
              if ( state.backtracking==0 ) {
  
                	leaveRule();
  
              }
          }
  
              catch (RecognitionException re) {
                  recover(input,re);
                  appendSkippedTokens();
              }
          finally {
          }
          return current;
      }