public class NotOptimizedFinder extends IFindPathInMetropolitan { } public class SuperOptimizedFinder extends IFindPathInMetropolitan { } public class MetropolitanFinder { @Inject public MetropolitanFinder(IFindPathInMetropolitan pathFinder) { } } public class BootstrapApp { public void configureJuice(){ if(feature.isEnabled("optimizedFinder")) { bind(IFindPathInMetropolitain.class).to(SuperOptimizedFinder.class); } else { bind(IFindPathInMetropolitain.class).to(NotOptimizedFinder.class); } } }