Take the 2-minute tour ×  My code is ill; what looks like a
fairly straightforward object write and read operation, never
seems to fire its secondary operations. An inner class thread on
the remote peer sends a ConcurrentHashMap over an OOS.  When
that arrives - and it does, ok - the receiving code continues,
in a boolean-determined loop, to listen on the OIS for updates
of that CCHM. These updates come from siblings of the one which
sent the original CCHM (there is one serving sibling per
receiving peer). The ObjectOutputStreams these siblings use are
taken from a visible HashMap of the siblings. The siblings don't
care whether they are sending to a new member of the group, or
to an existing one. The difference as to whether a peer is new
or existing, is only known on the receiving peer side, where the
original CCHM is received and used, and the code then continues
waiting for updates on the same OIS. New peers which join have
their details added to the remote's Hashtable, so the CCHM to be
sent is one eleme