I know this is a bit of a duplicate question but I want to ask it in a very specific way in order to clarify a very important point. The primary question being: Is there any
ContainedStaticClass has package private (i.e. default) visibility and OutsideClass has public visibility.
You could have chosen to make ContainedStaticClass protected or private which were not options for OutsideClass.