code: @Override  // override with covariant return type
      public JapaneseDate date(Era era, int yearOfEra, int month, int dayOfMonth) {
          if (era instanceof JapaneseEra == false) {
              throw new ClassCastException("Era must be JapaneseEra");
          }
          return JapaneseDate.of((JapaneseEra) era, yearOfEra, month, dayOfMonth);
      }
docs: -----------------------------------------------------------------------