Buggy code:
final class FeedzillaDownloadApplication implements LoadFeedReceiver { private static Logger logger = LogManager . getLogger ( FeedzillaDownloadApplication . class ) ; private static String PRODUCTION_FILENAME = "feedzilla_production.properties" ; private static String DEVELOPER_FILENAME = "feedzilla_developer.properties" ; private static FeedzillaDownloadApplication downloadApplication ; private final FeedzillaStorage feedzillaStorage ; private final FeedDataDownloader downloader ; private Map < String , FeedzillaCategory > feedzillaCategories = Collections . synchronizedMap ( new HashMap < > ( ) ) ; private Map < String , FeedzillaSubcategory > feedzillaSubcategories = Collections . synchronizedMap ( new HashMap < > ( ) ) ; private Map < String , FeedzillaArticle > feedzillaArticles = Collections . synchronizedMap ( new HashMap < > ( ) ) ; FeedzillaDownloadApplication ( ) throws IOException , SQLException { } FeedzillaDownloadApplication ( String propertyFile ) throws IOException , SQLException { } void startDownload ( ) { } private void createHashMap ( ) { } private String createHashCode ( FeedzillaCategory c ) { } private String createHashCode ( FeedzillaSubcategory c ) { } private String createHashCode ( FeedzillaArticle a ) { } private static < T > String s ( T v ) { } private FeedzillaCategory createFeedzillaCategory ( Category from ) { } private FeedzillaSubcategory createFeedzillaSubcategory ( FeedzillaCategory categoryFrom , Subcategory from ) { } private FeedzillaArticle createFeedzillaArticle ( FeedzillaSubcategory subcategory , Article from ) { } private void stop ( ) throws InterruptedException { } @ Override public void newArticle ( Category newCategory , Subcategory newSubcategory , Article newArticle ) { } private boolean cacheHave ( FeedzillaCategory category ) { } private boolean cacheHave ( FeedzillaSubcategory subcategory ) { } private boolean cacheHave ( FeedzillaArticle article ) { } private void addCategory ( FeedzillaCategory category ) { } private void addSubcategory ( FeedzillaSubcategory subcategory ) { } private void addArticle ( FeedzillaArticle article ) { } public static void main ( String [ ] args ) { final CountDownLatch waitForStarting = new CountDownLatch ( 1 ) ; final CountDownLatch waitForEnding = new CountDownLatch ( 1 ) ; try { final Thread mainProcessingThread = new Thread ( new Runnable ( ) { @ Override public void run ( ) { try { if ( ( ( args . length ) > 0 ) && ( ( args [ 0 ] ) == "production" ) ) { FeedzillaDownloadApplication . logger . debug ( "Started<seq2seq4repair_space>production<seq2seq4repair_space>version" ) ; FeedzillaDownloadApplication . downloadApplication = new FeedzillaDownloadApplication ( FeedzillaDownloadApplication . PRODUCTION_FILENAME ) ; } else { FeedzillaDownloadApplication . logger . debug ( "Started<seq2seq4repair_space>developer<seq2seq4repair_space>version" ) ; FeedzillaDownloadApplication . downloadApplication = new FeedzillaDownloadApplication ( FeedzillaDownloadApplication . DEVELOPER_FILENAME ) ; } waitForStarting . countDown ( ) ; } catch ( Exception e ) { FeedzillaDownloadApplication . logger . error ( "Error<seq2seq4repair_space>on<seq2seq4repair_space>main<seq2seq4repair_space>execution<seq2seq4repair_space>thread" , e ) ; } FeedzillaDownloadApplication . downloadApplication . startDownload ( ) ; waitForEnding . countDown ( ) ; } } ) ; mainProcessingThread . start ( ) ; waitForStarting . await ( ) ; <START_BUG> FeedzillaDownloadApplication . logger . debug ( "Waiting<seq2seq4repair_space>for<seq2seq4repair_space>'e'<seq2seq4repair_space>-<seq2seq4repair_space>exit<seq2seq4repair_space>command<seq2seq4repair_space>or<seq2seq4repair_space>end<seq2seq4repair_space>of<seq2seq4repair_space>" ) ; <END_BUG> FeedzillaDownloadApplication . addExitHook ( waitForEnding ) ; waitForEnding . await ( ) ; mainProcessingThread . join ( ) ; } catch ( Exception e ) { FeedzillaDownloadApplication . logger . error ( "Error<seq2seq4repair_space>on<seq2seq4repair_space>main<seq2seq4repair_space>function.<seq2seq4repair_space>" , e ) ; } } private static void addExitHook ( final CountDownLatch waitForEnding ) { } }

Fix:
FeedzillaDownloadApplication . logger . debug ( "Please<seq2seq4repair_space>enter<seq2seq4repair_space>'e'<seq2seq4repair_space>and<seq2seq4repair_space>press<seq2seq4repair_space>Enter<seq2seq4repair_space>to<seq2seq4repair_space>stop<seq2seq4repair_space>application." ) ;