code: private Object readResolve() throws ObjectStreamException {
          try {
              return of(eraValue);
          } catch (DateTimeException e) {
              InvalidObjectException ex = new InvalidObjectException("Invalid era");
              ex.initCause(e);
              throw ex;
          }
      }
docs: Returns the singleton {@code JapaneseEra} corresponding to this object.
  It's possible that this version of {@code JapaneseEra} doesn't support the latest era value.
  In that case, this method throws an {@code ObjectStreamException}.
  
  @return the singleton {@code JapaneseEra} for this object
  @throws ObjectStreamException if the deserialized object has any unknown numeric era value.