public <T> void testSharedObjectIdentity_CounterHolder() throws Exception {
final AtomicInteger sharedObject = new AtomicInteger( 42 );
final CounterHolder holder1 = new CounterHolder( sharedObject );
final CounterHolder holder2 = new CounterHolder( sharedObject );
final CounterHolderArray holderHolder = new CounterHolderArray( holder1, holder2 );
final MemcachedBackupSession session = _manager.createEmptySession();
session.setValid( true );
session.setAttribute( "hh", holderHolder );
final Map<String, Object> deserialized =
_transcoder.deserializeAttributes( _transcoder.serializeAttributes( session, session.getAttributesInternal() ) );
assertDeepEquals( deserialized, session.getAttributesInternal() );
final CounterHolderArray hhd = (CounterHolderArray) deserialized.get( "hh" );
Assert.assertTrue( hhd.holders[0].item == hhd.holders[1].item );
}