Buggy code:
public class ClassMethodsInfo { public static final Set < Method > excludedMethods = new HashSet < Method > ( ) ; public static abstract class Property { final Class < ? > clazz ; AnnotatedElement ael ; final DateTimeFormat dateFormat ; final int fractionDigits ; public Property ( Class < ? > clazz , AnnotatedElement ael , ClassMethodsInfo . Property cli , Presentable pr ) { } public abstract String getName ( ) { } public abstract Object getObject ( Object obj ) throws Exception { } public abstract boolean canSet ( ) { } public abstract void setObject ( Object obj , Object value ) throws Exception { } public abstract Class < ? > getReturnType ( ) { } public abstract Type getGenericReturnType ( ) { } } public static class FieldProperty extends ClassMethodsInfo . Property { public final Field field ; public FieldProperty ( Class < ? > clazz , Field field , ClassMethodsInfo . Property cli , Presentable pr ) { } @ Override public String getName ( ) { } @ Override public Object getObject ( Object obj ) throws Exception { } @ Override public void setObject ( Object obj , Object value ) throws Exception { } @ Override public boolean canSet ( ) { } @ Override public Type getGenericReturnType ( ) { } @ Override public Class < ? > getReturnType ( ) { } } public static class MethodProperty extends ClassMethodsInfo . Property { public final String name ; public final Method getter ; public final Method setter ; public MethodProperty ( Class < ? > clazz , Method getter , ClassMethodsInfo . Property cli , Presentable pr ) { } private Method getSetter ( ) { } @ Override public String getName ( ) { } @ Override public Object getObject ( Object obj ) throws Exception { } @ Override public void setObject ( Object obj , Object value ) throws Exception { } @ Override public boolean canSet ( ) { } public Class < ? > getReturnType ( ) { } public Type getGenericReturnType ( ) { } } static Map < Class < ? > , List < ClassMethodsInfo . Property > > sortedClassProperties = new ConcurrentHashMap < Class < ? > , List < ClassMethodsInfo . Property > > ( ) ; private static Map < Class < ? > , Class < ? > > classesIds = new ConcurrentHashMap < Class < ? > , Class < ? > > ( ) ; private static Map < Class < ? > , ClassMethodsInfo . Property > classIdInfos = new ConcurrentHashMap < Class < ? > , ClassMethodsInfo . Property > ( ) ; private static Map < String , ClassMethodsInfo . Property > propertiesInfos = new ConcurrentHashMap < String , ClassMethodsInfo . Property > ( ) ; private static Map < Class < ? > , Boolean > presentableClasses = new ConcurrentHashMap < Class < ? > , Boolean > ( ) ; private static Map < Class < ? > , Boolean > skipIncomingClasses = new ConcurrentHashMap < Class < ? > , Boolean > ( ) ; private static Map < Class < ? > , Boolean > entityClasses = new ConcurrentHashMap < Class < ? > , Boolean > ( ) ; public static List < ClassMethodsInfo . Property > getPresentableProperties ( Class < ? > cl ) { } private static void fillExcludedMethods ( ) { } private static < T extends Member & AnnotatedElement > Presentable getPresentableFromHierarchy ( T m ) { } public static boolean isGetter ( Method m ) { } public static boolean isSetter ( Method m ) { } public static Class < ? > getEntityIdClass ( Class < ? > clazz ) { } public static ClassMethodsInfo . Property getEntityIdProperty ( Class < ? > clazz ) { } public static ClassMethodsInfo . Property getProperty ( Class < ? > clazz , String mName ) { } private static String getPropertyKey ( Class < ? > clazz , String mName ) { } public static boolean isPresentableOrEntity ( Class < ? > cls ) { Boolean b = ClassMethodsInfo . presentableClasses . get ( cls ) ; if ( b == null ) { <START_BUG> b = ( ( ! ( cls . equals ( Date . class ) ) ) && ( ! ( cls . equals ( Timestamp . class ) ) ) ) && ( ( ( ( cls . isAnnotationPresent ( Entity . class ) ) || ( cls . isAnnotationPresent ( Presentable . class ) ) ) || ( ClassMethodsInfo . isPojoBean ( cls ) ) ) || ( ( ( cls . getSuperclass ( ) ) != null ) && ( cls . getSuperclass ( ) . isAnnotationPresent ( Entity . class ) ) ) ) ; <END_BUG> ClassMethodsInfo . presentableClasses . put ( cls , b ) ; } return b . booleanValue ( ) ; } public static boolean isPojoBean ( Class < ? > cls ) { } public static boolean isEntity ( Class cls ) { } public static boolean getSkipIncoming ( Class < ? > cls ) { } }

Fix:
b = ( ( ( ! ( cls . equals ( Date . class ) ) ) && ( ! ( cls . equals ( Timestamp . class ) ) ) ) && ( ! ( cls . isEnum ( ) ) ) ) && ( ( ( ( cls . isAnnotationPresent ( Entity . class ) ) || ( cls . isAnnotationPresent ( Presentable . class ) ) ) || ( ClassMethodsInfo . isPojoBean ( cls ) ) ) || ( ( ( cls . getSuperclass ( ) ) != null ) && ( cls . getSuperclass ( ) . isAnnotationPresent ( Entity . class ) ) ) ) ;