public void add(String filePath, String languageName, String moduleName, int lineCount) { // Get rid of Microsoft's incompatibility once and forever filePath = filePath.replace("\\", DIRECTORY_SEPARATOR); String folderPath = extractFolder(filePath); File file = new File(filePath, languageName, moduleName, lineCount); this.addFile(file); Folder folder = this.getFolder(folderPath); if (folder == null) { folder = new Folder(folderPath); this.addFolder(folder); } folder.addFile(file); Language language = this.getLanguage(languageName); if (language == null) { language = new Language(languageName); this.addLanguage(language); } language.addFile(file); Module module = getModule(moduleName); if (module == null) { module = new Module(moduleName); this.addModule(module); } module.addFile(file); }