Buggy code:
public Mission . Result go ( ) { } public NAVObjective currentNAVObjective ( ) { } public void removeNAVObjective ( NAVObjective o ) { } public static class Result { private final int airTargetsDestroyed ; private final int groundTargetsDestroyed ; private final int foliageDestroyed ; private final double tunnelsFoundPctNorm ; private boolean abort = false ; public Result ( int airTargetsDestroyed , int groundTargetsDestroyed , int foliageDestroyed , double tunnelsFoundPctNorm ) { } public int getAirTargetsDestroyed ( ) { } public int getGroundTargetsDestroyed ( ) { } public int getFoliageDestroyed ( ) { } public double getTunnelsFoundPctNorm ( ) { } public boolean isAbort ( ) { } public void setAbort ( boolean abort ) { } } public double [ ] getPlayerStartPosition ( ) { } public ObjectDirection getPlayerStartDirection ( ) { } private void installTunnels ( TDFFile tdf , LoadingProgressReporter reporter ) { } private Tunnel newTunnel ( TDFFile . Tunnel tun , LoadingProgressReporter reporter ) { } public Tunnel getTunnelByFileName ( String tunnelFileName ) { } public TunnelEntranceObject getNearestTunnelEntrance ( double xInLegacyUnits , double yInLegacyUnits , double zInLegacyUnits ) { } private void missionCompleteSequence ( ) { } public void playerDestroyed ( ) { } private void notifyMissionEnd ( Mission . Result r ) { } public List < NAVObjective > getRemainingNAVObjectives ( ) { } public List < NAVSubObject > getNavSubObjects ( ) { } public void setNavSubObjects ( List < NAVSubObject > navSubObjects ) { } public void missionComplete ( ) { } public OverworldSystem getOverworldSystem ( ) { } public Mission notifyAirTargetDestroyed ( ) { } public Mission notifyGroundTargetDestroyed ( ) { } public Mission notifyTunnelFound ( Tunnel tun ) { } public Mission notifyFoliageDestroyed ( ) { } public void enterBossMode ( final String bossMusicFile ) { } public void exitBossMode ( ) { } public void abort ( ) { } private void cleanup ( ) { } public TunnelEntranceObject getTunnelEntranceObject ( Point mapSquareXZ ) { } public void addTunnelEntrance ( Point mapSquareXZ , Tunnel tunnel ) { } private int pointToHash ( Point point ) { } public void enterTunnel ( Tunnel tunnel ) { } public void addPropertyChangeListener ( PropertyChangeListener listener ) { } public void addPropertyChangeListener ( String propertyName , PropertyChangeListener listener ) { } public PropertyChangeListener [ ] getPropertyChangeListeners ( ) { } public PropertyChangeListener [ ] getPropertyChangeListeners ( String propertyName ) { } public boolean hasListeners ( String propertyName ) { } public void removePropertyChangeListener ( PropertyChangeListener listener ) { } public void removePropertyChangeListener ( String propertyName , PropertyChangeListener listener ) { } public static interface MissionMode { } public static class LoadingMode implements Mission . MissionMode { } public static class BriefingMode implements Mission . MissionMode { } public static class IntroMode extends Mission . BriefingMode { } public static class EnemyIntroMode extends Mission . IntroMode { } public static class PlanetIntroMode extends Mission . IntroMode { } public static class MissionSummaryMode extends Mission . BriefingMode { } public static class GameplayMode implements Mission . MissionMode { } public static class TunnelMode extends Mission . GameplayMode { } public static class ChamberMode extends Mission . GameplayMode { } public static class AboveGroundMode extends Mission . GameplayMode { } public Mission . MissionMode getMissionMode ( ) { } public void setMissionMode ( Mission . MissionMode missionMode ) { } public boolean isBossFight ( ) { } public void setBossFight ( boolean bossFight ) { } public void setSatelliteView ( boolean satelliteView ) { if ( ( ! ( ( getMissionMode ( ) ) instanceof Mission . AboveGroundMode ) ) && satelliteView ) throw new IllegalArgumentException ( ( "Cannot<seq2seq4repair_space>activate<seq2seq4repair_space>satellite<seq2seq4repair_space>view<seq2seq4repair_space>while<seq2seq4repair_space>mission<seq2seq4repair_space>mode<seq2seq4repair_space>is<seq2seq4repair_space>" + ( getMissionMode ( ) . getClass ( ) . getSimpleName ( ) ) ) ) ; if ( satelliteView && ( tr . getGame ( ) . isPaused ( ) ) ) throw new IllegalArgumentException ( "Cannot<seq2seq4repair_space>activate<seq2seq4repair_space>satellite<seq2seq4repair_space>view<seq2seq4repair_space>while<seq2seq4repair_space>paused." ) ; pcs . firePropertyChange ( Mission . SATELLITE_VIEW , this . satelliteView , satelliteView ) ; if ( satelliteView != ( this . satelliteView ) ) { final Game game = tr . getGame ( ) ; final Camera cam = tr . mainRenderer . get ( ) . getCamera ( ) ; if ( satelliteView ) { <START_BUG> tr . getGame ( ) . setPaused ( true ) ; <END_BUG> game . getNavSystem ( ) . deactivate ( ) ; game . getHUDSystem ( ) . deactivate ( ) ; cam . setFogEnabled ( false ) ; cam . probeForBehavior ( MatchPosition . class ) . setEnable ( false ) ; cam . probeForBehavior ( MatchDirection . class ) . setEnable ( false ) ; final Vector3D pPos = new Vector3D ( game . getPlayer ( ) . getPosition ( ) ) ; final Vector3D pHeading = tr . getGame ( ) . getPlayer ( ) . getHeading ( ) ; cam . setPosition ( new Vector3D ( pPos . getX ( ) , ( ( TR . mapSquareSize ) * 25 ) , pPos . getZ ( ) ) ) ; cam . setHeading ( MINUS_J ) ; cam . setTop ( new Vector3D ( pHeading . getX ( ) , 1.0E-10 , pHeading . getZ ( ) ) . normalize ( ) ) ; tr . getGame ( ) . getSatDashboard ( ) . setVisible ( true ) ; } else { tr . getThreadManager ( ) . setPaused ( false ) ; tr . getGame ( ) . getNavSystem ( ) . activate ( ) ; game . getHUDSystem ( ) . activate ( ) ; cam . setFogEnabled ( true ) ; cam . probeForBehavior ( MatchPosition . class ) . setEnable ( true ) ; cam . probeForBehavior ( MatchDirection . class ) . setEnable ( true ) ; tr . getGame ( ) . getSatDashboard ( ) . setVisible ( false ) ; } } this . satelliteView = satelliteView ; } public boolean isSatelliteView ( ) { } public Tunnel getCurrentTunnel ( ) { } }

Fix:
tr . getThreadManager ( ) . setPaused ( true ) ;