code: private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException
     {
        ObjectInputStream.GetField fields = ois.readFields();
        String name = serialPersistentFields[TYPE_IDX].getName();
        this.type = fields.get(name, 0);
        name = serialPersistentFields[WORK_IDX].getName();
        this.work = (Work) fields.get(name, null);
        name = serialPersistentFields[EXCPEPTION_IDX].getName();
        this.e = (WorkException) fields.get(name, null);
        name = serialPersistentFields[DURATION_IDX].getName();
        this.startDuration = fields.get(name, 0L);
     }
docs: Read object
  @param ois The object input stream
  @exception ClassNotFoundException If a class can not be found
  @exception IOException Thrown if an error occurs