code: @Override
      public long getLong(TemporalField field) {
          if (field instanceof ChronoField) {
              switch ((ChronoField) field) {
                  case DAY_OF_WEEK:
                      return getDayOfWeek();
                  case ALIGNED_DAY_OF_WEEK_IN_MONTH:
                      return getAlignedDayOfWeekInMonth();
                  case ALIGNED_DAY_OF_WEEK_IN_YEAR:
                      return getAlignedDayOfWeekInYear();
                  case DAY_OF_MONTH:
                      return getDayOfMonth();
                  case DAY_OF_YEAR:
                      return getDayOfYear();
                  case EPOCH_DAY:
                      return toEpochDay();
                  case ALIGNED_WEEK_OF_MONTH:
                      return getAlignedWeekOfMonth();
                  case ALIGNED_WEEK_OF_YEAR:
                      return getAlignedWeekOfYear();
                  case MONTH_OF_YEAR:
                      return getMonth();
                  case PROLEPTIC_MONTH:
                      return getProlepticMonth();
                  case YEAR_OF_ERA:
                      return getYearOfEra();
                  case YEAR:
                      return getProlepticYear();
                  case ERA:
                      return (getProlepticYear() >= 1 ? 1 : 0);
                  default:
                      break;
              }
              throw new UnsupportedTemporalTypeException("Unsupported field: " + field);
          }
          return field.getFrom(this);
      }
docs: -----------------------------------------------------------------------