package a.b.c; //breaking line comment @SuppressWarnings("rawtypes") public class bug329294WithGenerics { //breaking line comment public enum Menum { One; Inner2 ei2 = new Inner2() { boolean isTrue() { return fInner1.innerBool; //bp }; boolean isNotTrue() { return !fInner1.innerBool; //bp }; }; Menum() {} public <T> boolean eTrue(Inner1<T> i1) { Inner2<T> i2 = new Inner2<T>(i1) { boolean isTrue() { return fInner1.innerBool; //bp } }; i2.isTrue(); ei2.isTrue(); return i2.fInner1.innerBool; //bp } public boolean eIsNotTrue() { ei2.isNotTrue(); return !ei2.fInner1.innerBool; //bp } } //breaking line comment public static void main(String[] args) { Inner1<String> i1 = new Inner1<String>(); Inner2<String> i2 = new Inner2<String>(i1) { boolean isTrue() { return fInner1.innerBool; } }; i2.isTrue(); i2.isNotTrue(); i2 = new Inner2<String>(i1); i2.isTrue(); Menum.One.eTrue(i1); Menum.One.eIsNotTrue(); } private static class Inner1<T> { boolean innerBool; } //breaking line comment private static class Inner2<T> { Inner1<T> fInner1 = null; Inner2() { fInner1 = new Inner1<T>(); } Inner2(Inner1<T> inner) { fInner1 = inner; //bp } <E> boolean isTrue() { return fInner1.innerBool; //bp } boolean isNotTrue() { return !fInner1.innerBool; //bp } } }