public void sealObject ( ) { if ( ! isSealed ) { final long stamp = slotMap . readLock ( ) ; try { for ( Slot slot : slotMap ) { Object value = slot . value ; if ( value instanceof LazilyLoadedCtor ) { LazilyLoadedCtor initializer = ( LazilyLoadedCtor ) value ; try { initializer . init ( ) ; } finally { slot . value = initializer . getValue ( ) ; } } } isSealed = true ; } finally { slotMap . unlockRead ( stamp ) ; } } }
Seal this object .