docs: public final EObject ruleXImportSection() throws RecognitionException {
          EObject current = null;
  
          EObject lv_importDeclarations_0_0 = null;
  
  
  
          	enterRule();
  
          try {
              // InternalSARL.g:16692:2: ( ( (lv_importDeclarations_0_0= ruleXImportDeclaration ) )+ )
              // InternalSARL.g:16693:2: ( (lv_importDeclarations_0_0= ruleXImportDeclaration ) )+
              {
              // InternalSARL.g:16693:2: ( (lv_importDeclarations_0_0= ruleXImportDeclaration ) )+
              int cnt381=0;
              loop381:
              do {
                  int alt381=2;
                  int LA381_0 = input.LA(1);
  
                  if ( (LA381_0==96) ) {
                      alt381=1;
                  }
  
  
                  switch (alt381) {
              	case 1 :
              	    // InternalSARL.g:16694:3: (lv_importDeclarations_0_0= ruleXImportDeclaration )
              	    {
              	    // InternalSARL.g:16694:3: (lv_importDeclarations_0_0= ruleXImportDeclaration )
              	    // InternalSARL.g:16695:4: lv_importDeclarations_0_0= ruleXImportDeclaration
              	    {
              	    if ( state.backtracking==0 ) {
  
              	      				newCompositeNode(grammarAccess.getXImportSectionAccess().getImportDeclarationsXImportDeclarationParserRuleCall_0());
              	      			
              	    }
              	    pushFollow(FOLLOW_158);
              	    lv_importDeclarations_0_0=ruleXImportDeclaration();
  
              	    state._fsp--;
              	    if (state.failed) return current;
              	    if ( state.backtracking==0 ) {
  
              	      				if (current==null) {
              	      					current = createModelElementForParent(grammarAccess.getXImportSectionRule());
              	      				}
              	      				add(
              	      					current,
              	      					"importDeclarations",
              	      					lv_importDeclarations_0_0,
              	      					"org.eclipse.xtext.xbase.Xtype.XImportDeclaration");
              	      				afterParserOrEnumRuleCall();
              	      			
              	    }
  
              	    }
  
  
              	    }
              	    break;
  
              	default :
              	    if ( cnt381 >= 1 ) break loop381;
              	    if (state.backtracking>0) {state.failed=true; return current;}
                          EarlyExitException eee =
                              new EarlyExitException(381, input);
                          throw eee;
                  }
                  cnt381++;
              } while (true);
  
  
              }
  
              if ( state.backtracking==0 ) {
  
                	leaveRule();
  
              }
          }
  
              catch (RecognitionException re) {
                  recover(input,re);
                  appendSkippedTokens();
              }
          finally {
          }
          return current;
      }