question: private void restartDebugger ( ) { stack = new Stack ( ) ; try { dGS = ( TTGraphicsState ) graphicsState . clone ( ) ; } catch ( final CloneNotSupportedException e ) { LogWriter . writeLog ( "Exception: " + e . getMessage ( ) ) ; } final int twilightCount = maxp . getMaxTwilightPoints ( ) ; System . arraycopy ( x [ ORIGINAL + GLYPH_ZONE ] , 0 , x [ GLYPH_ZONE ] , 0 , x [ GLYPH_ZONE ] . length ) ; x [ TWILIGHT_ZONE ] = new int [ twilightCount ] ; x [ ORIGINAL + TWILIGHT_ZONE ] = new int [ twilightCount ] ; System . arraycopy ( y [ ORIGINAL + GLYPH_ZONE ] , 0 , y [ GLYPH_ZONE ] , 0 , y [ GLYPH_ZONE ] . length ) ; y [ TWILIGHT_ZONE ] = new int [ twilightCount ] ; y [ ORIGINAL + TWILIGHT_ZONE ] = new int [ twilightCount ] ; System . arraycopy ( touched [ ORIGINAL + GLYPH_ZONE ] , 0 , touched [ GLYPH_ZONE ] , 0 , touched [ GLYPH_ZONE ] . length ) ; touched [ TWILIGHT_ZONE ] = new boolean [ twilightCount ] [ 2 ] ; touched [ ORIGINAL + TWILIGHT_ZONE ] = new boolean [ twilightCount ] [ 2 ] ; if ( ! codeStack . isEmpty ( ) ) { programToDebug = codeStack . get ( 0 ) ; programToDebugIsData = getInstructionStreamIsData ( programToDebug ) ; } codeStack . clear ( ) ; numberStack . clear ( ) ; functionsLineCount = 0 ; debugPointer = 0 ; instructionsExecuted = 0 ; currentCode . setText ( "Glyph Program" ) ; }
target:  DEBUG METHOD - Restarts the debugger, resetting all relevant data structures.