Hi, In some circumstances, unreachable code is not removed properly. I am adding a minimal reproducible testcase: ``` package com.google.gwt.sample.hello.client; import com.google.gwt.core.client.EntryPoint; import com.google.gwt.user.client.Window; abstract class BaseDelegate { abstract public void display(); } class DelegateFoo extends BaseDelegate { @Override public void display() { Window.alert("Foo"); } } class DelegateNoFoo extends BaseDelegate { @Override public void display() { Window.alert("No Foo"); } } public class Hello implements EntryPoint { static boolean isFeatureFooEnabled() { if (Boolean.parseBoolean(System.getProperty("myapp.property1"))) { return true; } if (Boolean.parseBoolean(System.getProperty("myapp.property2"))) { return true; } return false; } public void onModuleLoad() { final BaseDelegate delegate = isFeatureFooEnabled() ? new DelegateFoo() : new DelegateNoFoo(); delegate.display(); } } ``` If **myapp.property1** and **myapp.property2** are both set to **false**, the above code will compile to ``` delegate = ($clinit_Boolean() , $clinit_Boolean() , false)?new DelegateFoo:new DelegateNoFoo; delegate.display(); ``` So it means that even if DelegateNoFoo is never used, its code will not be removed. It's a constraint example, but in our application, those delegates are actually pretty big and depend on many other classes. It means that we end up building and shipping a lot of unused code. If there is only one Boolean.parseBoolean, the code compiles (correctly) to ```delegate = ($clinit_Boolean() , new DelegateNoFoo);``` Also, if we modify isFeatureFooEnabled to ``` static boolean isFeatureFooEnabled() { if (Boolean.parseBoolean(System.getProperty("myapp.property1"))) { return true; } return Boolean.parseBoolean(System.getProperty("myapp.property2")); } ``` It will compile to ```delegate = ($clinit_Boolean() , $clinit_Boolean() , new DelegateNoFoo);``` But this is fragile and won't scale if **isFeatureFooEnabled()** becomes more complex