Depending on parameters of the Partition's get_segment()
algorithm some SegConfig and AppConfig classes may
be returned partially initialized, e.g. one can get a tree of
segments without applications or initialized up to certain level
of inclusion. Also, if segment is disabled, it has no applications
initialized. A call of a method returning details of such segments
may give incorrect data (such as reference on uninitialized
object, e.g. get_controller() of segment with no
applications initialized), if status of the segment's
initialization and enabling is not checked explicitly.
It was decided to throw an exception in case if user tries to
access uninitialized data. In particular: