code: private synchronized void writeObject(java.io.ObjectOutputStream stream)
  			throws java.io.IOException
  	{
  		ThreadState tmp = this.threadState;
  		this.threadStateSerilizationHashedId = serilizationCache.store(this.threadState);
  		this.threadState = null;
  		stream.defaultWriteObject();
  		this.threadState = tmp;
  	}
docs: Custom serialization method handling the transient values
  
  @param stream
  @throws java.io.IOException