/** * Recursively orders files based on dependencies. * * @param file The file to add to the list. */ private void order(JavaFile file) { if (file.isMain()) main = file; if (files.contains(file)) return; if (file.getPublicClass().hasParent()) order(file.getPublicClass().getParent().getFile()); files.add(file); }