class AnonymousClassDeclarations { static class DoFn { static class ProcessContext { public Long innerClassMethod() {} } enum MyEnum { E1, E2, E3 } public void process(ProcessContext context) {} } static class Transform {} static class ParDo { static Transform of(DoFn doFn) { return null; } } void fooBar1() { ParDo.of(new DoFn() {}); } void fooBar2() { ParDo.of(new DoFn() { public void process(ProcessContext c){ return c.innerClassMethod(); } }); } void fooBar3() { ParDo.of(new DoFn() { void callAnnonClassInnerMethod() {} public void process(ProcessContext c) { callAnnonClassInnerMethod(); } }); } void fooBar4() { ParDo.of(new DoFn() { void callAnnonClassInnerMethod() {} public void process(ProcessContext c) { MyEnum.E3.toString(); } }); } void fooBar5() { ParDo.of(new DoFn() { void callAnnonClassInnerMethod() {} enum MyInnerEnum { E1, E2, E3 } public void process(ProcessContext c) { MyInnerEnum.E3.toString(); } }); } }