docs: @Trivial
      private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
          final boolean trace = TraceComponent.isAnyTracingEnabled();
          if (trace && tc.isEntryEnabled())
              Tr.entry(this, tc, "readObject");
  
          GetField fields = in.readFields();
          initialDelay = fields.get(INITIAL_DELAY, -1l);
          interval = fields.get(INTERVAL, -1l);
          isFixedRate = fields.get(IS_FIXED_RATE, false);
          nonserTaskClassName = (String) fields.get(NONSER_TASK_CLASS_NAME, null);
          nonserTriggerClassName = (String) fields.get(NONSER_TRIGGER_CLASS_NAME, null);
          submittedAsCallable = fields.get(SUBMITTED_AS_CALLABLE, false);
          threadContextBytes = (byte[]) fields.get(THREAD_CONTEXT_DESCRIPTOR, null);
  
          if (trace && tc.isEntryEnabled())
              Tr.exit(this, tc, "readObject", new Object[] {
                                                            nonserTaskClassName,
                                                            nonserTriggerClassName,
                                                            "initial delay " + initialDelay,
                                                            "interval " + interval,
                                                            isFixedRate ? "fixed rate" : false,
                                                            submittedAsCallable ? "callable" : "runnable",
                                                            threadContextBytes == null ? null : threadContextBytes.length
              });
      }