code: @Override
      public long getLong(TemporalField field) {
          if (field instanceof ChronoField) {
              switch ((ChronoField) field) {
                  case ALIGNED_DAY_OF_WEEK_IN_MONTH:
                      return month == 0 ? 0 : super.getLong(field);
                  case ALIGNED_DAY_OF_WEEK_IN_YEAR:
                      return getDayOfWeek();
                  case ALIGNED_WEEK_OF_MONTH:
                      return month == 0 ? 0 : super.getLong(field);
                  case ALIGNED_WEEK_OF_YEAR:
                      if (month == 0) {
                          return 0;
                      } else {
                          return ((getDayOfYear() - (getDayOfYear() >= ST_TIBS_OFFSET && isLeapYear() ? 1 : 0) - 1) / DAYS_IN_WEEK) + 1;
                      }
                  default:
                      break;
              }
          }
          return super.getLong(field);
      }
docs: -----------------------------------------------------------------------