public FileConsumer(String sessionId, FileConsumerConfig config, FilteringConsumer.Filter ... filters) { block5: { super(filters); //Irrelevant proprietary code removed try { //Irrelevant proprietary code removed this.channel = FileChannel.open((Path)this.logPath, (OpenOption[])new OpenOption[]{StandardOpenOption.APPEND, StandardOpenOption.CREATE, StandardOpenOption.WRITE, StandardOpenOption.SYNC}); //Irrelevant proprietary code removed this.reportChannel = FileChannel.open((Path)this.reportPath, (OpenOption[])new OpenOption[]{StandardOpenOption.APPEND, StandardOpenOption.CREATE, StandardOpenOption.WRITE, StandardOpenOption.SYNC}); } catch (Throwable throwable) { throwable.printStackTrace(); if (!config.throwExceptionOnFail) break block5; //maybe the 'block5' label is causing an issue? throw new RuntimeException(throwable); } } if (this.channel != null) { this.ioThread = new IoThread(); this.ioThread.start(); } }