### Question:
DeadRemovalStrategy implements OptimizationStrategy { List<Integer> getUselessBranchAddresses() { return addresses.stream().filter(this::isUselessBranch).collect(Collectors.toList()); } DeadRemovalStrategy(ExecutionGraphManipulator manipulator); @Override Map<String, Integer> getOptimizationCounts(); @Override boolean perform(); void setRemoveWeak(boolean removeWeak);  }### Answer:
@Test public void detectsUselessGoto() { String methodName = "uselessGoto()V"; ExecutionGraphManipulator manipulator = OptimizerTester.getGraphManipulator(CLASS_NAME, methodName); DeadRemovalStrategy strategy = new DeadRemovalStrategy(manipulator); List<Integer> found = strategy.getUselessBranchAddresses(); List<Integer> expected = Collections.singletonList(0); assertEquals(expected, found); }