class Test { @Deprecated(forRemoval = true) static class Foo { } @Deprecated(forRemoval = true) int foo; @Deprecated(forRemoval = true) void foo() {} void bar() { Foo f = new Foo(); int i = foo; foo(); } } class Usages { void bar() { Test t = new Test(); Test.Foo f = new Test.Foo(); int i = t.foo; t.foo(); } }