code: private void writeObject(ObjectOutputStream out) throws IOException {
          final boolean trace = TraceComponent.isAnyTracingEnabled();
          if (trace && tc.isEntryEnabled())
  
              Tr.entry(this, tc, "writeObject", new Object[] {
                                                              nonserTaskClassName,
                                                              nonserTriggerClassName,
                                                              "initial delay " + initialDelay,
                                                              "interval " + interval,
                                                              isFixedRate ? "fixed rate" : false,
                                                              submittedAsCallable ? "callable" : "runnable",
                                                              threadContext
              });
  
          if (threadContextBytes == null)
              threadContextBytes = threadContext == null ? null : threadContext.serialize();
  
          PutField fields = out.putFields();
          fields.put(INITIAL_DELAY, initialDelay);
          fields.put(INTERVAL, interval);
          fields.put(IS_FIXED_RATE, isFixedRate);
          fields.put(NONSER_TASK_CLASS_NAME, nonserTaskClassName);
          fields.put(NONSER_TRIGGER_CLASS_NAME, nonserTriggerClassName);
          fields.put(SUBMITTED_AS_CALLABLE, submittedAsCallable);
          fields.put(THREAD_CONTEXT_DESCRIPTOR, threadContextBytes);
          out.writeFields();
  
          if (trace && tc.isEntryEnabled())
              Tr.exit(this, tc, "writeObject");
      }
docs: Serialize task information.
  
  @param out The stream to which this object is serialized.
  @throws IOException