docs: private void attributes( RuleDescrBuilder rule ) throws RecognitionException {
          if ( helper.validateIdentifierKey( DroolsSoftKeywords.ATTRIBUTES ) ) {
              match( input,
                     DRL5Lexer.ID,
                     DroolsSoftKeywords.ATTRIBUTES,
                     null,
                     DroolsEditorType.IDENTIFIER );
              if ( state.failed ) return;
  
              if ( input.LA( 1 ) == DRL5Lexer.COLON ) {
                  match( input,
                         DRL5Lexer.COLON,
                         null,
                         null,
                         DroolsEditorType.SYMBOL );
                  if ( state.failed ) return;
              }
          }
  
          if ( helper.validateAttribute( 1 ) ) {
              attribute( rule );
              if ( state.failed ) return;
  
              while ( input.LA( 1 ) == DRL5Lexer.COMMA || helper.validateAttribute( 1 ) ) {
                  if ( input.LA( 1 ) == DRL5Lexer.COMMA ) {
                      match( input,
                             DRL5Lexer.COMMA,
                             null,
                             null,
                             DroolsEditorType.SYMBOL );
                      if ( state.failed ) return;
                  }
                  attribute( rule );
                  if ( state.failed ) return;
              }
          }
      }