Introspector { public static boolean isModelClass(Class<?> clazz) { return OpenEngSBModel.class.isAssignableFrom(clazz) || clazz.isAnnotationPresent(Model.class); } private  Introspector(); static Map<String, Class<?>> getPropertyTypeMap(Class<?> clazz); static Map<String, Class<?>> getPropertyTypeMap(Class<?> clazz, String... exclude); static Map<String, Object> read(Object object); static List<Field> getAnnotatedFields(Class<?> clazz, Class<? extends Annotation> annotation); static Field getOpenEngSBModelIdField(Class<?> modelClass); static String getOpenEngSBModelIdProperty(Class<?> modelClass); static boolean isModel(Object object); static boolean isModelClass(Class<?> clazz);  }
@Test public void isModelClass_behavesCorrectly() throws Exception { assertTrue(Introspector.isModelClass(TestModel.class)); assertTrue(Introspector.isModelClass(SubTestModel.class)); assertFalse(Introspector.isModelClass(IntrospectorTest.class)); assertFalse(Introspector.isModelClass(int.class)); }