}
protected void
registerSelfMgrChildren( )
{
final TypeInfo selfInfo = getSelfTypeInfo();
final Set<String> childTypesSet = selfInfo.getContaineeJ2EETypes();
debug( "registerSelfMgrChildren for ", getSelfJ2EEType(), ": ", toString( childTypesSet ) );
if ( childTypesSet.size() != 0 )
{
debug( "registerSelfMgrChildren: child types = ", toString( childTypesSet ) );
}
else
{
debug( "no child types for: ", quote( getObjectName() ) );
}
final String[] childTypes = GSetUtil.toStringArray( childTypesSet );
for( int i = 0; i < childTypes.length; ++i )
{
final String childType = childTypes[ i ];
debug( "registerSelfMgrChildren: processing type: ", childType);
final TypeInfo childInfo = getTypeInfo( childType );
final Class childInterface = childInfo.getInterface();
if ( isSingletonMBean( childInterface ) ||
isUtilityMBean( childInterface )
)
{
try
{
registerSelfMgrChild( childInfo );
}
catch( InstantiationException e )
{
trace( "InstantiationException for child of type: " + childInfo.getJ2EEType() +
" = " + e.getMessage() );
e.printStackTrace();
final Throwable t = ExceptionUtil.getRootCause( e );
if ( t != e && t != null )