code: protected void readTemporalProposition(ObjectInputStream s)
              throws IOException, ClassNotFoundException {
          int mode = s.readChar();
          try {
              switch (mode) {
                  case 0:
                      setInterval(INTERVAL_FACTORY.getInstance(s.readLong(),
                              (Granularity) s.readObject()));
                      break;
                  case 1:
                      setInterval(INTERVAL_FACTORY.getInstance(s.readLong(),
                              (Granularity) s.readObject(), s.readLong(),
                              (Granularity) s.readObject()));
                      break;
                  case 2:
                      setInterval(INTERVAL_FACTORY.getInstance(
                              (Long) s.readObject(), (Long) s.readObject(),
                              (Granularity) s.readObject(),
                              (Long) s.readObject(), (Long) s.readObject(),
                              (Granularity) s.readObject()));
                      break;
                  default:
                      throw new InvalidObjectException(
                              "Can't restore. Invalid mode: " + mode);
              }
          } catch (IllegalArgumentException iae) {
              throw new InvalidObjectException("Can't restore: "
                      + iae.getMessage());
          }
      }
docs: Called while deserializing a temporal proposition.
  
  @param s an {@link ObjectInputStream}.
  @throws IOException input/output error during deserialization.
  @throws ClassNotFoundException class of a serialized object cannot be
  found.