private void checkExisting( File targetFile, ClassLoader classLoader, Document doc, Set<String> entityClasses) { if (targetFile.exists()) { final Set<String> alreadyDefined = PersistenceXmlHelper.getClassesAlreadyDefined(doc); for (String className : alreadyDefined) { if (!ReflectionHelper.classExists(className, classLoader)) { getLog().warn("Class " + className + " defined in " + targetFile + " does not exist"); } } if (!alreadyDefined.containsAll(entityClasses)) { final Set<String> undefined = new TreeSet<>(); for (String className : entityClasses) { if (!alreadyDefined.contains(className)) { undefined.add(className); } } getLog() .warn( "The following classes was not defined in " + targetFile + " even " + "though they are available on the class path: " + Arrays.toString(undefined.toArray())); } // Don't add so we end up with duplicates entityClasses.removeAll(alreadyDefined); } }