} catch ( Exception e ) {
throw new IllegalArgumentException( e );
}
} else if ( name.equalsIgnoreCase( BOMBER ) ) {
try {
return new Bomber( position );
} catch ( Exception e ) {
throw new IllegalArgumentException( e );
}
} else {
throw new IllegalArgumentException( "Invalid monster name " + name );