@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);
    }
@ Override 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 ) ; }
-----------------------------------------------------------------------