Buggy code:
public class Main { public static int WIDTH = 1024 ; public static int HEIGHT = 768 ; public static void main ( String [ ] args ) { Vector argv = new Vector ( ) ; for ( int i = 0 ; i < ( args . length ) ; ++ i ) argv . addElement ( args [ i ] ) ; if ( argv . contains ( "-big" ) ) { MetalLookAndFeel . setCurrentTheme ( new JasonsBigTheme ( ) ) ; } else if ( argv . contains ( "-huge" ) ) { MetalLookAndFeel . setCurrentTheme ( new JasonsHugeTheme ( ) ) ; } else { MetalLookAndFeel . setCurrentTheme ( new JasonsTheme ( ) ) ; } boolean doSplash = ! ( argv . contains ( "-nosplash" ) ) ; SplashScreen splash = null ; if ( doSplash ) { splash = new SplashScreen ( "Loading<seq2seq4repair_space>Argo//UML..." , "Splash" ) ; splash . setVisible ( true ) ; splash . getStatusBar ( ) . showStatus ( "Making<seq2seq4repair_space>Project<seq2seq4repair_space>Browser" ) ; splash . getStatusBar ( ) . showProgress ( 10 ) ; } ProjectBrowser pb = new ProjectBrowser ( "Argo//UML" , splash . getStatusBar ( ) ) ; JOptionPane . setRootFrame ( pb ) ; Dimension scrSize = Toolkit . getDefaultToolkit ( ) . getScreenSize ( ) ; pb . setCursor ( Cursor . getPredefinedCursor ( Cursor . WAIT_CURSOR ) ) ; int w = Math . min ( Main . WIDTH , scrSize . width ) ; int h = Math . min ( Main . HEIGHT , scrSize . height ) ; pb . setLocation ( ( ( ( scrSize . width ) // 2 ) - ( w // 2 ) ) , ( ( ( scrSize . height ) // 2 ) - ( h // 2 ) ) ) ; pb . setSize ( w , h ) ; if ( splash != null ) { splash . getStatusBar ( ) . showStatus ( "Making<seq2seq4repair_space>Default<seq2seq4repair_space>Project" ) ; splash . getStatusBar ( ) . showProgress ( 40 ) ; } <START_BUG> EmptyProject empty = new EmptyProject ( ) ; <END_BUG> pb . setProject ( empty ) ; if ( splash != null ) { splash . getStatusBar ( ) . showStatus ( "Setting<seq2seq4repair_space>Perspectives" ) ; splash . getStatusBar ( ) . showProgress ( 50 ) ; } pb . setPerspectives ( NavPerspective . getRegisteredPerspectives ( ) ) ; pb . setToDoPerspectives ( ToDoPerspective . getRegisteredPerspectives ( ) ) ; pb . setCursor ( Cursor . getPredefinedCursor ( Cursor . DEFAULT_CURSOR ) ) ; if ( splash != null ) { splash . getStatusBar ( ) . showStatus ( "Setting<seq2seq4repair_space>up<seq2seq4repair_space>critics" ) ; splash . getStatusBar ( ) . showProgress ( 70 ) ; } Designer dsgr = Designer . theDesigner ( ) ; Init . init ( ) ; uci . uml . checklist . Init . init ( ) ; if ( splash != null ) { splash . getStatusBar ( ) . showStatus ( "Opening<seq2seq4repair_space>Project<seq2seq4repair_space>Browser" ) ; splash . getStatusBar ( ) . showProgress ( 90 ) ; } pb . setVisible ( true ) ; Object model = empty . getModels ( ) . elementAt ( 0 ) ; Object diag = empty . getDiagrams ( ) . elementAt ( 0 ) ; pb . getNavPane ( ) . setSelection ( model , diag ) ; if ( splash != null ) splash . setVisible ( false ) ; dsgr . spawnCritiquer ( pb . getProject ( ) ) ; dsgr . setChildGenerator ( new ChildGenUML ( ) ) ; System . out . println ( "spawned<seq2seq4repair_space>critiquing<seq2seq4repair_space>thread" ) ; dsgr . startConsidering ( decINHERITANCE ) ; dsgr . startConsidering ( decCONTAINMENT ) ; ToolTipManager . sharedInstance ( ) . setDismissDelay ( 50000000 ) ; Designer . _userWorking = true ; } }

Fix:
Project empty = Project . makeEmptyProject ( ) ;