docs: public final EObject ruleParenthesizedExpression() throws RecognitionException {
          EObject current = null;
  
          Token otherlv_0=null;
          Token otherlv_2=null;
          EObject this_Expression_1 = null;
  
  
           enterRule(); 
              
          try {
              // InternalSimpleExpressions.g:566:28: ( (otherlv_0= '(' this_Expression_1= ruleExpression otherlv_2= ')' ) )
              // InternalSimpleExpressions.g:567:1: (otherlv_0= '(' this_Expression_1= ruleExpression otherlv_2= ')' )
              {
              // InternalSimpleExpressions.g:567:1: (otherlv_0= '(' this_Expression_1= ruleExpression otherlv_2= ')' )
              // InternalSimpleExpressions.g:567:3: otherlv_0= '(' this_Expression_1= ruleExpression otherlv_2= ')'
              {
              otherlv_0=(Token)match(input,13,FOLLOW_5); 
  
                  	newLeafNode(otherlv_0, grammarAccess.getParenthesizedExpressionAccess().getLeftParenthesisKeyword_0());
                  
               
                      newCompositeNode(grammarAccess.getParenthesizedExpressionAccess().getExpressionParserRuleCall_1()); 
                  
              pushFollow(FOLLOW_6);
              this_Expression_1=ruleExpression();
  
              state._fsp--;
  
               
                      current = this_Expression_1; 
                      afterParserOrEnumRuleCall();
                  
              otherlv_2=(Token)match(input,14,FOLLOW_2); 
  
                  	newLeafNode(otherlv_2, grammarAccess.getParenthesizedExpressionAccess().getRightParenthesisKeyword_2());
                  
  
              }
  
  
              }
  
               leaveRule(); 
          }
           
              catch (RecognitionException re) { 
                  recover(input,re); 
                  appendSkippedTokens();
              } 
          finally {
          }
          return current;
      }