public static boolean isIdentifiable(java.lang.Object o) {
if(o == null)
return false;
Class classAnnotation = getClassAnnotationForIdentifiableOrBasic(o);
// unless marked as NOT identifiable, every instance is Identifiable
return classAnnotation != null ? classAnnotation.identifiable() : true;
}
private static Class getClassAnnotationForIdentifiableOrBasic(Object o) {
java.lang.Class<? extends Object> klass = o.getClass();
while(klass != null && klass != java.lang.Object.class) {