private void writeObject(ObjectOutputStream stream) throws IOException {
private synchronized void writeObject(ObjectOutputStream stream) throws IOException {
  private void writeObject(ObjectOutputStream stream) throws IOException {    stream.defaultWriteObject();    stream.writeObject(basetask);    stream.writeObject(subtasks);    stream.writeObject(constraints);    if (currentARA == AllocationResultAggregator.DEFAULT) {      stream.writeObject(null);    } else {      stream.writeObject(currentARA);    }    if (stream instanceof org.cougaar.core.persist.PersistenceOutputStream) {      stream.writeObject(myAnnotation);      // Probably superfluous since no plugin should be running, but      // logically required to match against the other accesses of      // this field.      synchronized (this) {        stream.writeObject(changedSubtasks);      }    }  }