public class BrokenFinal {
    static final class Leaf { }
    static class Sub extends Leaf { }
    static class P { final void m() { } }
    static class C extends P { void m() { } }
    final int x;
    BrokenFinal() { }
    public static void main(String[] args) {
        final int y = 1;
        y = 2;
        final java.util.List<String> l = new java.util.ArrayList<>();
        l = null;
    }
}
