docs: protected Map<File, File> getFiles() {
  		final Map<File, File> files = new TreeMap<>();
  		for (final String rootName : this.inferredSourceDirectories) {
  			File root = FileSystem.convertStringToFile(rootName);
  			if (!root.isAbsolute()) {
  				root = FileSystem.makeAbsolute(root, this.baseDirectory);
  			}
  			getLog().debug(MessageFormat.format(Messages.AbstractDocumentationMojo_4, root.getName()));
  			for (final File file : Files.fileTreeTraverser().breadthFirstTraversal(root)) {
  				if (file.exists() && file.isFile() && !file.isHidden() && file.canRead() && hasExtension(file)) {
  					files.put(file, root);
  				}
  			}
  		}
  		return files;
  	}