### Question:
ReflectionUtil { private static List<String> getAllClasses() throws PackageManager.NameNotFoundException, IOException { String packageName = ManifestHelper.getDomainPackageName(); List<String> classNames = new ArrayList<>(); try { List<String> allClasses = MultiDexHelper.getAllClasses(); for (String classString : allClasses) { if (classString.startsWith(packageName)) classNames.add(classString); } } catch (NullPointerException e) { ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); Enumeration<URL> urls = classLoader.getResources(""); while (urls.hasMoreElements()) { List<String> fileNames = new ArrayList<>(); String classDirectoryName = urls.nextElement().getFile(); if (classDirectoryName.contains("bin") || classDirectoryName.contains("classes") || classDirectoryName.contains("retrolambda")) { File classDirectory = new File(classDirectoryName); for (File filePath : classDirectory.listFiles()) { populateFiles(filePath, fileNames, ""); } for (String fileName : fileNames) { if (fileName.startsWith(packageName)) classNames.add(fileName); } } } } return classNames; } private  ReflectionUtil(); static List<Field> getTableFields(Class table); static void addFieldValueToColumn(ContentValues values, Field column, Object object,
                                             Map<Object, Long> entitiesMap); static void setFieldValueFromCursor(Cursor cursor, Field field, Object object); static void setFieldValueForId(Object object, Long value); static List<Class> getDomainClasses();  }### Answer:
@Test public void testGetAllClasses() { List<Class> classes = ReflectionUtil.getDomainClasses(); Assert.assertEquals(46, classes.size()); }