code: protected TextAccessor accessor(
          AttributeQuery attributes,
          OutputContext outputContext,
          boolean leap
      ) {
  
          Locale lang = attributes.get(Attributes.LANGUAGE, Locale.ROOT);
          TextWidth textWidth = attributes.get(Attributes.TEXT_WIDTH, TextWidth.WIDE);
          CalendarText cnames = CalendarText.getInstance(this.getCalendarType(attributes), lang);
  
          if (this.isMonthElement()) {
              if (leap) {
                  return cnames.getLeapMonths(textWidth, outputContext);
              } else {
                  return cnames.getStdMonths(textWidth, outputContext);
              }
          } else if (this.isWeekdayElement()) {
              return cnames.getWeekdays(textWidth, outputContext);
          } else if (this.isEraElement()) {
              return cnames.getEras(textWidth);
          } else {
              return cnames.getTextForms(this.name(), this.type);
          }
  
      }
docs: Might be overridden in special cases.
  
  @param   attributes      format attributes
  @param   outputContext   the output context
  @param   leap            leap month flag
  @return  TextAccessor
  @since   5.3