@Override public void writeExternal(ObjectOutput out) throws IOException {
  String tid=getThreadMapping();
  out.writeObject(tid);
  out.writeObject(this.userTransactionServerLookupName);
  out.writeObject(this.initialContextFactory);
  out.writeObject(this.providerUrl);
  out.writeInt(this.timeout);
}

@ Override public void writeExternal ( ObjectOutput out ) throws IOException { String tid = getThreadMapping ( ) ; out . writeObject ( tid ) ; out . writeObject ( this . userTransactionServerLookupName ) ; out . writeObject ( this . initialContextFactory ) ; out . writeObject ( this . providerUrl ) ; out . writeInt ( this . timeout ) ; }
needed to ship instances across the network among clients .
