Inner objects are constructed during construction of outer object |
Outer object never passes references to inner objects accessible to any other object |
Outer object is fully synchronized or is in turn uniquely embedded within another fully synchronized object |