public void handle(CompilerOptions compilerOptions) {
   compilerOptions.setCheckEventfulObjectDisposalPolicy(AGGRESSIVE);
   compilerOptions.assumeStrictThis();
   compilerOptions.setCheckMissingReturn(CheckLevel.ERROR);
   compilerOptions.setAggressiveVarCheck(CheckLevel.ERROR);
   compilerOptions.setCheckDeterminism(true);
   compilerOptions.setBrokenClosureRequiresLevel(CheckLevel.ERROR);
   compilerOptions.setCheckTypes(true);
   compilerOptions.setInferConst(true);
   CompilationLevel.ADVANCED_OPTIMIZATIONS.setOptionsForCompilationLevel(compilerOptions);
   CompilationLevel.ADVANCED_OPTIMIZATIONS.setTypeBasedOptimizationOptions(compilerOptions);
 }