code: public final EObject ruleParameterReference() throws RecognitionException {
          EObject current = null;
  
          Token otherlv_0=null;
  
  
          	enterRule();
  
          try {
              // InternalXtext.g:2029:2: ( ( (otherlv_0= RULE_ID ) ) )
              // InternalXtext.g:2030:2: ( (otherlv_0= RULE_ID ) )
              {
              // InternalXtext.g:2030:2: ( (otherlv_0= RULE_ID ) )
              // InternalXtext.g:2031:3: (otherlv_0= RULE_ID )
              {
              // InternalXtext.g:2031:3: (otherlv_0= RULE_ID )
              // InternalXtext.g:2032:4: otherlv_0= RULE_ID
              {
  
              				if (current==null) {
              					current = createModelElement(grammarAccess.getParameterReferenceRule());
              				}
              			
              otherlv_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_2); 
  
              				newLeafNode(otherlv_0, grammarAccess.getParameterReferenceAccess().getParameterParameterCrossReference_0());
              			
  
              }
  
  
              }
  
  
              }
  
  
              	leaveRule();
  
          }
  
              catch (RecognitionException re) {
                  recover(input,re);
                  appendSkippedTokens();
              }
          finally {
          }
          return current;
      }
docs: InternalXtext.g:2023:1: ruleParameterReference returns [EObject current=null] : ( (otherlv_0= RULE_ID ) ) ;